[RFC PATCH 00/12] i2c: replace i2c_new_probed_device with an ERR_PTR variant

From: Wolfram Sang
Date: Wed Nov 06 2019 - 04:51:24 EST


From: Wolfram Sang <wsa@xxxxxxxxxxxxx>

In the on-going mission to let i2c_new_* calls return an ERR_PTR instead
of NULL, here is a series converting i2c_new_probed_device(). A new
function called i2c_new_scanned_device() is introduced with the new
retval, but for now, a compatibility helper is provided until all users
are converted. The rest of the patches convert all current in-tree
users.

Note that these patches are RFC because I want feedback on the approach
and hopefully collect acks on the driver conversions. If all goes well,
I'll apply the first two patches for the next merge window. Then, once
this dependency is upstream, I'll resend this series with all issues
fixed and acks collected.

Core changes tested on a Renesas Salvator-XS board (R-Car M3-N), driver
patches build tested by me and buildbot.

Wolfram Sang (12):
i2c: replace i2c_new_probed_device with an ERR_PTR variant
i2c: icy: convert to i2c_new_scanned_device
macintosh: convert to i2c_new_scanned_device
platform: chrome: convert to i2c_new_scanned_device
video: fbdev: matrox: convert to i2c_new_scanned_device
input: mouse: convert to i2c_new_scanned_device
media: pci: cx23885: convert to i2c_new_scanned_device
media: pci: cx88: convert to i2c_new_scanned_device
media: pci: bt8xx: convert to i2c_new_scanned_device
media: pci: cx18: convert to i2c_new_scanned_device
media: pci: ivtv: convert to i2c_new_scanned_device
media: v4l2-core: convert to i2c_new_scanned_device

Documentation/i2c/instantiating-devices.rst | 10 ++++-----
Documentation/i2c/writing-clients.rst | 8 +++----
drivers/i2c/busses/i2c-icy.c | 8 +++----
drivers/i2c/i2c-core-base.c | 25 ++++++++++++++++-----
drivers/input/mouse/psmouse-smbus.c | 8 ++++---
drivers/macintosh/therm_windtunnel.c | 4 ++--
drivers/media/pci/bt8xx/bttv-input.c | 6 ++---
drivers/media/pci/cx18/cx18-i2c.c | 2 +-
drivers/media/pci/cx23885/cx23885-i2c.c | 4 ++--
drivers/media/pci/cx88/cx88-input.c | 2 +-
drivers/media/pci/ivtv/ivtv-i2c.c | 6 ++---
drivers/media/pci/ivtv/ivtv-i2c.h | 2 +-
drivers/media/v4l2-core/v4l2-i2c.c | 10 ++++-----
drivers/platform/chrome/chromeos_laptop.c | 18 ++++++++-------
drivers/video/fbdev/matrox/i2c-matroxfb.c | 4 ++--
include/linux/i2c.h | 12 +++++++---
16 files changed, 76 insertions(+), 53 deletions(-)

--
2.20.1