]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
of: Simplify API of_find_node_with_property() implementation
authorZijun Hu <quic_zijuhu@quicinc.com>
Fri, 6 Dec 2024 00:52:36 +0000 (08:52 +0800)
committerRob Herring (Arm) <robh@kernel.org>
Tue, 10 Dec 2024 16:50:26 +0000 (10:50 -0600)
Simplify of_find_node_with_property() implementation
by __of_find_property().

Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
Link: https://lore.kernel.org/r/20241206-of_core_fix-v1-10-dc28ed56bec3@quicinc.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
drivers/of/base.c

index 7dc394255a0a14cd1aed02ec79c2f787a222b44c..d2d021f7cf5809b6e765c14911bda0df55f36ca9 100644 (file)
@@ -1026,19 +1026,15 @@ struct device_node *of_find_node_with_property(struct device_node *from,
        const char *prop_name)
 {
        struct device_node *np;
-       const struct property *pp;
        unsigned long flags;
 
        raw_spin_lock_irqsave(&devtree_lock, flags);
        for_each_of_allnodes_from(from, np) {
-               for (pp = np->properties; pp; pp = pp->next) {
-                       if (of_prop_cmp(pp->name, prop_name) == 0) {
-                               of_node_get(np);
-                               goto out;
-                       }
+               if (__of_find_property(np, prop_name, NULL)) {
+                       of_node_get(np);
+                       break;
                }
        }
-out:
        of_node_put(from);
        raw_spin_unlock_irqrestore(&devtree_lock, flags);
        return np;