Re: [PATCH v1 08/28] leds: lgm-sso: Put fwnode in any case during ->probe()

From: Andy Shevchenko
Date: Sat May 29 2021 - 05:37:16 EST


On Fri, May 28, 2021 at 1:08 PM Pavel Machek <pavel@xxxxxx> wrote:

> > @@ -734,10 +736,15 @@ static int sso_led_dt_parse(struct sso_led_priv *priv)
> > if (fw_ssoled) {
> > ret = __sso_led_dt_parse(priv, fw_ssoled);
> > if (ret)
> > - return ret;
> > + goto err_child_out;
> > }
> >
> > + fwnode_handle_put(fw_ssoled);
> > return 0;
> > +
> > +err_child_out:
> > + fwnode_handle_put(fw_ssoled);
> > + return ret;
> > }
>
> Just delete the return and you get the same effect, no? No need to
> have two exits here.

Okay, I have tried and neither result is better:
option 1. Add ret = 0, but keep the label
option 2. Assign 0 to ret at the definition stage and replace return
with break and remove return 0 (I don't like that ret assigned to 0 in
the definition block. It usually may lead to subtle errors)
option 3+. Something I missed which you see can be done?

Which one do you prefer?

--
With Best Regards,
Andy Shevchenko