mbox series

[0/8] iio: Improve error reporting for problems during .remove for various i2c drivers

Message ID 20220515155929.338656-1-u.kleine-koenig@pengutronix.de (mailing list archive)
Headers show
Series iio: Improve error reporting for problems during .remove for various i2c drivers | expand

Message

Uwe Kleine-König May 15, 2022, 3:59 p.m. UTC
Hello,

the goal of this series is to improve the error messages emitted by
remove callbacks by several i2c drivers. The status quo is that these
might return an error code silently to the i2c core on remove. The
effect is a very unhelpful message:

	$bus $device: remove failed (EIO), will be ignored

. Note there is no further error handling and the device will be
removed, all devm cleanups are called.

With the patches from this series applied the emitted message better
tells what actually failed and the remove callback returns zero
unconditionally.

The motivation for this change is to make i2c remove callbacks return
void. The ability to return a value is misleading as driver authors
might expect some kind of error handling from the i2c core.

Best regards
Uwe

Uwe Kleine-König (8):
  iio:adc:ina2xx: Improve error reporting for problems during .remove()
  iio:adc:ti-ads1015: Improve error reporting for problems during
    .remove()
  iio:chemical:atlas: Improve error reporting for problems during
    .remove()
  iio:chemical:ccs811: Improve error reporting for problems during
    .remove()
  iio:light:pa12203001: Improve error reporting for problems during
    .remove()
  iio:light:us5182d: Improve error reporting for problems during
    .remove()
  iio:light:vcnl4000: Improve error reporting for problems during
    .remove()
  iio:light:vcnl4035: Improve error reporting for problems during
    .remove()

 drivers/iio/adc/ina2xx-adc.c        | 10 ++++++++--
 drivers/iio/adc/ti-ads1015.c        |  8 +++++++-
 drivers/iio/chemical/atlas-sensor.c |  8 +++++++-
 drivers/iio/chemical/ccs811.c       | 10 ++++++++--
 drivers/iio/light/pa12203001.c      |  8 +++++++-
 drivers/iio/light/us5182d.c         |  8 +++++++-
 drivers/iio/light/vcnl4000.c        |  8 +++++++-
 drivers/iio/light/vcnl4035.c        | 10 ++++++++--
 8 files changed, 59 insertions(+), 11 deletions(-)


base-commit: 3123109284176b1532874591f7c81f3837bbdc17

Comments

Jonathan Cameron May 15, 2022, 5:05 p.m. UTC | #1
On Sun, 15 May 2022 17:59:21 +0200
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote:

> Hello,
> 
> the goal of this series is to improve the error messages emitted by
> remove callbacks by several i2c drivers. The status quo is that these
> might return an error code silently to the i2c core on remove. The
> effect is a very unhelpful message:
> 
> 	$bus $device: remove failed (EIO), will be ignored
> 
> . Note there is no further error handling and the device will be
> removed, all devm cleanups are called.
> 
> With the patches from this series applied the emitted message better
> tells what actually failed and the remove callback returns zero
> unconditionally.
> 
> The motivation for this change is to make i2c remove callbacks return
> void. The ability to return a value is misleading as driver authors
> might expect some kind of error handling from the i2c core.

