On Wed, 05 Jun 2024, Markus Elfring wrote: > From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> > Date: Wed, 5 Jun 2024 16:19:26 +0200 > > 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@xxxxxxxxxxxxxxxxxxxxx> > --- > drivers/leds/rgb/leds-ncp5623.c | 16 ++++++++-------- > 1 file 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 @@ static int ncp5623_probe(struct i2c_client *client) > fwnode_handle_put(mc_node); > > return ret; > + > +release_led_node: > + fwnode_handle_put(led_node); > + goto release_mc_node; No, we're not bouncing around the function like that. Only use gotos to skip _down_ to error handling code please. > } > > static void ncp5623_remove(struct i2c_client *client) > -- > 2.45.1 > -- Lee Jones [李琼斯]