* [RFC PATCH 07/12] media: pci: cx23885: 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-06 11:18 ` Hans Verkuil
2019-11-06 9:50 ` [RFC PATCH 08/12] media: pci: cx88: " Wolfram Sang
` (5 subsequent siblings)
6 siblings, 1 reply; 15+ messages in thread
From: Wolfram Sang @ 2019-11-06 9:50 UTC (permalink / raw)
To: linux-i2c; +Cc: Wolfram Sang, Mauro Carvalho Chehab, linux-media, 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/media/pci/cx23885/cx23885-i2c.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/media/pci/cx23885/cx23885-i2c.c b/drivers/media/pci/cx23885/cx23885-i2c.c
index 4f327ee9659e..f51fad33dc04 100644
--- a/drivers/media/pci/cx23885/cx23885-i2c.c
+++ b/drivers/media/pci/cx23885/cx23885-i2c.c
@@ -337,8 +337,8 @@ int cx23885_i2c_register(struct cx23885_i2c *bus)
strscpy(info.type, "ir_video", I2C_NAME_SIZE);
/* Use quick read command for probe, some IR chips don't
* support writes */
- i2c_new_probed_device(&bus->i2c_adap, &info, addr_list,
- i2c_probe_func_quick_read);
+ i2c_new_scanned_device(&bus->i2c_adap, &info, addr_list,
+ i2c_probe_func_quick_read);
}
return bus->i2c_rc;
--
2.20.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [RFC PATCH 07/12] media: pci: cx23885: convert to i2c_new_scanned_device
2019-11-06 9:50 ` [RFC PATCH 07/12] media: pci: cx23885: convert to i2c_new_scanned_device Wolfram Sang
@ 2019-11-06 11:18 ` Hans Verkuil
0 siblings, 0 replies; 15+ messages in thread
From: Hans Verkuil @ 2019-11-06 11:18 UTC (permalink / raw)
To: Wolfram Sang, linux-i2c; +Cc: Mauro Carvalho Chehab, linux-media, linux-kernel
On 11/6/19 10:50 AM, 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>
Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Regards,
Hans
> ---
>
> Build tested only. RFC, please comment and/or ack, but don't apply yet.
>
> drivers/media/pci/cx23885/cx23885-i2c.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/pci/cx23885/cx23885-i2c.c b/drivers/media/pci/cx23885/cx23885-i2c.c
> index 4f327ee9659e..f51fad33dc04 100644
> --- a/drivers/media/pci/cx23885/cx23885-i2c.c
> +++ b/drivers/media/pci/cx23885/cx23885-i2c.c
> @@ -337,8 +337,8 @@ int cx23885_i2c_register(struct cx23885_i2c *bus)
> strscpy(info.type, "ir_video", I2C_NAME_SIZE);
> /* Use quick read command for probe, some IR chips don't
> * support writes */
> - i2c_new_probed_device(&bus->i2c_adap, &info, addr_list,
> - i2c_probe_func_quick_read);
> + i2c_new_scanned_device(&bus->i2c_adap, &info, addr_list,
> + i2c_probe_func_quick_read);
> }
>
> return bus->i2c_rc;
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [RFC PATCH 08/12] media: pci: cx88: 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 ` [RFC PATCH 07/12] media: pci: cx23885: convert to i2c_new_scanned_device Wolfram Sang
@ 2019-11-06 9:50 ` Wolfram Sang
2019-11-06 11:18 ` Hans Verkuil
2019-11-06 9:50 ` [RFC PATCH 09/12] media: pci: bt8xx: " Wolfram Sang
` (4 subsequent siblings)
6 siblings, 1 reply; 15+ messages in thread
From: Wolfram Sang @ 2019-11-06 9:50 UTC (permalink / raw)
To: linux-i2c; +Cc: Wolfram Sang, Mauro Carvalho Chehab, linux-media, 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/media/pci/cx88/cx88-input.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/pci/cx88/cx88-input.c b/drivers/media/pci/cx88/cx88-input.c
index 589f52d961eb..c7c2acd55266 100644
--- a/drivers/media/pci/cx88/cx88-input.c
+++ b/drivers/media/pci/cx88/cx88-input.c
@@ -613,7 +613,7 @@ void cx88_i2c_init_ir(struct cx88_core *core)
}
/*
- * We can't call i2c_new_probed_device() because it uses
+ * We can't call i2c_new_scanned_device() because it uses
* quick writes for probing and at least some RC receiver
* devices only reply to reads.
* Also, Hauppauge XVR needs to be specified, as address 0x71
--
2.20.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [RFC PATCH 08/12] media: pci: cx88: convert to i2c_new_scanned_device
2019-11-06 9:50 ` [RFC PATCH 08/12] media: pci: cx88: " Wolfram Sang
@ 2019-11-06 11:18 ` Hans Verkuil
2019-11-06 14:49 ` Wolfram Sang
0 siblings, 1 reply; 15+ messages in thread
From: Hans Verkuil @ 2019-11-06 11:18 UTC (permalink / raw)
To: Wolfram Sang, linux-i2c; +Cc: Mauro Carvalho Chehab, linux-media, linux-kernel
On 11/6/19 10:50 AM, 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.
This commit text is a bit out-of-sync with the actual patch.
This should be improved for the next version. Looks good otherwise.
Regards,
Hans
>
> 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/media/pci/cx88/cx88-input.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/pci/cx88/cx88-input.c b/drivers/media/pci/cx88/cx88-input.c
> index 589f52d961eb..c7c2acd55266 100644
> --- a/drivers/media/pci/cx88/cx88-input.c
> +++ b/drivers/media/pci/cx88/cx88-input.c
> @@ -613,7 +613,7 @@ void cx88_i2c_init_ir(struct cx88_core *core)
> }
>
> /*
> - * We can't call i2c_new_probed_device() because it uses
> + * We can't call i2c_new_scanned_device() because it uses
> * quick writes for probing and at least some RC receiver
> * devices only reply to reads.
> * Also, Hauppauge XVR needs to be specified, as address 0x71
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [RFC PATCH 08/12] media: pci: cx88: convert to i2c_new_scanned_device
2019-11-06 11:18 ` Hans Verkuil
@ 2019-11-06 14:49 ` Wolfram Sang
0 siblings, 0 replies; 15+ messages in thread
From: Wolfram Sang @ 2019-11-06 14:49 UTC (permalink / raw)
To: Hans Verkuil
Cc: Wolfram Sang, linux-i2c, Mauro Carvalho Chehab, linux-media,
linux-kernel
[-- Attachment #1: Type: text/plain, Size: 394 bytes --]
On Wed, Nov 06, 2019 at 12:18:28PM +0100, Hans Verkuil wrote:
> On 11/6/19 10:50 AM, 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.
>
> This commit text is a bit out-of-sync with the actual patch.
Ha, true :) Thanks for pointing out (and the other reviews, too, of
course!)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* [RFC PATCH 09/12] media: pci: bt8xx: 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 ` [RFC PATCH 07/12] media: pci: cx23885: convert to i2c_new_scanned_device Wolfram Sang
2019-11-06 9:50 ` [RFC PATCH 08/12] media: pci: cx88: " Wolfram Sang
@ 2019-11-06 9:50 ` Wolfram Sang
2019-11-06 11:19 ` Hans Verkuil
2019-11-06 9:50 ` [RFC PATCH 10/12] media: pci: cx18: " Wolfram Sang
` (3 subsequent siblings)
6 siblings, 1 reply; 15+ messages in thread
From: Wolfram Sang @ 2019-11-06 9:50 UTC (permalink / raw)
To: linux-i2c; +Cc: Wolfram Sang, Mauro Carvalho Chehab, linux-media, 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/media/pci/bt8xx/bttv-input.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/media/pci/bt8xx/bttv-input.c b/drivers/media/pci/bt8xx/bttv-input.c
index 492bc85c2700..41226f1d0e5b 100644
--- a/drivers/media/pci/bt8xx/bttv-input.c
+++ b/drivers/media/pci/bt8xx/bttv-input.c
@@ -386,7 +386,7 @@ void init_bttv_i2c_ir(struct bttv *btv)
if (btv->init_data.name) {
info.platform_data = &btv->init_data;
- i2c_dev = i2c_new_device(&btv->c.i2c_adap, &info);
+ i2c_dev = i2c_new_client_device(&btv->c.i2c_adap, &info);
} else {
/*
* The external IR receiver is at i2c address 0x34 (0x35 for
@@ -396,9 +396,9 @@ void init_bttv_i2c_ir(struct bttv *btv)
* internal.
* That's why we probe 0x1a (~0x34) first. CB
*/
- i2c_dev = i2c_new_probed_device(&btv->c.i2c_adap, &info, addr_list, NULL);
+ i2c_dev = i2c_new_scanned_device(&btv->c.i2c_adap, &info, addr_list, NULL);
}
- if (NULL == i2c_dev)
+ if (IS_ERR(i2c_dev))
return;
#if defined(CONFIG_MODULES) && defined(MODULE)
--
2.20.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [RFC PATCH 09/12] media: pci: bt8xx: convert to i2c_new_scanned_device
2019-11-06 9:50 ` [RFC PATCH 09/12] media: pci: bt8xx: " Wolfram Sang
@ 2019-11-06 11:19 ` Hans Verkuil
0 siblings, 0 replies; 15+ messages in thread
From: Hans Verkuil @ 2019-11-06 11:19 UTC (permalink / raw)
To: Wolfram Sang, linux-i2c; +Cc: Mauro Carvalho Chehab, linux-media, linux-kernel
On 11/6/19 10:50 AM, 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>
Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Regards,
Hans
> ---
>
> Build tested only. RFC, please comment and/or ack, but don't apply yet.
>
> drivers/media/pci/bt8xx/bttv-input.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/media/pci/bt8xx/bttv-input.c b/drivers/media/pci/bt8xx/bttv-input.c
> index 492bc85c2700..41226f1d0e5b 100644
> --- a/drivers/media/pci/bt8xx/bttv-input.c
> +++ b/drivers/media/pci/bt8xx/bttv-input.c
> @@ -386,7 +386,7 @@ void init_bttv_i2c_ir(struct bttv *btv)
>
> if (btv->init_data.name) {
> info.platform_data = &btv->init_data;
> - i2c_dev = i2c_new_device(&btv->c.i2c_adap, &info);
> + i2c_dev = i2c_new_client_device(&btv->c.i2c_adap, &info);
> } else {
> /*
> * The external IR receiver is at i2c address 0x34 (0x35 for
> @@ -396,9 +396,9 @@ void init_bttv_i2c_ir(struct bttv *btv)
> * internal.
> * That's why we probe 0x1a (~0x34) first. CB
> */
> - i2c_dev = i2c_new_probed_device(&btv->c.i2c_adap, &info, addr_list, NULL);
> + i2c_dev = i2c_new_scanned_device(&btv->c.i2c_adap, &info, addr_list, NULL);
> }
> - if (NULL == i2c_dev)
> + if (IS_ERR(i2c_dev))
> return;
>
> #if defined(CONFIG_MODULES) && defined(MODULE)
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [RFC PATCH 10/12] media: pci: cx18: 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
` (2 preceding siblings ...)
2019-11-06 9:50 ` [RFC PATCH 09/12] media: pci: bt8xx: " Wolfram Sang
@ 2019-11-06 9:50 ` Wolfram Sang
2019-11-06 11:23 ` Hans Verkuil
2019-11-06 9:50 ` [RFC PATCH 11/12] media: pci: ivtv: " Wolfram Sang
` (2 subsequent siblings)
6 siblings, 1 reply; 15+ messages in thread
From: Wolfram Sang @ 2019-11-06 9:50 UTC (permalink / raw)
To: linux-i2c
Cc: Wolfram Sang, Andy Walls, Mauro Carvalho Chehab, linux-media,
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/media/pci/cx18/cx18-i2c.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/pci/cx18/cx18-i2c.c b/drivers/media/pci/cx18/cx18-i2c.c
index 1ef7ccf4a722..a83435245251 100644
--- a/drivers/media/pci/cx18/cx18-i2c.c
+++ b/drivers/media/pci/cx18/cx18-i2c.c
@@ -88,7 +88,7 @@ static int cx18_i2c_new_ir(struct cx18 *cx, struct i2c_adapter *adap, u32 hw,
break;
}
- return i2c_new_probed_device(adap, &info, addr_list, NULL) == NULL ?
+ return IS_ERR(i2c_new_scanned_device(adap, &info, addr_list, NULL)) ?
-1 : 0;
}
--
2.20.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [RFC PATCH 10/12] media: pci: cx18: convert to i2c_new_scanned_device
2019-11-06 9:50 ` [RFC PATCH 10/12] media: pci: cx18: " Wolfram Sang
@ 2019-11-06 11:23 ` Hans Verkuil
0 siblings, 0 replies; 15+ messages in thread
From: Hans Verkuil @ 2019-11-06 11:23 UTC (permalink / raw)
To: Wolfram Sang, linux-i2c
Cc: Andy Walls, Mauro Carvalho Chehab, linux-media, linux-kernel
On 11/6/19 10:50 AM, 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>
Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Regards,
Hans
> ---
>
> Build tested only. RFC, please comment and/or ack, but don't apply yet.
>
> drivers/media/pci/cx18/cx18-i2c.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/pci/cx18/cx18-i2c.c b/drivers/media/pci/cx18/cx18-i2c.c
> index 1ef7ccf4a722..a83435245251 100644
> --- a/drivers/media/pci/cx18/cx18-i2c.c
> +++ b/drivers/media/pci/cx18/cx18-i2c.c
> @@ -88,7 +88,7 @@ static int cx18_i2c_new_ir(struct cx18 *cx, struct i2c_adapter *adap, u32 hw,
> break;
> }
>
> - return i2c_new_probed_device(adap, &info, addr_list, NULL) == NULL ?
> + return IS_ERR(i2c_new_scanned_device(adap, &info, addr_list, NULL)) ?
> -1 : 0;
> }
>
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [RFC PATCH 11/12] media: pci: ivtv: 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
` (3 preceding siblings ...)
2019-11-06 9:50 ` [RFC PATCH 10/12] media: pci: cx18: " Wolfram Sang
@ 2019-11-06 9:50 ` Wolfram Sang
2019-11-06 11:21 ` Hans Verkuil
2019-11-06 9:50 ` [RFC PATCH 12/12] media: v4l2-core: " Wolfram Sang
2019-11-06 10:06 ` [RFC PATCH 00/12] i2c: replace i2c_new_probed_device with an ERR_PTR variant Sean Young
6 siblings, 1 reply; 15+ messages in thread
From: Wolfram Sang @ 2019-11-06 9:50 UTC (permalink / raw)
To: linux-i2c
Cc: Wolfram Sang, Andy Walls, Mauro Carvalho Chehab, linux-media,
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. Change
the legacy function to simply return void because the retval was never
used anywhere.
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/media/pci/ivtv/ivtv-i2c.c | 6 +++---
drivers/media/pci/ivtv/ivtv-i2c.h | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/media/pci/ivtv/ivtv-i2c.c b/drivers/media/pci/ivtv/ivtv-i2c.c
index 0772d757a389..982045c4eea8 100644
--- a/drivers/media/pci/ivtv/ivtv-i2c.c
+++ b/drivers/media/pci/ivtv/ivtv-i2c.c
@@ -208,12 +208,12 @@ static int ivtv_i2c_new_ir(struct ivtv *itv, u32 hw, const char *type, u8 addr)
info.platform_data = init_data;
strscpy(info.type, type, I2C_NAME_SIZE);
- return i2c_new_probed_device(adap, &info, addr_list, NULL) == NULL ?
+ return IS_ERR(i2c_new_scanned_device(adap, &info, addr_list, NULL)) ?
-1 : 0;
}
/* Instantiate the IR receiver device using probing -- undesirable */
-struct i2c_client *ivtv_i2c_new_ir_legacy(struct ivtv *itv)
+void ivtv_i2c_new_ir_legacy(struct ivtv *itv)
{
struct i2c_board_info info;
/*
@@ -235,7 +235,7 @@ struct i2c_client *ivtv_i2c_new_ir_legacy(struct ivtv *itv)
memset(&info, 0, sizeof(struct i2c_board_info));
strscpy(info.type, "ir_video", I2C_NAME_SIZE);
- return i2c_new_probed_device(&itv->i2c_adap, &info, addr_list, NULL);
+ i2c_new_scanned_device(&itv->i2c_adap, &info, addr_list, NULL);
}
int ivtv_i2c_register(struct ivtv *itv, unsigned idx)
diff --git a/drivers/media/pci/ivtv/ivtv-i2c.h b/drivers/media/pci/ivtv/ivtv-i2c.h
index 462f73449a6e..2d9cdaa682c5 100644
--- a/drivers/media/pci/ivtv/ivtv-i2c.h
+++ b/drivers/media/pci/ivtv/ivtv-i2c.h
@@ -9,7 +9,7 @@
#ifndef IVTV_I2C_H
#define IVTV_I2C_H
-struct i2c_client *ivtv_i2c_new_ir_legacy(struct ivtv *itv);
+void ivtv_i2c_new_ir_legacy(struct ivtv *itv);
int ivtv_i2c_register(struct ivtv *itv, unsigned idx);
struct v4l2_subdev *ivtv_find_hw(struct ivtv *itv, u32 hw);
--
2.20.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [RFC PATCH 11/12] media: pci: ivtv: convert to i2c_new_scanned_device
2019-11-06 9:50 ` [RFC PATCH 11/12] media: pci: ivtv: " Wolfram Sang
@ 2019-11-06 11:21 ` Hans Verkuil
0 siblings, 0 replies; 15+ messages in thread
From: Hans Verkuil @ 2019-11-06 11:21 UTC (permalink / raw)
To: Wolfram Sang, linux-i2c
Cc: Andy Walls, Mauro Carvalho Chehab, linux-media, linux-kernel
On 11/6/19 10:50 AM, 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. Change
> the legacy function to simply return void because the retval was never
> used anywhere.
>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Regards,
Hans
> ---
>
> Build tested only. RFC, please comment and/or ack, but don't apply yet.
>
> drivers/media/pci/ivtv/ivtv-i2c.c | 6 +++---
> drivers/media/pci/ivtv/ivtv-i2c.h | 2 +-
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/pci/ivtv/ivtv-i2c.c b/drivers/media/pci/ivtv/ivtv-i2c.c
> index 0772d757a389..982045c4eea8 100644
> --- a/drivers/media/pci/ivtv/ivtv-i2c.c
> +++ b/drivers/media/pci/ivtv/ivtv-i2c.c
> @@ -208,12 +208,12 @@ static int ivtv_i2c_new_ir(struct ivtv *itv, u32 hw, const char *type, u8 addr)
> info.platform_data = init_data;
> strscpy(info.type, type, I2C_NAME_SIZE);
>
> - return i2c_new_probed_device(adap, &info, addr_list, NULL) == NULL ?
> + return IS_ERR(i2c_new_scanned_device(adap, &info, addr_list, NULL)) ?
> -1 : 0;
> }
>
> /* Instantiate the IR receiver device using probing -- undesirable */
> -struct i2c_client *ivtv_i2c_new_ir_legacy(struct ivtv *itv)
> +void ivtv_i2c_new_ir_legacy(struct ivtv *itv)
> {
> struct i2c_board_info info;
> /*
> @@ -235,7 +235,7 @@ struct i2c_client *ivtv_i2c_new_ir_legacy(struct ivtv *itv)
>
> memset(&info, 0, sizeof(struct i2c_board_info));
> strscpy(info.type, "ir_video", I2C_NAME_SIZE);
> - return i2c_new_probed_device(&itv->i2c_adap, &info, addr_list, NULL);
> + i2c_new_scanned_device(&itv->i2c_adap, &info, addr_list, NULL);
> }
>
> int ivtv_i2c_register(struct ivtv *itv, unsigned idx)
> diff --git a/drivers/media/pci/ivtv/ivtv-i2c.h b/drivers/media/pci/ivtv/ivtv-i2c.h
> index 462f73449a6e..2d9cdaa682c5 100644
> --- a/drivers/media/pci/ivtv/ivtv-i2c.h
> +++ b/drivers/media/pci/ivtv/ivtv-i2c.h
> @@ -9,7 +9,7 @@
> #ifndef IVTV_I2C_H
> #define IVTV_I2C_H
>
> -struct i2c_client *ivtv_i2c_new_ir_legacy(struct ivtv *itv);
> +void ivtv_i2c_new_ir_legacy(struct ivtv *itv);
> int ivtv_i2c_register(struct ivtv *itv, unsigned idx);
> struct v4l2_subdev *ivtv_find_hw(struct ivtv *itv, u32 hw);
>
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [RFC PATCH 12/12] media: v4l2-core: 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
` (4 preceding siblings ...)
2019-11-06 9:50 ` [RFC PATCH 11/12] media: pci: ivtv: " Wolfram Sang
@ 2019-11-06 9:50 ` Wolfram Sang
2019-11-06 11:24 ` Hans Verkuil
2019-11-06 10:06 ` [RFC PATCH 00/12] i2c: replace i2c_new_probed_device with an ERR_PTR variant Sean Young
6 siblings, 1 reply; 15+ messages in thread
From: Wolfram Sang @ 2019-11-06 9:50 UTC (permalink / raw)
To: linux-i2c; +Cc: Wolfram Sang, Mauro Carvalho Chehab, linux-media, 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/media/v4l2-core/v4l2-i2c.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/media/v4l2-core/v4l2-i2c.c b/drivers/media/v4l2-core/v4l2-i2c.c
index 5bf99e7c0c09..25ddda3b7ce6 100644
--- a/drivers/media/v4l2-core/v4l2-i2c.c
+++ b/drivers/media/v4l2-core/v4l2-i2c.c
@@ -74,10 +74,10 @@ struct v4l2_subdev
/* Create the i2c client */
if (info->addr == 0 && probe_addrs)
- client = i2c_new_probed_device(adapter, info, probe_addrs,
- NULL);
+ client = i2c_new_scanned_device(adapter, info, probe_addrs,
+ NULL);
else
- client = i2c_new_device(adapter, info);
+ client = i2c_new_client_device(adapter, info);
/*
* Note: by loading the module first we are certain that c->driver
@@ -88,7 +88,7 @@ struct v4l2_subdev
* want to use the i2c device, so explicitly loading the module
* is the best alternative.
*/
- if (!client || !client->dev.driver)
+ if (IS_ERR(client) || !client->dev.driver)
goto error;
/* Lock the module so we can safely get the v4l2_subdev pointer */
@@ -110,7 +110,7 @@ struct v4l2_subdev
* If we have a client but no subdev, then something went wrong and
* we must unregister the client.
*/
- if (client && !sd)
+ if (!IS_ERR(client) && !sd)
i2c_unregister_device(client);
return sd;
}
--
2.20.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [RFC PATCH 12/12] media: v4l2-core: convert to i2c_new_scanned_device
2019-11-06 9:50 ` [RFC PATCH 12/12] media: v4l2-core: " Wolfram Sang
@ 2019-11-06 11:24 ` Hans Verkuil
0 siblings, 0 replies; 15+ messages in thread
From: Hans Verkuil @ 2019-11-06 11:24 UTC (permalink / raw)
To: Wolfram Sang, linux-i2c; +Cc: Mauro Carvalho Chehab, linux-media, linux-kernel
On 11/6/19 10:50 AM, 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>
Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Regards,
Hans
> ---
>
> Build tested only. RFC, please comment and/or ack, but don't apply yet.
>
> drivers/media/v4l2-core/v4l2-i2c.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/media/v4l2-core/v4l2-i2c.c b/drivers/media/v4l2-core/v4l2-i2c.c
> index 5bf99e7c0c09..25ddda3b7ce6 100644
> --- a/drivers/media/v4l2-core/v4l2-i2c.c
> +++ b/drivers/media/v4l2-core/v4l2-i2c.c
> @@ -74,10 +74,10 @@ struct v4l2_subdev
>
> /* Create the i2c client */
> if (info->addr == 0 && probe_addrs)
> - client = i2c_new_probed_device(adapter, info, probe_addrs,
> - NULL);
> + client = i2c_new_scanned_device(adapter, info, probe_addrs,
> + NULL);
> else
> - client = i2c_new_device(adapter, info);
> + client = i2c_new_client_device(adapter, info);
>
> /*
> * Note: by loading the module first we are certain that c->driver
> @@ -88,7 +88,7 @@ struct v4l2_subdev
> * want to use the i2c device, so explicitly loading the module
> * is the best alternative.
> */
> - if (!client || !client->dev.driver)
> + if (IS_ERR(client) || !client->dev.driver)
> goto error;
>
> /* Lock the module so we can safely get the v4l2_subdev pointer */
> @@ -110,7 +110,7 @@ struct v4l2_subdev
> * If we have a client but no subdev, then something went wrong and
> * we must unregister the client.
> */
> - if (client && !sd)
> + if (!IS_ERR(client) && !sd)
> i2c_unregister_device(client);
> return sd;
> }
>
^ permalink raw reply [flat|nested] 15+ 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
` (5 preceding siblings ...)
2019-11-06 9:50 ` [RFC PATCH 12/12] media: v4l2-core: " Wolfram Sang
@ 2019-11-06 10:06 ` Sean Young
6 siblings, 0 replies; 15+ 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] 15+ messages in thread