mtd: rbtx4939-flash.c: use mtd_device_parse_register
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Thu, 2 Jun 2011 14:00:04 +0000 (18:00 +0400)
committerArtem Bityutskiy <artem.bityutskiy@intel.com>
Sun, 11 Sep 2011 12:02:07 +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/maps/rbtx4939-flash.c

index 5d15b6b32265acc63f86c8aa4424fada2101a2eb..0237f197fd1238f553732f73a2db64ddba98c0f6 100644 (file)
@@ -25,8 +25,6 @@
 struct rbtx4939_flash_info {
        struct mtd_info *mtd;
        struct map_info map;
-       int nr_parts;
-       struct mtd_partition *parts;
 };
 
 static int rbtx4939_flash_remove(struct platform_device *dev)
@@ -41,8 +39,6 @@ static int rbtx4939_flash_remove(struct platform_device *dev)
        if (info->mtd) {
                struct rbtx4939_flash_data *pdata = dev->dev.platform_data;
 
-               if (info->nr_parts)
-                       kfree(info->parts);
                mtd_device_unregister(info->mtd);
                map_destroy(info->mtd);
        }
@@ -106,20 +102,11 @@ static int rbtx4939_flash_probe(struct platform_device *dev)
        info->mtd->owner = THIS_MODULE;
        if (err)
                goto err_out;
-       err = parse_mtd_partitions(info->mtd, NULL, &info->parts, 0);
-       if (err > 0) {
-               mtd_device_register(info->mtd, info->parts, err);
-               info->nr_parts = err;
-               return 0;
-       }
+       err = mtd_device_parse_register(info->mtd, NULL, 0,
+                       pdata->parts, pdata->nr_parts);
 
-       if (pdata->nr_parts) {
-               pr_notice("Using rbtx4939 partition information\n");
-               mtd_device_register(info->mtd, pdata->parts, pdata->nr_parts);
-               return 0;
-       }
-
-       mtd_device_register(info->mtd, NULL, 0);
+       if (err)
+               goto err_out;
        return 0;
 
 err_out: