Message ID | 20240828032343.1218749-7-ruanjinjie@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | net: Simplified with scoped function | expand |
On Wed, 28 Aug 2024 11:23:36 +0800 Jinjie Ruan <ruanjinjie@huawei.com> wrote: > Avoid need to manually handle of_node_put() by using > for_each_available_child_of_node_scoped(), which can simplfy code. > > Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> Ah. I see Andrew mentioned he didn't like the __free change hence you've only done this one. Fair enough I guess. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > --- > - Split into 2 patches. > --- > drivers/net/phy/phy_device.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c > index 243dae686992..560e338b307a 100644 > --- a/drivers/net/phy/phy_device.c > +++ b/drivers/net/phy/phy_device.c > @@ -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); > of_node_put(leds); > phy_leds_unregister(phydev); > return err;
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 243dae686992..560e338b307a 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -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); of_node_put(leds); phy_leds_unregister(phydev); return err;
Avoid need to manually handle of_node_put() by using for_each_available_child_of_node_scoped(), which can simplfy code. Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> --- - Split into 2 patches. --- drivers/net/phy/phy_device.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)