public inbox for dri-devel@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH 0/5] spi: make remove callback a void function
@ 2022-01-23 17:51 Uwe Kleine-König
  2022-01-23 17:51 ` [PATCH 1/5] staging: fbtft: Fix error path in fbtft_driver_module_init() Uwe Kleine-König
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: Uwe Kleine-König @ 2022-01-23 17:51 UTC (permalink / raw)
  To: Mark Brown
  Cc: Andrew Lunn, Gwendal Grignou, Yasunari Takiguchi, Claudius Heine,
	Geert Uytterhoeven, Nanyong Sun, dri-devel, Jaroslav Kysela,
	Frieder Schrempf, Pavel Machek, Miquel Raynal,
	Christian Lamparter, Ajay Singh, linux-clk, Stefan Schmidt,
	Sidong Yang, libertas-dev, linux-omap, Guenter Roeck,
	Jean Delvare, linux-serial, Łukasz Stelmach, Mark Tomlinson,
	James Schulman, Kamlesh Gurudasani, Jingoo Han, Zhang Qilong,
	Randy Dunlap, linux-stm32, linux-kernel, linux-spi, Michael Walle,
	Noralf Trønnes, kernel, Greg Kroah-Hartman, linux-mtd,
	Andrew Morton, Vladimir Oltean, linux-wpan, Claudiu Beznea,
	Alexandre Belloni, Dan Robertson, Markuss Broks, Lucas Tanure,
	David Airlie, linux-wireless, Marco Felsch, David Rhodes,
	Thierry Reding, Solomon Peachy, Marek Behún,
	Krzysztof Kozlowski, Emmanuel Gil Peyrot, Jiri Slaby,
	Bartosz Golaszewski, Tudor Ambarus, Minghao Chi, Jon Hunter,
	dingsenjie, Heiko Schocher, Wolfgang Grandegger, Matt Kline,
	Woojung Huh, Charles Keepax, Michael Hennerich, Mike Looijmans,
	Ronald Tschalär, Daniel Thompson, linux-can, linux-gpio,
	linux-arm-kernel, Hans de Goede, Stephen Boyd, Davidlohr Bueso,
	UNGLinuxDriver, Jarkko Sakkinen, linux-usb, Maxime Coquelin,
	linux-integrity, Jonathan Cameron, Heiner Kallweit, Ulf Hansson,
	linux-staging, linux-iio, Michael Turquette, alsa-devel,
	Nuno Sá, netdev, Wei Yongjun, Sam Ravnborg,
	Jérôme Pouiller, linux-rtc, Marcus Folkesson,
	Florian Fainelli, Guenter Roeck, Aditya Srivastava, Varka Bhadram,
	wengjianfeng, linux-input, linux-media, Arnd Bergmann,
	Jonathan Neuschäfer, Mark Greer, Mark Gross,
	Richard Fitzgerald, linux-fbdev, Mauro Carvalho Chehab,
	Stefan Mätje, linux-hwmon, Felipe Balbi,
	Paulo Miguel Almeida, Support Opensource, Dmitry Torokhov,
	linux-mmc, Liam Girdwood, Julia Lawall, Yang Li, Dan Carpenter,
	patches, Enric Balletbo i Serra, Kent Gustavsson, David S. Miller,
	Charles-Antoine Couret, Alexander Aring, Jiri Prchal,
	Vignesh Raghavendra, Emma Anholt, Peter Zijlstra,
	Alexandre Torgue, Alexandru Ardelean, Antoniu Miclaus,
	Thomas Petazzoni, Peter Huewe, Torin Cooper-Bennun, Lee Jones,
	linux-leds, Eric Piel, Stephan Gerhold, Noralf Tronnes,
	Richard Weinberger, Russell King, Jason Gunthorpe, Thomas Kopp,
	Jakub Kicinski, Vivien Didelot, platform-driver-x86,
	Stefan Wahren, Xue Liu, David Lechner, Will Deacon,
	Manivannan Sadhasivam, Kalle Valo, Rui Miguel Silva,
	Marc Kleine-Budde, Harry Morris, Andy Shevchenko, Vincent Mailhol,
	Alessandro Zummo, Yang Shen, Thomas Zimmermann, Takashi Iwai,
	Cai Huoqing, Daniel Mack, Colin Ian King, Helge Deller, Alan Ott

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
-- 
2.34.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2022-03-02  8:54 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-23 17:51 [PATCH 0/5] spi: make remove callback a void function Uwe Kleine-König
2022-01-23 17:51 ` [PATCH 1/5] staging: fbtft: Fix error path in fbtft_driver_module_init() Uwe Kleine-König
2022-01-23 17:51 ` [PATCH 2/5] staging: fbtft: Deduplicate driver registration macros Uwe Kleine-König
2022-01-27 21:36   ` Uwe Kleine-König
2022-01-28  7:16     ` Greg Kroah-Hartman
2022-01-23 17:52 ` [PATCH 5/5] spi: make remove callback a void function Uwe Kleine-König
2022-01-24 12:23   ` Andy Shevchenko
2022-01-25  9:35   ` Alexandre Belloni
2022-01-25  9:44   ` Stefan Schmidt
2022-01-25  9:47   ` Jonathan Cameron
2022-01-25 10:29     ` Uwe Kleine-König
2022-01-25 10:19   ` Miquel Raynal
2022-01-25 10:25   ` Claudius Heine
2022-01-25 10:37   ` Geert Uytterhoeven
2022-01-25 14:16   ` Jérôme Pouiller
2022-02-08 13:39   ` Mark Brown
2022-02-18 12:37   ` Hans Verkuil
2022-03-02  7:30   ` Pavel Machek
2022-01-25  9:30 ` [PATCH 0/5] " Lee Jones
2022-02-09 14:34 ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox