From 4805e5ec50d0b355370e3d1ea906af4fc758accf Mon Sep 17 00:00:00 2001 From: Manush Prajwal Date: Fri, 28 Aug 2026 14:30:13 +0530 Subject: [PATCH] leds: max77705: Use fwnode_for_each_child_node_scoped() in max77705_add_led() Rework the subled loop in max77705_add_led() around fwnode_for_each_child_node_scoped() instead of adding a manual fwnode_handle_put(child) before the early return on a max77705_parse_subled() failure, so the reference on the current child fwnode is released automatically on every exit path from the loop. child is never used outside the loop, so the now-unused outer child declaration is dropped along with it. Suggested-by: Krzysztof Kozlowski Fixes: 3b6eaa3db567 ("leds: Use fwnode_for_each_child_node() instead") Signed-off-by: Manush Prajwal Reviewed-by: Krzysztof Kozlowski Link: https://patch.msgid.link/6a914e1e.7d702ed2.1273e8.2a52@mx.google.com Signed-off-by: Lee Jones --- drivers/leds/leds-max77705.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/leds/leds-max77705.c b/drivers/leds/leds-max77705.c index 1e2054c1bf80..4fd803c95989 100644 --- a/drivers/leds/leds-max77705.c +++ b/drivers/leds/leds-max77705.c @@ -160,7 +160,6 @@ static int max77705_add_led(struct device *dev, struct regmap *regmap, struct fw struct max77705_led *led; struct led_classdev *cdev; struct mc_subled *info; - struct fwnode_handle *child; struct led_init_data init_data = {}; led = devm_kzalloc(dev, sizeof(*led), GFP_KERNEL); @@ -191,7 +190,7 @@ static int max77705_add_led(struct device *dev, struct regmap *regmap, struct fw cdev->brightness_set_blocking = max77705_led_brightness_set_multi; cdev->blink_set = max77705_rgb_blink; - fwnode_for_each_child_node(np, child) { + fwnode_for_each_child_node_scoped(np, child) { ret = max77705_parse_subled(dev, child, &info[i]); if (ret < 0) return ret;