]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
leds: qcom-lpg: Simplify with scoped for each OF child loop
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Fri, 16 Aug 2024 15:31:49 +0000 (17:31 +0200)
committerLee Jones <lee@kernel.org>
Thu, 22 Aug 2024 13:23:11 +0000 (14:23 +0100)
Use scoped for_each_available_child_of_node_scoped() when iterating over
device nodes to make code a bit simpler.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240816-cleanup-h-of-node-put-var-v1-17-1d0292802470@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/leds/rgb/leds-qcom-lpg.c

index e74b2ceed1c26d06567eaedb32b1a73fb201b594..f3c9ef2bfa572f9ee86c8b8aa37deb8231965490 100644 (file)
@@ -1368,7 +1368,6 @@ static int lpg_add_led(struct lpg *lpg, struct device_node *np)
 {
        struct led_init_data init_data = {};
        struct led_classdev *cdev;
-       struct device_node *child;
        struct mc_subled *info;
        struct lpg_led *led;
        const char *state;
@@ -1399,12 +1398,10 @@ static int lpg_add_led(struct lpg *lpg, struct device_node *np)
                if (!info)
                        return -ENOMEM;
                i = 0;
-               for_each_available_child_of_node(np, child) {
+               for_each_available_child_of_node_scoped(np, child) {
                        ret = lpg_parse_channel(lpg, child, &led->channels[i]);
-                       if (ret < 0) {
-                               of_node_put(child);
+                       if (ret < 0)
                                return ret;
-                       }
 
                        info[i].color_index = led->channels[i]->color;
                        info[i].intensity = 0;
@@ -1600,7 +1597,6 @@ static int lpg_init_sdam(struct lpg *lpg)
 
 static int lpg_probe(struct platform_device *pdev)
 {
-       struct device_node *np;
        struct lpg *lpg;
        int ret;
        int i;
@@ -1640,12 +1636,10 @@ static int lpg_probe(struct platform_device *pdev)
        if (ret < 0)
                return ret;
 
-       for_each_available_child_of_node(pdev->dev.of_node, np) {
+       for_each_available_child_of_node_scoped(pdev->dev.of_node, np) {
                ret = lpg_add_led(lpg, np);
-               if (ret) {
-                       of_node_put(np);
+               if (ret)
                        return ret;
-               }
        }
 
        for (i = 0; i < lpg->num_channels; i++)