linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 00/12] i2c: replace i2c_new_probed_device with an ERR_PTR variant
@ 2019-11-06  9:50 Wolfram Sang
  2019-11-06  9:50 ` [RFC PATCH 06/12] input: mouse: convert to i2c_new_scanned_device Wolfram Sang
  2019-11-06 10:06 ` [RFC PATCH 00/12] i2c: replace i2c_new_probed_device with an ERR_PTR variant Sean Young
  0 siblings, 2 replies; 4+ messages in thread
From: Wolfram Sang @ 2019-11-06  9:50 UTC (permalink / raw)
  To: linux-i2c
  Cc: Wolfram Sang, dri-devel, linux-fbdev, linux-input, linux-kernel,
	linux-media, linuxppc-dev

From: Wolfram Sang <wsa@the-dreams.de>

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


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

* [RFC PATCH 06/12] input: mouse: convert to i2c_new_scanned_device
  2019-11-06  9:50 [RFC PATCH 00/12] i2c: replace i2c_new_probed_device with an ERR_PTR variant Wolfram Sang
@ 2019-11-06  9:50 ` Wolfram Sang
  2019-11-11 18:19   ` Dmitry Torokhov
  2019-11-06 10:06 ` [RFC PATCH 00/12] i2c: replace i2c_new_probed_device with an ERR_PTR variant Sean Young
  1 sibling, 1 reply; 4+ messages in thread
From: Wolfram Sang @ 2019-11-06  9:50 UTC (permalink / raw)
  To: linux-i2c; +Cc: Wolfram Sang, Dmitry Torokhov, linux-input, linux-kernel

Move from the deprecated i2c_new_probed_device() to the new
i2c_new_scanned_device(). Make use of the new ERRPTR if suitable.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---

Build tested only. RFC, please comment and/or ack, but don't apply yet.

 drivers/input/mouse/psmouse-smbus.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/input/mouse/psmouse-smbus.c b/drivers/input/mouse/psmouse-smbus.c
index 027efdd2b2ad..35bf50a871d2 100644
--- a/drivers/input/mouse/psmouse-smbus.c
+++ b/drivers/input/mouse/psmouse-smbus.c
@@ -198,10 +198,12 @@ static int psmouse_smbus_create_companion(struct device *dev, void *data)
 	if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_HOST_NOTIFY))
 		return 0;
 
-	smbdev->client = i2c_new_probed_device(adapter, &smbdev->board,
-					       addr_list, NULL);
-	if (!smbdev->client)
+	smbdev->client = i2c_new_scanned_device(adapter, &smbdev->board,
+					        addr_list, NULL);
+	if (IS_ERR(smbdev->client)) {
+		smbdev->client = NULL;
 		return 0;
+	}
 
 	/* We have our(?) device, stop iterating i2c bus. */
 	return 1;
-- 
2.20.1


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

* Re: [RFC PATCH 00/12] i2c: replace i2c_new_probed_device with an ERR_PTR variant
  2019-11-06  9:50 [RFC PATCH 00/12] i2c: replace i2c_new_probed_device with an ERR_PTR variant Wolfram Sang
  2019-11-06  9:50 ` [RFC PATCH 06/12] input: mouse: convert to i2c_new_scanned_device Wolfram Sang
@ 2019-11-06 10:06 ` Sean Young
  1 sibling, 0 replies; 4+ messages in thread
From: Sean Young @ 2019-11-06 10:06 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-i2c, Wolfram Sang, dri-devel, linux-fbdev, linux-input,
	linux-kernel, linux-media, linuxppc-dev

On Wed, Nov 06, 2019 at 10:50:18AM +0100, Wolfram Sang wrote:
> From: Wolfram Sang <wsa@the-dreams.de>
> 
> 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.

The patches to drivers/media/pci/* are all IR related which have touched
on/read over the years. So, for those:

Acked-by: Sean Young <sean@mess.org>

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

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

* Re: [RFC PATCH 06/12] input: mouse: convert to i2c_new_scanned_device
  2019-11-06  9:50 ` [RFC PATCH 06/12] input: mouse: convert to i2c_new_scanned_device Wolfram Sang
@ 2019-11-11 18:19   ` Dmitry Torokhov
  0 siblings, 0 replies; 4+ messages in thread
From: Dmitry Torokhov @ 2019-11-11 18:19 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-i2c, linux-input, linux-kernel

On Wed, Nov 06, 2019 at 10:50:24AM +0100, Wolfram Sang wrote:
> Move from the deprecated i2c_new_probed_device() to the new
> i2c_new_scanned_device(). Make use of the new ERRPTR if suitable.
> 
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
> 
> Build tested only. RFC, please comment and/or ack, but don't apply yet.
> 
>  drivers/input/mouse/psmouse-smbus.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/input/mouse/psmouse-smbus.c b/drivers/input/mouse/psmouse-smbus.c
> index 027efdd2b2ad..35bf50a871d2 100644
> --- a/drivers/input/mouse/psmouse-smbus.c
> +++ b/drivers/input/mouse/psmouse-smbus.c
> @@ -198,10 +198,12 @@ static int psmouse_smbus_create_companion(struct device *dev, void *data)
>  	if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_HOST_NOTIFY))
>  		return 0;
>  
> -	smbdev->client = i2c_new_probed_device(adapter, &smbdev->board,
> -					       addr_list, NULL);
> -	if (!smbdev->client)
> +	smbdev->client = i2c_new_scanned_device(adapter, &smbdev->board,
> +					        addr_list, NULL);
> +	if (IS_ERR(smbdev->client)) {
> +		smbdev->client = NULL;
>  		return 0;
> +	}
>  
>  	/* We have our(?) device, stop iterating i2c bus. */
>  	return 1;

I'd prefer postponing assignment until after we get valid value. I.e.

	client = i2c_new_probed_device(...);
	if (IS_ERR(client))
		return 0;

	/* We have our(?) device, stop iterating i2c bus. */
	smbdev->client = client;
	return 1;

Thanks.

-- 
Dmitry

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

end of thread, other threads:[~2019-11-11 18:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-06  9:50 [RFC PATCH 00/12] i2c: replace i2c_new_probed_device with an ERR_PTR variant Wolfram Sang
2019-11-06  9:50 ` [RFC PATCH 06/12] input: mouse: convert to i2c_new_scanned_device Wolfram Sang
2019-11-11 18:19   ` Dmitry Torokhov
2019-11-06 10:06 ` [RFC PATCH 00/12] i2c: replace i2c_new_probed_device with an ERR_PTR variant Sean Young

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).