Skip to content

Commit 4825963

Browse files
javiercarrascocruzlag-linaro
authored andcommitted
leds: rgb: ktd202x: 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 path. 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-17-95c0614b38c8@gmail.com Signed-off-by: Lee Jones <[email protected]>
1 parent 01728d0 commit 4825963

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

drivers/leds/rgb/leds-ktd202x.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,6 @@ static int ktd202x_add_led(struct ktd202x *chip, struct fwnode_handle *fwnode, u
495495

496496
static int ktd202x_probe_fw(struct ktd202x *chip)
497497
{
498-
struct fwnode_handle *child;
499498
struct device *dev = chip->dev;
500499
int count;
501500
int i = 0;
@@ -509,13 +508,12 @@ static int ktd202x_probe_fw(struct ktd202x *chip)
509508
/* Allow the device to execute the complete reset */
510509
usleep_range(200, 300);
511510

512-
device_for_each_child_node(dev, child) {
511+
device_for_each_child_node_scoped(dev, child) {
513512
int ret = ktd202x_add_led(chip, child, i);
514513

515-
if (ret) {
516-
fwnode_handle_put(child);
514+
if (ret)
517515
return ret;
518-
}
516+
519517
i++;
520518
}
521519

0 commit comments

Comments
 (0)