net: dsa: realtek: Use for_each_child_of_node_scoped()
authorJinjie Ruan <ruanjinjie@huawei.com>
Fri, 30 Aug 2024 03:13:19 +0000 (11:13 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 3 Sep 2024 10:54:43 +0000 (12:54 +0200)
Avoid need to manually handle of_node_put() by using
for_each_child_of_node_scoped(), which can simplfy code.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/dsa/realtek/rtl8366rb.c

index 9e821b42e5f37c8c15ed2266409f35b97b0a4233..11243f89c98acc4a0b26d38f24d9765a8d4e2421 100644 (file)
@@ -1009,8 +1009,8 @@ static int rtl8366rb_setup_all_leds_off(struct realtek_priv *priv)
 
 static int rtl8366rb_setup_leds(struct realtek_priv *priv)
 {
-       struct device_node *leds_np, *led_np;
        struct dsa_switch *ds = &priv->ds;
+       struct device_node *leds_np;
        struct dsa_port *dp;
        int ret = 0;
 
@@ -1025,13 +1025,11 @@ static int rtl8366rb_setup_leds(struct realtek_priv *priv)
                        continue;
                }
 
-               for_each_child_of_node(leds_np, led_np) {
+               for_each_child_of_node_scoped(leds_np, led_np) {
                        ret = rtl8366rb_setup_led(priv, dp,
                                                  of_fwnode_handle(led_np));
-                       if (ret) {
-                               of_node_put(led_np);
+                       if (ret)
                                break;
-                       }
                }
 
                of_node_put(leds_np);