]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
of/platform: Simplify with scoped for each OF child loop
authorKrzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Wed, 31 Dec 2025 12:09:27 +0000 (13:09 +0100)
committerRob Herring (Arm) <robh@kernel.org>
Wed, 4 Feb 2026 02:58:10 +0000 (20:58 -0600)
Use scoped for-each loop when iterating over device nodes to make code a
bit simpler.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20251231120926.66185-2-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
drivers/of/platform.c

index f77cb19973a5d1e1fd47e28848f2d1ec10dd3c52..d4e169b3b5af5bf58935f5ffd68b5430d2cc0d62 100644 (file)
@@ -394,7 +394,6 @@ int of_platform_bus_probe(struct device_node *root,
                          const struct of_device_id *matches,
                          struct device *parent)
 {
-       struct device_node *child;
        int rc = 0;
 
        root = root ? of_node_get(root) : of_find_node_by_path("/");
@@ -407,13 +406,13 @@ int of_platform_bus_probe(struct device_node *root,
        /* Do a self check of bus type, if there's a match, create children */
        if (of_match_node(matches, root)) {
                rc = of_platform_bus_create(root, matches, NULL, parent, false);
-       } else for_each_child_of_node(root, child) {
-               if (!of_match_node(matches, child))
-                       continue;
-               rc = of_platform_bus_create(child, matches, NULL, parent, false);
-               if (rc) {
-                       of_node_put(child);
-                       break;
+       } else {
+               for_each_child_of_node_scoped(root, child) {
+                       if (!of_match_node(matches, child))
+                               continue;
+                       rc = of_platform_bus_create(child, matches, NULL, parent, false);
+                       if (rc)
+                               break;
                }
        }