diff options
author | Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> | 2024-08-16 17:31:48 +0200 |
---|---|---|
committer | Lee Jones <lee@kernel.org> | 2024-08-22 15:23:11 +0200 |
commit | 122d57e2960c81b6916a5ebe44bfb8c14ebe81de (patch) | |
tree | 9d88902225735c4d000466f25d2a6c7e1e06cf86 /drivers/leds/leds-turris-omnia.c | |
parent | leds: sc27xx: Simplify with scoped for each OF child loop (diff) | |
download | linux-122d57e2960c81b6916a5ebe44bfb8c14ebe81de.tar.xz linux-122d57e2960c81b6916a5ebe44bfb8c14ebe81de.zip |
leds: turris-omnia: Simplify with scoped for each OF child loop
Use scoped for_each_available_child_of_node_scoped() when iterating over
device nodes to make code a bit simpler.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Marek BehĂșn <kabel@kernel.org>
Link: https://lore.kernel.org/r/20240816-cleanup-h-of-node-put-var-v1-16-1d0292802470@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
Diffstat (limited to 'drivers/leds/leds-turris-omnia.c')
-rw-r--r-- | drivers/leds/leds-turris-omnia.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/leds/leds-turris-omnia.c b/drivers/leds/leds-turris-omnia.c index 39f740be058f..1ef942b5cefa 100644 --- a/drivers/leds/leds-turris-omnia.c +++ b/drivers/leds/leds-turris-omnia.c @@ -452,7 +452,7 @@ static int omnia_mcu_get_features(const struct i2c_client *client) static int omnia_leds_probe(struct i2c_client *client) { struct device *dev = &client->dev; - struct device_node *np = dev_of_node(dev), *child; + struct device_node *np = dev_of_node(dev); struct omnia_leds *leds; struct omnia_led *led; int ret, count; @@ -497,12 +497,10 @@ static int omnia_leds_probe(struct i2c_client *client) } led = &leds->leds[0]; - for_each_available_child_of_node(np, child) { + for_each_available_child_of_node_scoped(np, child) { ret = omnia_led_register(client, led, child); - if (ret < 0) { - of_node_put(child); + if (ret < 0) return ret; - } led += ret; } |