diff options
author | Markus Elfring <elfring@users.sourceforge.net> | 2024-06-05 16:19:26 +0200 |
---|---|---|
committer | Lee Jones <lee@kernel.org> | 2024-06-26 17:56:02 +0200 |
commit | e1524a62991f284b3a552c009759ea126d7a096a (patch) | |
tree | 52e15815aa73cd27809a9a5e1213c54f2af22744 /drivers/leds | |
parent | leds: core: Omit set_brightness error message for a LED supporting hw trigger... (diff) | |
download | linux-e1524a62991f284b3a552c009759ea126d7a096a.tar.xz linux-e1524a62991f284b3a552c009759ea126d7a096a.zip |
leds: ncp5623: Use common error handling code in ncp5623_probe()
Add a label so that a bit of exception handling can be better reused
at the end of this function implementation.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Link: https://lore.kernel.org/r/5faec5de-fc36-4b38-abcb-c61954a824cd@web.de
Signed-off-by: Lee Jones <lee@kernel.org>
Diffstat (limited to 'drivers/leds')
-rw-r--r-- | drivers/leds/rgb/leds-ncp5623.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/leds/rgb/leds-ncp5623.c b/drivers/leds/rgb/leds-ncp5623.c index 2be4ff918516..f18156683375 100644 --- a/drivers/leds/rgb/leds-ncp5623.c +++ b/drivers/leds/rgb/leds-ncp5623.c @@ -183,16 +183,12 @@ static int ncp5623_probe(struct i2c_client *client) fwnode_for_each_available_child_node(mc_node, led_node) { ret = fwnode_property_read_u32(led_node, "color", &color_index); - if (ret) { - fwnode_handle_put(led_node); - goto release_mc_node; - } + if (ret) + goto release_led_node; ret = fwnode_property_read_u32(led_node, "reg", ®); - if (ret) { - fwnode_handle_put(led_node); - goto release_mc_node; - } + if (ret) + goto release_led_node; subled_info[ncp->mc_dev.num_colors].channel = reg; subled_info[ncp->mc_dev.num_colors++].color_index = color_index; @@ -223,6 +219,10 @@ release_mc_node: fwnode_handle_put(mc_node); return ret; + +release_led_node: + fwnode_handle_put(led_node); + goto release_mc_node; } static void ncp5623_remove(struct i2c_client *client) |