mtd: physmap_of: use ofpart through generic parsing
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Sun, 29 May 2011 21:02:21 +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/maps/physmap_of.c

index d251d1d..6a75743 100644 (file)
@@ -165,7 +165,8 @@ static struct mtd_info * __devinit obsolete_probe(struct platform_device *dev,
    specifies the list of partition probers to use. If none is given then the
    default is use. These take precedence over other device tree
    information. */
-static const char *part_probe_types_def[] = { "cmdlinepart", "RedBoot", NULL };
+static const char *part_probe_types_def[] = { "cmdlinepart", "RedBoot",
+                                       "ofpart", NULL };
 static const char ** __devinit of_get_probes(struct device_node *dp)
 {
        const char *cp;
@@ -218,6 +219,7 @@ static int __devinit of_flash_probe(struct platform_device *dev)
        int reg_tuple_size;
        struct mtd_info **mtd_list = NULL;
        resource_size_t res_size;
+       struct mtd_part_parser_data ppdata;
 
        match = of_match_device(of_flash_match, &dev->dev);
        if (!match)
@@ -331,21 +333,16 @@ static int __devinit of_flash_probe(struct platform_device *dev)
        if (err)
                goto err_out;
 
+       ppdata.of_node = dp;
        part_probe_types = of_get_probes(dp);
        err = parse_mtd_partitions(info->cmtd, part_probe_types,
-                                  &info->parts, 0);
+                                  &info->parts, &ppdata);
        if (err < 0) {
                of_free_probes(part_probe_types);
                goto err_out;
        }
        of_free_probes(part_probe_types);
 
-       if (err == 0) {
-               err = of_mtd_parse_partitions(&dev->dev, dp, &info->parts);
-               if (err < 0)
-                       goto err_out;
-       }
-
        if (err == 0) {
                err = parse_obsolete_partitions(dev, info, dp);
                if (err < 0)