net: phy: Use for_each_available_child_of_node_scoped()
authorJinjie Ruan <ruanjinjie@huawei.com>
Fri, 30 Aug 2024 03:13:20 +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_available_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: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/phy/phy_device.c

index 8f5314c1fecc57142c4fd61c27faf572d934ee13..7c4a09455493c18c0feaafb0049f6b34bc36cca4 100644 (file)
@@ -3407,7 +3407,7 @@ static int of_phy_led(struct phy_device *phydev,
 static int of_phy_leds(struct phy_device *phydev)
 {
        struct device_node *node = phydev->mdio.dev.of_node;
-       struct device_node *leds, *led;
+       struct device_node *leds;
        int err;
 
        if (!IS_ENABLED(CONFIG_OF_MDIO))
@@ -3420,10 +3420,9 @@ static int of_phy_leds(struct phy_device *phydev)
        if (!leds)
                return 0;
 
-       for_each_available_child_of_node(leds, led) {
+       for_each_available_child_of_node_scoped(leds, led) {
                err = of_phy_led(phydev, led);
                if (err) {
-                       of_node_put(led);
                        phy_leds_unregister(phydev);
                        return err;
                }