2022-07-05 10:14:32

by Jean Delvare

[permalink] [raw]
Subject: Re: [PATCH 6/6] i2c: Make remove callback return void

On Tue, 28 Jun 2022 16:03:12 +0200, Uwe Kleine-König wrote:
> From: Uwe Kleine-König <[email protected]>
>
> The value returned by an i2c driver's remove function is mostly ignored.
> (Only an error message is printed if the value is non-zero that the
> error is ignored.)
>
> So change the prototype of the remove function to return no value. This
> way driver authors are not tempted to assume that passing an error to
> the upper layer is a good idea. All drivers are adapted accordingly.
> There is no intended change of behaviour, all callbacks were prepared to
> return 0 before.
>
> Signed-off-by: Uwe Kleine-König <[email protected]>
> ---

That's a huge change for a relatively small benefit, but if this is
approved by the I2C core maintainer then fine with me. For:

> drivers/hwmon/adc128d818.c | 4 +---
> drivers/hwmon/adt7470.c | 3 +--
> drivers/hwmon/asb100.c | 6 ++----
> drivers/hwmon/asc7621.c | 4 +---
> drivers/hwmon/dme1737.c | 4 +---
> drivers/hwmon/f75375s.c | 5 ++---
> drivers/hwmon/fschmd.c | 6 ++----
> drivers/hwmon/ftsteutates.c | 3 +--
> drivers/hwmon/ina209.c | 4 +---
> drivers/hwmon/ina3221.c | 4 +---
> drivers/hwmon/jc42.c | 3 +--
> drivers/hwmon/mcp3021.c | 4 +---
> drivers/hwmon/occ/p8_i2c.c | 4 +---
> drivers/hwmon/pcf8591.c | 3 +--
> drivers/hwmon/smm665.c | 3 +--
> drivers/hwmon/tps23861.c | 4 +---
> drivers/hwmon/w83781d.c | 4 +---
> drivers/hwmon/w83791d.c | 6 ++----
> drivers/hwmon/w83792d.c | 6 ++----
> drivers/hwmon/w83793.c | 6 ++----
> drivers/hwmon/w83795.c | 4 +---
> drivers/hwmon/w83l785ts.c | 6 ++----
> drivers/i2c/i2c-core-base.c | 6 +-----
> drivers/i2c/i2c-slave-eeprom.c | 4 +---
> drivers/i2c/i2c-slave-testunit.c | 3 +--
> drivers/i2c/i2c-smbus.c | 3 +--
> drivers/i2c/muxes/i2c-mux-ltc4306.c | 4 +---
> drivers/i2c/muxes/i2c-mux-pca9541.c | 3 +--
> drivers/i2c/muxes/i2c-mux-pca954x.c | 3 +--

Reviewed-by: Jean Delvare <[email protected]>

--
Jean Delvare
SUSE L3 Support


2022-07-05 10:38:25

by Uwe Kleine-König

[permalink] [raw]
Subject: Re: [PATCH 6/6] i2c: Make remove callback return void

On Tue, Jul 05, 2022 at 12:08:52PM +0200, Jean Delvare wrote:
> On Tue, 28 Jun 2022 16:03:12 +0200, Uwe Kleine-K?nig wrote:
> > From: Uwe Kleine-K?nig <[email protected]>
> >
> > The value returned by an i2c driver's remove function is mostly ignored.
> > (Only an error message is printed if the value is non-zero that the
> > error is ignored.)
> >
> > So change the prototype of the remove function to return no value. This
> > way driver authors are not tempted to assume that passing an error to
> > the upper layer is a good idea. All drivers are adapted accordingly.
> > There is no intended change of behaviour, all callbacks were prepared to
> > return 0 before.
> >
> > Signed-off-by: Uwe Kleine-K?nig <[email protected]>
> > ---
>
> That's a huge change for a relatively small benefit, but if this is
> approved by the I2C core maintainer then fine with me. For:

Agreed, it's huge. The benefit isn't really measureable, the motivation
is to improve the situation for driver authors who with the change
cannot make wrong assumptions about what to return in .remove(). During
the preparation this uncovered a few bugs. See for example
bbc126ae381cf0a27822c1f822d0aeed74cc40d9.

> > drivers/hwmon/adc128d818.c | 4 +---
> > drivers/hwmon/adt7470.c | 3 +--
> > drivers/hwmon/asb100.c | 6 ++----
> > drivers/hwmon/asc7621.c | 4 +---
> > drivers/hwmon/dme1737.c | 4 +---
> > drivers/hwmon/f75375s.c | 5 ++---
> > drivers/hwmon/fschmd.c | 6 ++----
> > drivers/hwmon/ftsteutates.c | 3 +--
> > drivers/hwmon/ina209.c | 4 +---
> > drivers/hwmon/ina3221.c | 4 +---
> > drivers/hwmon/jc42.c | 3 +--
> > drivers/hwmon/mcp3021.c | 4 +---
> > drivers/hwmon/occ/p8_i2c.c | 4 +---
> > drivers/hwmon/pcf8591.c | 3 +--
> > drivers/hwmon/smm665.c | 3 +--
> > drivers/hwmon/tps23861.c | 4 +---
> > drivers/hwmon/w83781d.c | 4 +---
> > drivers/hwmon/w83791d.c | 6 ++----
> > drivers/hwmon/w83792d.c | 6 ++----
> > drivers/hwmon/w83793.c | 6 ++----
> > drivers/hwmon/w83795.c | 4 +---
> > drivers/hwmon/w83l785ts.c | 6 ++----
> > drivers/i2c/i2c-core-base.c | 6 +-----
> > drivers/i2c/i2c-slave-eeprom.c | 4 +---
> > drivers/i2c/i2c-slave-testunit.c | 3 +--
> > drivers/i2c/i2c-smbus.c | 3 +--
> > drivers/i2c/muxes/i2c-mux-ltc4306.c | 4 +---
> > drivers/i2c/muxes/i2c-mux-pca9541.c | 3 +--
> > drivers/i2c/muxes/i2c-mux-pca954x.c | 3 +--
>
> Reviewed-by: Jean Delvare <[email protected]>

Thanks
Uwe

--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | https://www.pengutronix.de/ |


Attachments:
(No filename) (3.50 kB)
signature.asc (499.00 B)
Download all attachments