mbox series

[0/5] spi: make remove callback a void function

Message ID 20220123175201.34839-1-u.kleine-koenig@pengutronix.de (mailing list archive)
Headers show
Series spi: make remove callback a void function | expand

Message

Uwe Kleine-König Jan. 23, 2022, 5:51 p.m. UTC
Hello,

this series goal is to change the spi remove callback's return value to void.
After numerous patches nearly all drivers already return 0 unconditionally.
The four first patches in this series convert the remaining three drivers to
return 0, the final patch changes the remove prototype and converts all
implementers.

The driver core doesn't support error handling on remove, the spi core issues
only a very generic warning when a remove callback returns an error. If there
is really the need for a function call that can fail, the driver can issue a
more helpful error message. I didn't find a single driver where returning
an error code and error handling in the spi core would have been helpful.

So change the prototype of the remove function to make it obvious for driver
authors that there is no error handling in the spi core.

The four preparatory patches were already send out, but not yet taken into
next.

Assuming Mark is fine with this change I'd like to have this go in during the
next merge window. I guess we need a tag that can be pulled into trees that add
a new driver in the next cycle. I can provide such a tag, but I'm open to
alternatives.

The patch set survived an allmodconfig build on various archs (arm64 m68k
powerpc riscv s390 sparc64 x86_64) after the following two commits from
next-20220121 were added to fix an unrelated build problem:

        be973481daaa ("pinctrl: thunderbay: rework loops looking for groups names")
        8687999e47d4 ("pinctrl: thunderbay: comment process of building functions a bit")

Best regards
Uwe

