mtd: fsl_elbc_nand: use ofpart through generic parsing
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Sun, 29 May 2011 21:02:22 +0000 (01:02 +0400)
committerArtem Bityutskiy <artem.bityutskiy@intel.com>
Sun, 11 Sep 2011 12:02:11 +0000 (15:02 +0300)
Convert the driver to use ofpart partitions parsing through the generic
parse_mtd_partitions().

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Artem Bityutskiy <dedekind1@gmail.com>
drivers/mtd/nand/fsl_elbc_nand.c

index d4ea5fe..4d225ba 100644 (file)
@@ -842,13 +842,15 @@ static int __devinit fsl_elbc_nand_probe(struct platform_device *pdev)
        struct resource res;
        struct fsl_elbc_fcm_ctrl *elbc_fcm_ctrl;
        static const char *part_probe_types[]
-               = { "cmdlinepart", "RedBoot", NULL };
+               = { "cmdlinepart", "RedBoot", "ofpart", NULL };
        struct mtd_partition *parts;
        int ret;
        int bank;
        struct device *dev;
        struct device_node *node = pdev->dev.of_node;
+       struct mtd_part_parser_data ppdata;
 
+       ppdata.of_node = pdev->dev.of_node;
        if (!fsl_lbc_ctrl_dev || !fsl_lbc_ctrl_dev->regs)
                return -ENODEV;
        lbc = fsl_lbc_ctrl_dev->regs;
@@ -934,16 +936,10 @@ static int __devinit fsl_elbc_nand_probe(struct platform_device *pdev)
 
        /* First look for RedBoot table or partitions on the command
         * line, these take precedence over device tree information */
-       ret = parse_mtd_partitions(&priv->mtd, part_probe_types, &parts, 0);
+       ret = parse_mtd_partitions(&priv->mtd, part_probe_types, &parts, &ppdata);
        if (ret < 0)
                goto err;
 
-       if (ret == 0) {
-               ret = of_mtd_parse_partitions(priv->dev, node, &parts);
-               if (ret < 0)
-                       goto err;
-       }
-
        mtd_device_register(&priv->mtd, parts, ret);
 
        printk(KERN_INFO "eLBC NAND device at 0x%llx, bank %d\n",