mtd: physmap_of: use OF helpers for reading strings
authorRafał Miłecki <rafal@milecki.pl>
Thu, 30 Mar 2017 15:58:53 +0000 (17:58 +0200)
committerBrian Norris <computersforpeace@gmail.com>
Wed, 19 Apr 2017 22:26:26 +0000 (15:26 -0700)
OF core code provides helpers for counting strings and reading them so
use them instead of doing this manually. This simplifies the code a bit.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/maps/physmap_of_core.c

index 14e8909c99555bb89a84f5c7671b3985b315c883..62fa6836f2186d04bfaf0c3e20e8ff3c505d190c 100644 (file)
@@ -116,32 +116,22 @@ static const char * const part_probe_types_def[] = {
 
 static const char * const *of_get_probes(struct device_node *dp)
 {
-       const char *cp;
-       int cplen;
-       unsigned int l;
-       unsigned int count;
        const char **res;
+       int count;
 
-       cp = of_get_property(dp, "linux,part-probe", &cplen);
-       if (cp == NULL)
+       count = of_property_count_strings(dp, "linux,part-probe");
+       if (count < 0)
                return part_probe_types_def;
 
-       count = 0;
-       for (l = 0; l != cplen; l++)
-               if (cp[l] == 0)
-                       count++;
-
-       res = kzalloc((count + 1)*sizeof(*res), GFP_KERNEL);
+       res = kzalloc((count + 1) * sizeof(*res), GFP_KERNEL);
        if (!res)
                return NULL;
-       count = 0;
-       while (cplen > 0) {
-               res[count] = cp;
-               l = strlen(cp) + 1;
-               cp += l;
-               cplen -= l;
-               count++;
-       }
+
+       count = of_property_read_string_array(dp, "linux,part-probe", res,
+                                             count);
+       if (count < 0)
+               return NULL;
+
        return res;
 }