Uwe Kleine-König (5):
  staging: fbtft: Fix error path in fbtft_driver_module_init()
  staging: fbtft: Deduplicate driver registration macros
  tpm: st33zp24: Make st33zp24_remove() a void function
  platform/chrome: cros_ec: Make cros_ec_unregister() return void
  spi: make remove callback a void function

 drivers/bus/moxtet.c                          |  4 +-
 drivers/char/tpm/st33zp24/i2c.c               |  5 +-
 drivers/char/tpm/st33zp24/spi.c               |  9 +-
 drivers/char/tpm/st33zp24/st33zp24.c          |  3 +-
 drivers/char/tpm/st33zp24/st33zp24.h          |  2 +-
 drivers/char/tpm/tpm_tis_spi_main.c           |  3 +-
 drivers/clk/clk-lmk04832.c                    |  4 +-
 drivers/gpio/gpio-74x164.c                    |  4 +-
 drivers/gpio/gpio-max3191x.c                  |  4 +-
 drivers/gpio/gpio-max7301.c                   |  4 +-
 drivers/gpio/gpio-mc33880.c                   |  4 +-
 drivers/gpio/gpio-pisosr.c                    |  4 +-
 drivers/gpu/drm/panel/panel-abt-y030xx067a.c  |  4 +-
 drivers/gpu/drm/panel/panel-ilitek-ili9322.c  |  4 +-
 drivers/gpu/drm/panel/panel-ilitek-ili9341.c  |  3 +-
 drivers/gpu/drm/panel/panel-innolux-ej030na.c |  4 +-
 drivers/gpu/drm/panel/panel-lg-lb035q02.c     |  4 +-
 drivers/gpu/drm/panel/panel-lg-lg4573.c       |  4 +-
 drivers/gpu/drm/panel/panel-nec-nl8048hl11.c  |  4 +-
 drivers/gpu/drm/panel/panel-novatek-nt39016.c |  4 +-
 drivers/gpu/drm/panel/panel-samsung-db7430.c  |  3 +-
 drivers/gpu/drm/panel/panel-samsung-ld9040.c  |  4 +-
 drivers/gpu/drm/panel/panel-samsung-s6d27a1.c |  3 +-
 .../gpu/drm/panel/panel-samsung-s6e63m0-spi.c |  3 +-
 .../gpu/drm/panel/panel-sitronix-st7789v.c    |  4 +-
 drivers/gpu/drm/panel/panel-sony-acx565akm.c  |  4 +-
 drivers/gpu/drm/panel/panel-tpo-td028ttec1.c  |  4 +-
 drivers/gpu/drm/panel/panel-tpo-td043mtea1.c  |  4 +-
 drivers/gpu/drm/panel/panel-tpo-tpg110.c      |  3 +-
 .../gpu/drm/panel/panel-widechips-ws2401.c    |  3 +-
 drivers/gpu/drm/tiny/hx8357d.c                |  4 +-
 drivers/gpu/drm/tiny/ili9163.c                |  4 +-
 drivers/gpu/drm/tiny/ili9225.c                |  4 +-
 drivers/gpu/drm/tiny/ili9341.c                |  4 +-
 drivers/gpu/drm/tiny/ili9486.c                |  4 +-
 drivers/gpu/drm/tiny/mi0283qt.c               |  4 +-
 drivers/gpu/drm/tiny/repaper.c                |  4 +-
 drivers/gpu/drm/tiny/st7586.c                 |  4 +-
 drivers/gpu/drm/tiny/st7735r.c                |  4 +-
 drivers/hwmon/adcxx.c                         |  4 +-
 drivers/hwmon/adt7310.c                       |  3 +-
 drivers/hwmon/max1111.c                       |  3 +-
 drivers/hwmon/max31722.c                      |  4 +-
 drivers/iio/accel/bma400_spi.c                |  4 +-
 drivers/iio/accel/bmc150-accel-spi.c          |  4 +-
 drivers/iio/accel/bmi088-accel-spi.c          |  4 +-
 drivers/iio/accel/kxsd9-spi.c                 |  4 +-
 drivers/iio/accel/mma7455_spi.c               |  4 +-
 drivers/iio/accel/sca3000.c                   |  4 +-
 drivers/iio/adc/ad7266.c                      |  4 +-
 drivers/iio/adc/ltc2496.c                     |  4 +-
 drivers/iio/adc/mcp320x.c                     |  4 +-
 drivers/iio/adc/mcp3911.c                     |  4 +-
 drivers/iio/adc/ti-adc12138.c                 |  4 +-
 drivers/iio/adc/ti-ads7950.c                  |  4 +-
 drivers/iio/adc/ti-ads8688.c                  |  4 +-
 drivers/iio/adc/ti-tlc4541.c                  |  4 +-
 drivers/iio/amplifiers/ad8366.c               |  4 +-
 drivers/iio/common/ssp_sensors/ssp_dev.c      |  4 +-
 drivers/iio/dac/ad5360.c                      |  4 +-
 drivers/iio/dac/ad5380.c                      |  4 +-
 drivers/iio/dac/ad5446.c                      |  4 +-
 drivers/iio/dac/ad5449.c                      |  4 +-
 drivers/iio/dac/ad5504.c                      |  4 +-
 drivers/iio/dac/ad5592r.c                     |  4 +-
 drivers/iio/dac/ad5624r_spi.c                 |  4 +-
 drivers/iio/dac/ad5686-spi.c                  |  4 +-
 drivers/iio/dac/ad5761.c                      |  4 +-
 drivers/iio/dac/ad5764.c                      |  4 +-
 drivers/iio/dac/ad5791.c                      |  4 +-
 drivers/iio/dac/ad8801.c                      |  4 +-
 drivers/iio/dac/ltc1660.c                     |  4 +-
 drivers/iio/dac/ltc2632.c                     |  4 +-
 drivers/iio/dac/mcp4922.c                     |  4 +-
 drivers/iio/dac/ti-dac082s085.c               |  4 +-
 drivers/iio/dac/ti-dac7311.c                  |  3 +-
 drivers/iio/frequency/adf4350.c               |  4 +-
 drivers/iio/gyro/bmg160_spi.c                 |  4 +-
 drivers/iio/gyro/fxas21002c_spi.c             |  4 +-
 drivers/iio/health/afe4403.c                  |  4 +-
 drivers/iio/magnetometer/bmc150_magn_spi.c    |  4 +-
 drivers/iio/magnetometer/hmc5843_spi.c        |  4 +-
 drivers/iio/potentiometer/max5487.c           |  4 +-
 drivers/iio/pressure/ms5611_spi.c             |  4 +-
 drivers/iio/pressure/zpa2326_spi.c            |  4 +-
 drivers/input/keyboard/applespi.c             |  4 +-
 drivers/input/misc/adxl34x-spi.c              |  4 +-
 drivers/input/touchscreen/ads7846.c           |  4 +-
 drivers/input/touchscreen/cyttsp4_spi.c       |  4 +-
 drivers/input/touchscreen/tsc2005.c           |  4 +-
 drivers/leds/leds-cr0014114.c                 |  4 +-
 drivers/leds/leds-dac124s085.c                |  4 +-
 drivers/leds/leds-el15203000.c                |  4 +-
 drivers/leds/leds-spi-byte.c                  |  4 +-
 drivers/media/spi/cxd2880-spi.c               |  4 +-
 drivers/media/spi/gs1662.c                    |  4 +-
 drivers/media/tuners/msi001.c                 |  3 +-
 drivers/mfd/arizona-spi.c                     |  4 +-
 drivers/mfd/da9052-spi.c                      |  3 +-
 drivers/mfd/ezx-pcap.c                        |  4 +-
 drivers/mfd/madera-spi.c                      |  4 +-
 drivers/mfd/mc13xxx-spi.c                     |  3 +-
 drivers/mfd/rsmu_spi.c                        |  4 +-
 drivers/mfd/stmpe-spi.c                       |  4 +-
 drivers/mfd/tps65912-spi.c                    |  4 +-
 drivers/misc/ad525x_dpot-spi.c                |  3 +-
 drivers/misc/eeprom/eeprom_93xx46.c           |  4 +-
 drivers/misc/lattice-ecp3-config.c            |  4 +-
 drivers/misc/lis3lv02d/lis3lv02d_spi.c        |  4 +-
 drivers/mmc/host/mmc_spi.c                    |  3 +-
 drivers/mtd/devices/mchp23k256.c              |  4 +-
 drivers/mtd/devices/mchp48l640.c              |  4 +-
 drivers/mtd/devices/mtd_dataflash.c           |  4 +-
 drivers/mtd/devices/sst25l.c                  |  4 +-
 drivers/net/can/m_can/tcan4x5x-core.c         |  4 +-
 drivers/net/can/spi/hi311x.c                  |  4 +-
 drivers/net/can/spi/mcp251x.c                 |  4 +-
 .../net/can/spi/mcp251xfd/mcp251xfd-core.c    |  4 +-
 drivers/net/dsa/b53/b53_spi.c                 |  4 +-
 drivers/net/dsa/microchip/ksz8795_spi.c       |  4 +-
 drivers/net/dsa/microchip/ksz9477_spi.c       |  4 +-
 drivers/net/dsa/sja1105/sja1105_main.c        |  6 +-
 drivers/net/dsa/vitesse-vsc73xx-spi.c         |  6 +-
 drivers/net/ethernet/asix/ax88796c_main.c     |  4 +-
 drivers/net/ethernet/micrel/ks8851_spi.c      |  4 +-
 drivers/net/ethernet/microchip/enc28j60.c     |  4 +-
 drivers/net/ethernet/microchip/encx24j600.c   |  4 +-
 drivers/net/ethernet/qualcomm/qca_spi.c       |  4 +-
 drivers/net/ethernet/vertexcom/mse102x.c      |  4 +-
 drivers/net/ethernet/wiznet/w5100-spi.c       |  4 +-
 drivers/net/ieee802154/adf7242.c              |  4 +-
 drivers/net/ieee802154/at86rf230.c            |  4 +-
 drivers/net/ieee802154/ca8210.c               |  6 +-
 drivers/net/ieee802154/cc2520.c               |  4 +-
 drivers/net/ieee802154/mcr20a.c               |  4 +-
 drivers/net/ieee802154/mrf24j40.c             |  4 +-
 drivers/net/phy/spi_ks8995.c                  |  4 +-
 drivers/net/wan/slic_ds26522.c                |  3 +-
 drivers/net/wireless/intersil/p54/p54spi.c    |  4 +-
 .../net/wireless/marvell/libertas/if_spi.c    |  4 +-
 drivers/net/wireless/microchip/wilc1000/spi.c |  4 +-
 drivers/net/wireless/st/cw1200/cw1200_spi.c   |  4 +-
 drivers/net/wireless/ti/wl1251/spi.c          |  4 +-
 drivers/net/wireless/ti/wlcore/spi.c          |  4 +-
 drivers/nfc/nfcmrvl/spi.c                     |  3 +-
 drivers/nfc/st-nci/spi.c                      |  4 +-
 drivers/nfc/st95hf/core.c                     |  4 +-
 drivers/nfc/trf7970a.c                        |  4 +-
 drivers/platform/chrome/cros_ec.c             |  4 +-
 drivers/platform/chrome/cros_ec.h             |  2 +-
 drivers/platform/chrome/cros_ec_i2c.c         |  4 +-
 drivers/platform/chrome/cros_ec_lpc.c         |  4 +-
 drivers/platform/chrome/cros_ec_spi.c         |  4 +-
 drivers/platform/olpc/olpc-xo175-ec.c         |  4 +-
 drivers/rtc/rtc-ds1302.c                      |  3 +-
 drivers/rtc/rtc-ds1305.c                      |  4 +-
 drivers/rtc/rtc-ds1343.c                      |  4 +-
 drivers/spi/spi-mem.c                         |  6 +-
 drivers/spi/spi-slave-system-control.c        |  3 +-
 drivers/spi/spi-slave-time.c                  |  3 +-
 drivers/spi/spi-tle62x0.c                     |  3 +-
 drivers/spi/spi.c                             | 11 +--
 drivers/spi/spidev.c                          |  4 +-
 drivers/staging/fbtft/fbtft.h                 | 97 ++++++++-----------
 drivers/staging/pi433/pi433_if.c              |  4 +-
 drivers/staging/wfx/bus_spi.c                 |  3 +-
 drivers/tty/serial/max3100.c                  |  5 +-
 drivers/tty/serial/max310x.c                  |  3 +-
 drivers/tty/serial/sc16is7xx.c                |  4 +-
 drivers/usb/gadget/udc/max3420_udc.c          |  4 +-
 drivers/usb/host/max3421-hcd.c                |  3 +-
 drivers/video/backlight/ams369fg06.c          |  3 +-
 drivers/video/backlight/corgi_lcd.c           |  3 +-
 drivers/video/backlight/ili922x.c             |  3 +-
 drivers/video/backlight/l4f00242t03.c         |  3 +-
 drivers/video/backlight/lms501kf03.c          |  3 +-
 drivers/video/backlight/ltv350qv.c            |  3 +-
 drivers/video/backlight/tdo24m.c              |  3 +-
 drivers/video/backlight/tosa_lcd.c            |  4 +-
 drivers/video/backlight/vgg2432a4.c           |  4 +-
 drivers/video/fbdev/omap/lcd_mipid.c          |  4 +-
 .../displays/panel-lgphilips-lb035q02.c       |  4 +-
 .../omapfb/displays/panel-nec-nl8048hl11.c    |  4 +-
 .../omapfb/displays/panel-sony-acx565akm.c    |  4 +-
 .../omapfb/displays/panel-tpo-td028ttec1.c    |  4 +-
 .../omapfb/displays/panel-tpo-td043mtea1.c    |  4 +-
 include/linux/spi/spi.h                       |  2 +-
 sound/pci/hda/cs35l41_hda_spi.c               |  4 +-
 sound/soc/codecs/adau1761-spi.c               |  3 +-
 sound/soc/codecs/adau1781-spi.c               |  3 +-
 sound/soc/codecs/cs35l41-spi.c                |  4 +-
 sound/soc/codecs/pcm3168a-spi.c               |  4 +-
 sound/soc/codecs/pcm512x-spi.c                |  3 +-
 sound/soc/codecs/tlv320aic32x4-spi.c          |  4 +-
 sound/soc/codecs/tlv320aic3x-spi.c            |  4 +-
 sound/soc/codecs/wm0010.c                     |  4 +-
 sound/soc/codecs/wm8804-spi.c                 |  3 +-
 sound/spi/at73c213.c                          |  4 +-
 198 files changed, 248 insertions(+), 617 deletions(-)


base-commit: e783362eb54cd99b2cac8b3a9aeac942e6f6ac07

Comments

Lee Jones Jan. 25, 2022, 9:30 a.m. UTC | #1
My usual mailer won't let me reply to this many people, so I'm using Gmail.

No idea what chaos this will cause, but here goes ...

> The value returned by an spi 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 <u.kleine-koenig@pengutronix.de>
> ---

[...]

>  drivers/mfd/arizona-spi.c                             |  4 +---
>  drivers/mfd/da9052-spi.c                             |  3 +--
>  drivers/mfd/ezx-pcap.c                                |  4 +---
>  drivers/mfd/madera-spi.c                             |  4 +---
>  drivers/mfd/mc13xxx-spi.c                           |  3 +--
>  drivers/mfd/rsmu_spi.c                                |  4 +---
>  drivers/mfd/stmpe-spi.c                               |  4 +---
>  drivers/mfd/tps65912-spi.c                          |  4 +---

>  drivers/video/backlight/ams369fg06.c         |  3 +--
>  drivers/video/backlight/corgi_lcd.c               |  3 +--
>  drivers/video/backlight/ili922x.c                    |  3 +--
>  drivers/video/backlight/l4f00242t03.c           |  3 +--
>  drivers/video/backlight/lms501kf03.c            |  3 +--
>  drivers/video/backlight/ltv350qv.c                 |  3 +--
>  drivers/video/backlight/tdo24m.c                  |  3 +--
>  drivers/video/backlight/tosa_lcd.c                |  4 +---
>  drivers/video/backlight/vgg2432a4.c            |  4 +---

