]> git.karo-electronics.de Git - linux-beck.git/commitdiff
mtd: mtd_dataflash.c: use mtd_device_parse_register
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Thu, 2 Jun 2011 13:59:18 +0000 (17:59 +0400)
committerArtem Bityutskiy <artem.bityutskiy@intel.com>
Sun, 11 Sep 2011 12:02:10 +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/devices/mtd_dataflash.c

index 4d4a9cd10c337d355ced98c0552243b35812ba21..8f6b02c43b4359bf146b90f1d5ca81be9ceb5f8c 100644 (file)
@@ -637,8 +637,6 @@ add_dataflash_otp(struct spi_device *spi, char *name,
        struct flash_platform_data      *pdata = spi->dev.platform_data;
        char                            *otp_tag = "";
        int                             err = 0;
-       struct mtd_partition            *parts;
-       int                             nr_parts = 0;
 
        priv = kzalloc(sizeof *priv, GFP_KERNEL);
        if (!priv)
@@ -677,23 +675,10 @@ add_dataflash_otp(struct spi_device *spi, char *name,
                        pagesize, otp_tag);
        dev_set_drvdata(&spi->dev, priv);
 
-       nr_parts = parse_mtd_partitions(device, NULL, &parts, 0);
+       err = mtd_device_parse_register(device, NULL, 0,
+                       pdata ? pdata->parts : NULL,
+                       pdata ? pdata->nr_parts : 0);
 
-       if (nr_parts <= 0 && pdata && pdata->parts) {
-               parts = pdata->parts;
-               nr_parts = pdata->nr_parts;
-       }
-
-       if (nr_parts > 0) {
-               priv->partitioned = 1;
-               err = mtd_device_register(device, parts, nr_parts);
-               goto out;
-       }
-
-       if (mtd_device_register(device, NULL, 0) == 1)
-               err = -ENODEV;
-
-out:
        if (!err)
                return 0;