]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
of: use kbasename instead of open coding
authorRob Herring <robh@kernel.org>
Thu, 1 Jun 2017 23:00:00 +0000 (18:00 -0500)
committerRob Herring <robh@kernel.org>
Thu, 22 Jun 2017 17:37:46 +0000 (12:37 -0500)
Several places in DT code open code the equivalent of kbasename.
Replace them.

The behavior for root nodes in node_name_cmp will be slightly different.
Instead of comparing "/", "" will be compared. The comparison will be
the same.

Reviewed-by: Andy Shevchenko <andy.shevhchenko@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/of/base.c
drivers/of/platform.c
drivers/of/resolver.c

index 974d51269a0212527190ad1580bf4d116db51855..74b0a27dab9f40522965b382a489452faeeefe65 100644 (file)
@@ -773,10 +773,7 @@ static struct device_node *__of_find_node_by_path(struct device_node *parent,
                return NULL;
 
        __for_each_child_of_node(parent, child) {
-               const char *name = strrchr(child->full_name, '/');
-               if (WARN(!name, "malformed device_node %s\n", child->full_name))
-                       continue;
-               name++;
+               const char *name = kbasename(child->full_name);
                if (strncmp(path, name, len) == 0 && (strlen(name) == len))
                        return child;
        }
index 71fecc2debfc940affba38afc6c912f3a4aa8b4b..8f73413fa2430b5a630122683e3b450a7360e5ba 100644 (file)
@@ -99,7 +99,7 @@ static void of_device_make_bus_id(struct device *dev)
 
                /* format arguments only used if dev_name() resolves to NULL */
                dev_set_name(dev, dev_name(dev) ? "%s:%s" : "%s",
-                            strrchr(node->full_name, '/') + 1, dev_name(dev));
+                            kbasename(node->full_name), dev_name(dev));
                node = node->parent;
        }
 }
index 771f4844c781e76474f475fcf86bf87225e2dfd9..63626d7d9adbfcaacf4a9f0c7cc31a3e5a5e5a72 100644 (file)
@@ -165,8 +165,8 @@ err_fail:
 static int node_name_cmp(const struct device_node *dn1,
                const struct device_node *dn2)
 {
-       const char *n1 = strrchr(dn1->full_name, '/') ? : "/";
-       const char *n2 = strrchr(dn2->full_name, '/') ? : "/";
+       const char *n1 = kbasename(dn1->full_name);
+       const char *n2 = kbasename(dn2->full_name);
 
        return of_node_cmp(n1, n2);
 }