If it's okay with Mark, it's okay with me.

Acked-by: Lee Jones <lee.jones@linaro.org>
Stefan Schmidt Jan. 25, 2022, 9:44 a.m. UTC | #2
Hello.

On 23.01.22 18:52, Uwe Kleine-König wrote:
> The value returned by an spi 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 <u.kleine-koenig@pengutronix.de>
> ---

[...]

>   drivers/net/ieee802154/adf7242.c                      |  4 +---
>   drivers/net/ieee802154/at86rf230.c                    |  4 +---
>   drivers/net/ieee802154/ca8210.c                       |  6 ++----
>   drivers/net/ieee802154/cc2520.c                       |  4 +---
>   drivers/net/ieee802154/mcr20a.c                       |  4 +---
>   drivers/net/ieee802154/mrf24j40.c                     |  4 +---

[...]

For the ieee802154 drivers:

Acked-by: Stefan Schmidt <stefan@datenfreihafen.org>

regards
Stefan Schmidt
Miquel Raynal Jan. 25, 2022, 10:19 a.m. UTC | #3
Hi Uwe,

u.kleine-koenig@pengutronix.de wrote on Sun, 23 Jan 2022 18:52:01 +0100:

> The value returned by an spi 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 <u.kleine-koenig@pengutronix.de>
> ---

[...]

>  drivers/mtd/devices/mchp23k256.c                      |  4 +---
>  drivers/mtd/devices/mchp48l640.c                      |  4 +---
>  drivers/mtd/devices/mtd_dataflash.c                   |  4 +---
>  drivers/mtd/devices/sst25l.c                          |  4 +---

For MTD devices:
Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>

Thanks,
Miquèl
Uwe Kleine-König Jan. 25, 2022, 10:29 a.m. UTC | #4
[Dropped a few people from Cc that are not reachable (Harry Morris,
Charles-Antoine Couret, Marco Felsch)]

On Tue, Jan 25, 2022 at 09:47:59AM +0000, Jonathan Cameron wrote:
> On Sun, 23 Jan 2022 18:52:01 +0100
> Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote:
> 
> > The value returned by an spi 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 <u.kleine-koenig@pengutronix.de>
> 
> For iio drivers.
> 
> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> 
> As you mention in the cover letter we'll be wanting an immutable
> branch somewhere to pull into subsystem trees.
> 
> Soon is good if possible as otherwise we'll end up with a bunch of merge
> conflicts getting resolved in next.

Yes, I considered creating a tag to pull already when sending out this
series, but I guessed delaying that a little bit to give people the
opportunity to ack would be a good idea.

@broonie: Do you think this change is a good idea? Would you require
some more acks for the preparatory patches? I had hoped to get Acks from
the corresponding maintainers, maybe they are busy and missed this
series as I put them on Cc: only. I promoted them to To: in this mail.

Or is it too ambitious to get this in during the next merge window?

Best regards
Uwe
Geert Uytterhoeven Jan. 25, 2022, 10:37 a.m. UTC | #5
On Sun, Jan 23, 2022 at 6:54 PM Uwe Kleine-König
<u.kleine-koenig@pengutronix.de> wrote:
> The value returned by an spi 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 <u.kleine-koenig@pengutronix.de>

