mtd: mxc_nand.c: use mtd_device_parse_register
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Thu, 2 Jun 2011 14:00:43 +0000 (18:00 +0400)
committerArtem Bityutskiy <artem.bityutskiy@intel.com>
Sun, 11 Sep 2011 12:02:09 +0000 (15:02 +0300)
Replace custom invocations of parse_mtd_partitions and mtd_device_register
with common mtd_device_parse_register call. This would bring: standard
handling of all errors, fallback to default partitions, etc.

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

index ca42c8f335b38a3b87000f79af6bc5c87bae54dd..4c2bb4a4bf0b8d8d35f515d70c9999f026289bb0 100644 (file)
 struct mxc_nand_host {
        struct mtd_info         mtd;
        struct nand_chip        nand;
-       struct mtd_partition    *parts;
        struct device           *dev;
 
        void                    *spare0;
@@ -1044,7 +1043,7 @@ static int __init mxcnd_probe(struct platform_device *pdev)
        struct mxc_nand_platform_data *pdata = pdev->dev.platform_data;
        struct mxc_nand_host *host;
        struct resource *res;
-       int err = 0, __maybe_unused nr_parts = 0;
+       int err = 0;
        struct nand_ecclayout *oob_smallpage, *oob_largepage;
 
        /* Allocate memory for MTD device structure and private data */
@@ -1231,16 +1230,8 @@ static int __init mxcnd_probe(struct platform_device *pdev)
        }
 
        /* Register the partitions */
-       nr_parts =
-           parse_mtd_partitions(mtd, part_probes, &host->parts, 0);
-       if (nr_parts > 0)
-               mtd_device_register(mtd, host->parts, nr_parts);
-       else if (pdata->parts)
-               mtd_device_register(mtd, pdata->parts, pdata->nr_parts);
-       else {
-               pr_info("Registering %s as whole device\n", mtd->name);
-               mtd_device_register(mtd, NULL, 0);
-       }
+       mtd_device_parse_register(mtd, part_probes, 0,
+                       pdata->parts, pdata->nr_parts);
 
        platform_set_drvdata(pdev, host);