Skip to content

Commit a361af3

Browse files
javiercarrascocruzlag-linaro
authored andcommitted
leds: aw200xx: Switch to device_for_each_child_node_scoped()
Switch to device_for_each_child_node_scoped() to simplify the code by removing the need for calls to fwnode_handle_put() in the error paths. This also prevents possible memory leaks if new error paths are added without the required call to fwnode_handle_put(). Signed-off-by: Javier Carrasco <[email protected]> Link: https://lore.kernel.org/r/20240927-leds_device_for_each_child_node_scoped-v1-4-95c0614b38c8@gmail.com Signed-off-by: Lee Jones <[email protected]>
1 parent f64dd42 commit a361af3

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

drivers/leds/leds-aw200xx.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,6 @@ static int aw200xx_probe_get_display_rows(struct device *dev,
409409

410410
static int aw200xx_probe_fw(struct device *dev, struct aw200xx *chip)
411411
{
412-
struct fwnode_handle *child;
413412
u32 current_min, current_max, min_uA;
414413
int ret;
415414
int i;
@@ -424,7 +423,7 @@ static int aw200xx_probe_fw(struct device *dev, struct aw200xx *chip)
424423
min_uA = UINT_MAX;
425424
i = 0;
426425

427-
device_for_each_child_node(dev, child) {
426+
device_for_each_child_node_scoped(dev, child) {
428427
struct led_init_data init_data = {};
429428
struct aw200xx_led *led;
430429
u32 source, imax;
@@ -468,10 +467,8 @@ static int aw200xx_probe_fw(struct device *dev, struct aw200xx *chip)
468467

469468
ret = devm_led_classdev_register_ext(dev, &led->cdev,
470469
&init_data);
471-
if (ret) {
472-
fwnode_handle_put(child);
470+
if (ret)
473471
break;
474-
}
475472

476473
i++;
477474
}

0 commit comments

Comments
 (0)