diff mbox series

[16/17] leds: turris-omnia: Simplify with scoped for each OF child loop

Message ID 20240816-cleanup-h-of-node-put-var-v1-16-1d0292802470@linaro.org (mailing list archive)
State New, archived
Headers show
Series leds: Use scoped device node handling to simplify error paths | expand

Commit Message

Krzysztof Kozlowski Aug. 16, 2024, 3:31 p.m. UTC
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>
---
 drivers/leds/leds-turris-omnia.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

Comments

Marek BehĂșn Aug. 19, 2024, 10:30 a.m. UTC | #1
Reviewed-by: Marek BehĂșn <kabel@kernel.org>

On Fri, Aug 16, 2024 at 05:31:48PM +0200, Krzysztof Kozlowski wrote:
> 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>
> ---
>  drivers/leds/leds-turris-omnia.c | 8 +++-----
>  1 file 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;
>  	}
> 
> -- 
> 2.43.0
>
diff mbox series

Patch

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;
 	}