Merge git://git.infradead.org/mtd-2.6
[pandora-kernel.git] / drivers / mtd / nand / ndfc.c
index b983cae..510554e 100644 (file)
@@ -35,7 +35,7 @@
 
 
 struct ndfc_controller {
-       struct of_device *ofdev;
+       struct platform_device *ofdev;
        void __iomem *ndfcbase;
        struct mtd_info mtd;
        struct nand_chip chip;
@@ -225,7 +225,7 @@ err:
        return ret;
 }
 
-static int __devinit ndfc_probe(struct of_device *ofdev,
+static int __devinit ndfc_probe(struct platform_device *ofdev,
                                const struct of_device_id *match)
 {
        struct ndfc_controller *ndfc = &ndfc_ctrl;
@@ -239,14 +239,14 @@ static int __devinit ndfc_probe(struct of_device *ofdev,
        dev_set_drvdata(&ofdev->dev, ndfc);
 
        /* Read the reg property to get the chip select */
-       reg = of_get_property(ofdev->node, "reg", &len);
+       reg = of_get_property(ofdev->dev.of_node, "reg", &len);
        if (reg == NULL || len != 12) {
                dev_err(&ofdev->dev, "unable read reg property (%d)\n", len);
                return -ENOENT;
        }
        ndfc->chip_select = reg[0];
 
-       ndfc->ndfcbase = of_iomap(ofdev->node, 0);
+       ndfc->ndfcbase = of_iomap(ofdev->dev.of_node, 0);
        if (!ndfc->ndfcbase) {
                dev_err(&ofdev->dev, "failed to get memory\n");
                return -EIO;
@@ -255,20 +255,20 @@ static int __devinit ndfc_probe(struct of_device *ofdev,
        ccr = NDFC_CCR_BS(ndfc->chip_select);
 
        /* It is ok if ccr does not exist - just default to 0 */
-       reg = of_get_property(ofdev->node, "ccr", NULL);
+       reg = of_get_property(ofdev->dev.of_node, "ccr", NULL);
        if (reg)
                ccr |= *reg;
 
        out_be32(ndfc->ndfcbase + NDFC_CCR, ccr);
 
        /* Set the bank settings if given */
-       reg = of_get_property(ofdev->node, "bank-settings", NULL);
+       reg = of_get_property(ofdev->dev.of_node, "bank-settings", NULL);
        if (reg) {
                int offset = NDFC_BCFG0 + (ndfc->chip_select << 2);
                out_be32(ndfc->ndfcbase + offset, *reg);
        }
 
-       err = ndfc_chip_init(ndfc, ofdev->node);
+       err = ndfc_chip_init(ndfc, ofdev->dev.of_node);
        if (err) {
                iounmap(ndfc->ndfcbase);
                return err;
@@ -277,7 +277,7 @@ static int __devinit ndfc_probe(struct of_device *ofdev,
        return 0;
 }
 
-static int __devexit ndfc_remove(struct of_device *ofdev)
+static int __devexit ndfc_remove(struct platform_device *ofdev)
 {
        struct ndfc_controller *ndfc = dev_get_drvdata(&ofdev->dev);
 
@@ -294,9 +294,10 @@ MODULE_DEVICE_TABLE(of, ndfc_match);
 
 static struct of_platform_driver ndfc_driver = {
        .driver = {
-               .name   = "ndfc",
+               .name = "ndfc",
+               .owner = THIS_MODULE,
+               .of_match_table = ndfc_match,
        },
-       .match_table = ndfc_match,
        .probe = ndfc_probe,
        .remove = __devexit_p(ndfc_remove),
 };