Message ID | 20220206220812.21471-1-u.kleine-koenig@pengutronix.de |
---|---|
State | New |
Headers | show |
Series | leds: lm3692x: Return 0 from remove callback | expand |
On Mon, Feb 7, 2022 at 5:08 PM Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote: > > The only difference between returning zero or a non-zero value is that > for the non-zero case the i2c will print a generic error message > ("remove failed (-ESOMETHING), will be ignored"). > > In this case however the driver itself already emitted a more helpful > error message, so the additional error message isn't helpful at all. > > The long-term goal is to make the i2c remove callback return void, making > all implementations return 0 is preparatory work for this change. ... > + lm3692x_leds_disable(led); Since it emits a message, perhaps converting it to void also can be done here. Otherwise what's the point to have it int?
On Mon, Feb 07, 2022 at 05:23:40PM +0200, Andy Shevchenko wrote: > On Mon, Feb 7, 2022 at 5:08 PM Uwe Kleine-König > <u.kleine-koenig@pengutronix.de> wrote: > > > > The only difference between returning zero or a non-zero value is that > > for the non-zero case the i2c will print a generic error message > > ("remove failed (-ESOMETHING), will be ignored"). > > > > In this case however the driver itself already emitted a more helpful > > error message, so the additional error message isn't helpful at all. > > > > The long-term goal is to make the i2c remove callback return void, making > > all implementations return 0 is preparatory work for this change. > > ... > > > + lm3692x_leds_disable(led); > > Since it emits a message, perhaps converting it to void also can be > done here. Otherwise what's the point to have it int? There is another caller (lm3692x_leds_disable) where the return value is used. So I didn't convert it to return void. Best regards Uwe
Hi! > The only difference between returning zero or a non-zero value is that > for the non-zero case the i2c will print a generic error message > ("remove failed (-ESOMETHING), will be ignored"). > > In this case however the driver itself already emitted a more helpful > error message, so the additional error message isn't helpful at all. > > The long-term goal is to make the i2c remove callback return void, making > all implementations return 0 is preparatory work for this change. Thanks, applied. Pavel
diff --git a/drivers/leds/leds-lm3692x.c b/drivers/leds/leds-lm3692x.c index afe6fb297855..87cd24ce3f95 100644 --- a/drivers/leds/leds-lm3692x.c +++ b/drivers/leds/leds-lm3692x.c @@ -494,11 +494,8 @@ static int lm3692x_probe(struct i2c_client *client, static int lm3692x_remove(struct i2c_client *client) { struct lm3692x_led *led = i2c_get_clientdata(client); - int ret; - ret = lm3692x_leds_disable(led); - if (ret) - return ret; + lm3692x_leds_disable(led); mutex_destroy(&led->lock); return 0;
The only difference between returning zero or a non-zero value is that for the non-zero case the i2c will print a generic error message ("remove failed (-ESOMETHING), will be ignored"). In this case however the driver itself already emitted a more helpful error message, so the additional error message isn't helpful at all. The long-term goal is to make the i2c remove callback return void, making all implementations return 0 is preparatory work for this change. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> --- drivers/leds/leds-lm3692x.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) base-commit: dcb85f85fa6f142aae1fe86f399d4503d49f2b60