We are deprecating calls which return NULL in favor of new variants which
return an ERR_PTR. Only build tested.
Wolfram Sang (1):
char: ipmi: convert to use i2c_new_client_device()
drivers/char/ipmi/ipmi_ssif.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--
2.20.1
Move away from the deprecated API.
Signed-off-by: Wolfram Sang <[email protected]>
---
drivers/char/ipmi/ipmi_ssif.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
index 8ac390c2b514..2791b799e33d 100644
--- a/drivers/char/ipmi/ipmi_ssif.c
+++ b/drivers/char/ipmi/ipmi_ssif.c
@@ -1945,8 +1945,8 @@ static int ssif_adapter_handler(struct device *adev, void *opaque)
if (adev->type != &i2c_adapter_type)
return 0;
- addr_info->added_client = i2c_new_device(to_i2c_adapter(adev),
- &addr_info->binfo);
+ addr_info->added_client = i2c_new_client_device(to_i2c_adapter(adev),
+ &addr_info->binfo);
if (!addr_info->adapter_name)
return 1; /* Only try the first I2C adapter by default. */
--
2.20.1
On Thu, Mar 26, 2020 at 10:09:58PM +0100, Wolfram Sang wrote:
> Move away from the deprecated API.
>
> Signed-off-by: Wolfram Sang <[email protected]>
Can we have this now so I can remove the old API in the next merge
window?
> ---
> drivers/char/ipmi/ipmi_ssif.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
> index 8ac390c2b514..2791b799e33d 100644
> --- a/drivers/char/ipmi/ipmi_ssif.c
> +++ b/drivers/char/ipmi/ipmi_ssif.c
> @@ -1945,8 +1945,8 @@ static int ssif_adapter_handler(struct device *adev, void *opaque)
> if (adev->type != &i2c_adapter_type)
> return 0;
>
> - addr_info->added_client = i2c_new_device(to_i2c_adapter(adev),
> - &addr_info->binfo);
> + addr_info->added_client = i2c_new_client_device(to_i2c_adapter(adev),
> + &addr_info->binfo);
>
> if (!addr_info->adapter_name)
> return 1; /* Only try the first I2C adapter by default. */
> --
> 2.20.1
>
On Thu, Mar 26, 2020 at 10:09:58PM +0100, Wolfram Sang wrote:
> Move away from the deprecated API.
>
> Signed-off-by: Wolfram Sang <[email protected]>
Ok by me.
Acked-by: Corey Minyard <[email protected]>
Do you want me to take this, or is this part of something else? I can
submit it if you like.
-corey
> ---
> drivers/char/ipmi/ipmi_ssif.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
> index 8ac390c2b514..2791b799e33d 100644
> --- a/drivers/char/ipmi/ipmi_ssif.c
> +++ b/drivers/char/ipmi/ipmi_ssif.c
> @@ -1945,8 +1945,8 @@ static int ssif_adapter_handler(struct device *adev, void *opaque)
> if (adev->type != &i2c_adapter_type)
> return 0;
>
> - addr_info->added_client = i2c_new_device(to_i2c_adapter(adev),
> - &addr_info->binfo);
> + addr_info->added_client = i2c_new_client_device(to_i2c_adapter(adev),
> + &addr_info->binfo);
>
> if (!addr_info->adapter_name)
> return 1; /* Only try the first I2C adapter by default. */
> --
> 2.20.1
>
On Tue, May 12, 2020 at 01:25:17PM -0500, Corey Minyard wrote:
> On Thu, Mar 26, 2020 at 10:09:58PM +0100, Wolfram Sang wrote:
> > Move away from the deprecated API.
> >
> > Signed-off-by: Wolfram Sang <[email protected]>
>
> Ok by me.
>
> Acked-by: Corey Minyard <[email protected]>
>
> Do you want me to take this, or is this part of something else? I can
> submit it if you like.
I'd prefer if you take it. But I can take it if it is easier for you.
Thanks!
On Thu, Mar 26, 2020 at 10:09:58PM +0100, Wolfram Sang wrote:
> Move away from the deprecated API.
Well, I should have looked a little closer first... comment inline
>
> Signed-off-by: Wolfram Sang <[email protected]>
> ---
> drivers/char/ipmi/ipmi_ssif.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
> index 8ac390c2b514..2791b799e33d 100644
> --- a/drivers/char/ipmi/ipmi_ssif.c
> +++ b/drivers/char/ipmi/ipmi_ssif.c
> @@ -1945,8 +1945,8 @@ static int ssif_adapter_handler(struct device *adev, void *opaque)
> if (adev->type != &i2c_adapter_type)
> return 0;
>
> - addr_info->added_client = i2c_new_device(to_i2c_adapter(adev),
> - &addr_info->binfo);
> + addr_info->added_client = i2c_new_client_device(to_i2c_adapter(adev),
> + &addr_info->binfo);
i2c_new_client_device returns an ERR_PTR, not NULL on error. So this
needs some more work. I'll send something out soon.
-corey
>
> if (!addr_info->adapter_name)
> return 1; /* Only try the first I2C adapter by default. */
> --
> 2.20.1
>
From: Wolfram Sang <[email protected]>
Move away from the deprecated API.
Based on a patch by Wolfram Sang <[email protected]>.
Signed-off-by: Corey Minyard <[email protected]>
---
I think this works.
drivers/char/ipmi/ipmi_ssif.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
index b7145f370d3b..65563e5e5731 100644
--- a/drivers/char/ipmi/ipmi_ssif.c
+++ b/drivers/char/ipmi/ipmi_ssif.c
@@ -1943,12 +1943,14 @@ static int ssif_probe(struct i2c_client *client, const struct i2c_device_id *id)
static int ssif_adapter_handler(struct device *adev, void *opaque)
{
struct ssif_addr_info *addr_info = opaque;
+ struct i2c_client *cl;
if (adev->type != &i2c_adapter_type)
return 0;
- addr_info->added_client = i2c_new_device(to_i2c_adapter(adev),
- &addr_info->binfo);
+ cl = i2c_new_client_device(to_i2c_adapter(adev), &addr_info->binfo);
+ if (!IS_ERR(cl))
+ addr_info->added_client = cl;
if (!addr_info->adapter_name)
return 1; /* Only try the first I2C adapter by default. */
--
2.17.1
> > - addr_info->added_client = i2c_new_device(to_i2c_adapter(adev),
> > - &addr_info->binfo);
> > + addr_info->added_client = i2c_new_client_device(to_i2c_adapter(adev),
> > + &addr_info->binfo);
>
> i2c_new_client_device returns an ERR_PTR, not NULL on error. So this
Yes, this is the main motivation for the new API.
> needs some more work. I'll send something out soon.
Why does it need that work? 'added_client' is only used with
i2c_unregister_device() which has been fixed to handle ERR_PTR as well.
Or am I missing something?
On Tue, May 12, 2020 at 04:45:32PM -0500, [email protected] wrote:
> From: Wolfram Sang <[email protected]>
>
> Move away from the deprecated API.
>
> Based on a patch by Wolfram Sang <[email protected]>.
>
> Signed-off-by: Corey Minyard <[email protected]>
> ---
> I think this works.
Yes, we can do it like this (despite the question from earlier if it is
really needed). I fixed other drivers using this pattern, too.
As Stephen Rothwell pointed out, you either need to remove my "From:" or
add my SoB. I am fine with both.
Thanks,
Wolfram
On Wed, May 13, 2020 at 09:10:04AM +0200, Wolfram Sang wrote:
>
> > > - addr_info->added_client = i2c_new_device(to_i2c_adapter(adev),
> > > - &addr_info->binfo);
> > > + addr_info->added_client = i2c_new_client_device(to_i2c_adapter(adev),
> > > + &addr_info->binfo);
> >
> > i2c_new_client_device returns an ERR_PTR, not NULL on error. So this
>
> Yes, this is the main motivation for the new API.
>
> > needs some more work. I'll send something out soon.
>
> Why does it need that work? 'added_client' is only used with
> i2c_unregister_device() which has been fixed to handle ERR_PTR as well.
> Or am I missing something?
>
No, I didn't look to see if i2c_unregister_device could handle that.
-corey
On Wed, May 13, 2020 at 10:37:46AM +0200, Wolfram Sang wrote:
> On Tue, May 12, 2020 at 04:45:32PM -0500, [email protected] wrote:
> > From: Wolfram Sang <[email protected]>
> >
> > Move away from the deprecated API.
> >
> > Based on a patch by Wolfram Sang <[email protected]>.
> >
> > Signed-off-by: Corey Minyard <[email protected]>
> > ---
> > I think this works.
>
> Yes, we can do it like this (despite the question from earlier if it is
> really needed). I fixed other drivers using this pattern, too.
I was wondering whether this is really needed, too, but I'm not 100%
sure it can be removed in all cases. This is the safer route.
>
> As Stephen Rothwell pointed out, you either need to remove my "From:" or
> add my SoB. I am fine with both.
It was enough of a rewrite that you as the author didn't seem right.
I've fixed the From line, sorry about that.
-corey
>
> Thanks,
>
> Wolfram
>