>  drivers/spi/spi-slave-system-control.c                |  3 +--
>  drivers/spi/spi-slave-time.c                          |  3 +--
>  drivers/spi/spi.c                                     | 11 ++---------
>  drivers/spi/spidev.c                                  |  4 +---

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Mark Brown Feb. 8, 2022, 1:39 p.m. UTC | #6
On Sun, Jan 23, 2022 at 06:52:01PM +0100, Uwe Kleine-König wrote:
> The value returned by an spi 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.

I was going to apply this but it needs rebasing against current code
unfortunately.
Hans Verkuil Feb. 18, 2022, 12:37 p.m. UTC | #7
On 23/01/2022 18:52, Uwe Kleine-König wrote:
> The value returned by an spi 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 <u.kleine-koenig@pengutronix.de>
> ---
>  drivers/bus/moxtet.c                                  |  4 +---
>  drivers/char/tpm/st33zp24/spi.c                       |  4 +---
>  drivers/char/tpm/tpm_tis_spi_main.c                   |  3 +--
>  drivers/clk/clk-lmk04832.c                            |  4 +---
>  drivers/gpio/gpio-74x164.c                            |  4 +---
>  drivers/gpio/gpio-max3191x.c                          |  4 +---
>  drivers/gpio/gpio-max7301.c                           |  4 +---
>  drivers/gpio/gpio-mc33880.c                           |  4 +---
>  drivers/gpio/gpio-pisosr.c                            |  4 +---
>  drivers/gpu/drm/panel/panel-abt-y030xx067a.c          |  4 +---
>  drivers/gpu/drm/panel/panel-ilitek-ili9322.c          |  4 +---
>  drivers/gpu/drm/panel/panel-ilitek-ili9341.c          |  3 +--
>  drivers/gpu/drm/panel/panel-innolux-ej030na.c         |  4 +---
>  drivers/gpu/drm/panel/panel-lg-lb035q02.c             |  4 +---
>  drivers/gpu/drm/panel/panel-lg-lg4573.c               |  4 +---
>  drivers/gpu/drm/panel/panel-nec-nl8048hl11.c          |  4 +---
>  drivers/gpu/drm/panel/panel-novatek-nt39016.c         |  4 +---
>  drivers/gpu/drm/panel/panel-samsung-db7430.c          |  3 +--
>  drivers/gpu/drm/panel/panel-samsung-ld9040.c          |  4 +---
>  drivers/gpu/drm/panel/panel-samsung-s6d27a1.c         |  3 +--
>  drivers/gpu/drm/panel/panel-samsung-s6e63m0-spi.c     |  3 +--
>  drivers/gpu/drm/panel/panel-sitronix-st7789v.c        |  4 +---
>  drivers/gpu/drm/panel/panel-sony-acx565akm.c          |  4 +---
>  drivers/gpu/drm/panel/panel-tpo-td028ttec1.c          |  4 +---
>  drivers/gpu/drm/panel/panel-tpo-td043mtea1.c          |  4 +---
>  drivers/gpu/drm/panel/panel-tpo-tpg110.c              |  3 +--
>  drivers/gpu/drm/panel/panel-widechips-ws2401.c        |  3 +--
>  drivers/gpu/drm/tiny/hx8357d.c                        |  4 +---
>  drivers/gpu/drm/tiny/ili9163.c                        |  4 +---
>  drivers/gpu/drm/tiny/ili9225.c                        |  4 +---
>  drivers/gpu/drm/tiny/ili9341.c                        |  4 +---
>  drivers/gpu/drm/tiny/ili9486.c                        |  4 +---
>  drivers/gpu/drm/tiny/mi0283qt.c                       |  4 +---
>  drivers/gpu/drm/tiny/repaper.c                        |  4 +---
>  drivers/gpu/drm/tiny/st7586.c                         |  4 +---
>  drivers/gpu/drm/tiny/st7735r.c                        |  4 +---
>  drivers/hwmon/adcxx.c                                 |  4 +---
>  drivers/hwmon/adt7310.c                               |  3 +--
>  drivers/hwmon/max1111.c                               |  3 +--
>  drivers/hwmon/max31722.c                              |  4 +---
>  drivers/iio/accel/bma400_spi.c                        |  4 +---
>  drivers/iio/accel/bmc150-accel-spi.c                  |  4 +---
>  drivers/iio/accel/bmi088-accel-spi.c                  |  4 +---
>  drivers/iio/accel/kxsd9-spi.c                         |  4 +---
>  drivers/iio/accel/mma7455_spi.c                       |  4 +---
>  drivers/iio/accel/sca3000.c                           |  4 +---
>  drivers/iio/adc/ad7266.c                              |  4 +---
>  drivers/iio/adc/ltc2496.c                             |  4 +---
>  drivers/iio/adc/mcp320x.c                             |  4 +---
>  drivers/iio/adc/mcp3911.c                             |  4 +---
>  drivers/iio/adc/ti-adc12138.c                         |  4 +---
>  drivers/iio/adc/ti-ads7950.c                          |  4 +---
>  drivers/iio/adc/ti-ads8688.c                          |  4 +---
>  drivers/iio/adc/ti-tlc4541.c                          |  4 +---
>  drivers/iio/amplifiers/ad8366.c                       |  4 +---
>  drivers/iio/common/ssp_sensors/ssp_dev.c              |  4 +---
>  drivers/iio/dac/ad5360.c                              |  4 +---
>  drivers/iio/dac/ad5380.c                              |  4 +---
>  drivers/iio/dac/ad5446.c                              |  4 +---
>  drivers/iio/dac/ad5449.c                              |  4 +---
>  drivers/iio/dac/ad5504.c                              |  4 +---
>  drivers/iio/dac/ad5592r.c                             |  4 +---
>  drivers/iio/dac/ad5624r_spi.c                         |  4 +---
>  drivers/iio/dac/ad5686-spi.c                          |  4 +---
>  drivers/iio/dac/ad5761.c                              |  4 +---
>  drivers/iio/dac/ad5764.c                              |  4 +---
>  drivers/iio/dac/ad5791.c                              |  4 +---
>  drivers/iio/dac/ad8801.c                              |  4 +---
>  drivers/iio/dac/ltc1660.c                             |  4 +---
>  drivers/iio/dac/ltc2632.c                             |  4 +---
>  drivers/iio/dac/mcp4922.c                             |  4 +---
>  drivers/iio/dac/ti-dac082s085.c                       |  4 +---
>  drivers/iio/dac/ti-dac7311.c                          |  3 +--
>  drivers/iio/frequency/adf4350.c                       |  4 +---
>  drivers/iio/gyro/bmg160_spi.c                         |  4 +---
>  drivers/iio/gyro/fxas21002c_spi.c                     |  4 +---
>  drivers/iio/health/afe4403.c                          |  4 +---
>  drivers/iio/magnetometer/bmc150_magn_spi.c            |  4 +---
>  drivers/iio/magnetometer/hmc5843_spi.c                |  4 +---
>  drivers/iio/potentiometer/max5487.c                   |  4 +---
>  drivers/iio/pressure/ms5611_spi.c                     |  4 +---
>  drivers/iio/pressure/zpa2326_spi.c                    |  4 +---
>  drivers/input/keyboard/applespi.c                     |  4 +---
>  drivers/input/misc/adxl34x-spi.c                      |  4 +---
>  drivers/input/touchscreen/ads7846.c                   |  4 +---
>  drivers/input/touchscreen/cyttsp4_spi.c               |  4 +---
>  drivers/input/touchscreen/tsc2005.c                   |  4 +---
>  drivers/leds/leds-cr0014114.c                         |  4 +---
>  drivers/leds/leds-dac124s085.c                        |  4 +---
>  drivers/leds/leds-el15203000.c                        |  4 +---
>  drivers/leds/leds-spi-byte.c                          |  4 +---
>  drivers/media/spi/cxd2880-spi.c                       |  4 +---
>  drivers/media/spi/gs1662.c                            |  4 +---
>  drivers/media/tuners/msi001.c                         |  3 +--

A bit late, but for drivers/media:

Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>

Thanks!

	Hans
Pavel Machek March 2, 2022, 7:30 a.m. UTC | #8
Hi!

> The value returned by an spi 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.

Acked-by: Pavel Machek <pavel@ucw.cz>
									Pavel