All look good to me, but I'll leave them on list for a little while
to let others take a look.  Give me a poke if I seem to have lost them
(it's been known to happen :( )

Thanks,

Jonathan

> 
> Best regards
> Uwe
> 
> Uwe Kleine-König (8):
>   iio:adc:ina2xx: Improve error reporting for problems during .remove()
>   iio:adc:ti-ads1015: Improve error reporting for problems during
>     .remove()
>   iio:chemical:atlas: Improve error reporting for problems during
>     .remove()
>   iio:chemical:ccs811: Improve error reporting for problems during
>     .remove()
>   iio:light:pa12203001: Improve error reporting for problems during
>     .remove()
>   iio:light:us5182d: Improve error reporting for problems during
>     .remove()
>   iio:light:vcnl4000: Improve error reporting for problems during
>     .remove()
>   iio:light:vcnl4035: Improve error reporting for problems during
>     .remove()
> 
>  drivers/iio/adc/ina2xx-adc.c        | 10 ++++++++--
>  drivers/iio/adc/ti-ads1015.c        |  8 +++++++-
>  drivers/iio/chemical/atlas-sensor.c |  8 +++++++-
>  drivers/iio/chemical/ccs811.c       | 10 ++++++++--
>  drivers/iio/light/pa12203001.c      |  8 +++++++-
>  drivers/iio/light/us5182d.c         |  8 +++++++-
>  drivers/iio/light/vcnl4000.c        |  8 +++++++-
>  drivers/iio/light/vcnl4035.c        | 10 ++++++++--
>  8 files changed, 59 insertions(+), 11 deletions(-)
> 
> 
> base-commit: 3123109284176b1532874591f7c81f3837bbdc17
Jonathan Cameron May 22, 2022, 10:52 a.m. UTC | #2
On Sun, 15 May 2022 18:05:22 +0100
Jonathan Cameron <jic23@kernel.org> wrote:

> On Sun, 15 May 2022 17:59:21 +0200
> Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote:
> 
> > Hello,
> > 
> > the goal of this series is to improve the error messages emitted by
> > remove callbacks by several i2c drivers. The status quo is that these
> > might return an error code silently to the i2c core on remove. The
> > effect is a very unhelpful message:
> > 
> > 	$bus $device: remove failed (EIO), will be ignored
> > 
> > . Note there is no further error handling and the device will be
> > removed, all devm cleanups are called.
> > 
> > With the patches from this series applied the emitted message better
> > tells what actually failed and the remove callback returns zero
> > unconditionally.
> > 
> > The motivation for this change is to make i2c remove callbacks return
> > void. The ability to return a value is misleading as driver authors
> > might expect some kind of error handling from the i2c core.  
> 
> All look good to me, but I'll leave them on list for a little while
> to let others take a look.  Give me a poke if I seem to have lost them
> (it's been known to happen :( )

Applied to the togreg branch of iio.git and pushed out for now as testing.

Very unlikely these will make this cycle unless there is a delay for
some reason.  Hence queued up for 5.20 and I may not push out for next to
pick up until merge window has mostly gone by.

> 
> Thanks,
> 
> Jonathan
> 
> > 
> > Best regards
> > Uwe
> > 
> > Uwe Kleine-König (8):
> >   iio:adc:ina2xx: Improve error reporting for problems during .remove()
> >   iio:adc:ti-ads1015: Improve error reporting for problems during
> >     .remove()
> >   iio:chemical:atlas: Improve error reporting for problems during
> >     .remove()
> >   iio:chemical:ccs811: Improve error reporting for problems during
> >     .remove()
> >   iio:light:pa12203001: Improve error reporting for problems during
> >     .remove()
> >   iio:light:us5182d: Improve error reporting for problems during
> >     .remove()
> >   iio:light:vcnl4000: Improve error reporting for problems during
> >     .remove()
> >   iio:light:vcnl4035: Improve error reporting for problems during
> >     .remove()
> > 
> >  drivers/iio/adc/ina2xx-adc.c        | 10 ++++++++--
> >  drivers/iio/adc/ti-ads1015.c        |  8 +++++++-
> >  drivers/iio/chemical/atlas-sensor.c |  8 +++++++-
> >  drivers/iio/chemical/ccs811.c       | 10 ++++++++--
> >  drivers/iio/light/pa12203001.c      |  8 +++++++-
> >  drivers/iio/light/us5182d.c         |  8 +++++++-
> >  drivers/iio/light/vcnl4000.c        |  8 +++++++-
> >  drivers/iio/light/vcnl4035.c        | 10 ++++++++--
> >  8 files changed, 59 insertions(+), 11 deletions(-)
> > 
> > 
> > base-commit: 3123109284176b1532874591f7c81f3837bbdc17  
>