2021-03-14 18:12:14

by Mugilraj Dhavachelvan

[permalink] [raw]
Subject: [PATCH v2] iio:dac:max517.c: Use devm_iio_device_register()

Use devm_iio_device_register() to avoid remove function and
drop explicit call to iio_device_unregister().

Signed-off-by: Mugilraj Dhavachelvan <[email protected]>

changes v1->v2:
-As sugested by Alexandru removed i2c_set_clientdata() because the stored
data will be never used.
---
drivers/iio/dac/max517.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/iio/dac/max517.c b/drivers/iio/dac/max517.c
index 7e01838ef4d0..00f0062a0298 100644
--- a/drivers/iio/dac/max517.c
+++ b/drivers/iio/dac/max517.c
@@ -153,7 +153,6 @@ static int max517_probe(struct i2c_client *client,
if (!indio_dev)
return -ENOMEM;
data = iio_priv(indio_dev);
- i2c_set_clientdata(client, indio_dev);
data->client = client;

/* establish that the iio_dev is a child of the i2c device */
@@ -189,13 +188,7 @@ static int max517_probe(struct i2c_client *client,
data->vref_mv[chan] = platform_data->vref_mv[chan];
}

- return iio_device_register(indio_dev);
-}
-
-static int max517_remove(struct i2c_client *client)
-{
- iio_device_unregister(i2c_get_clientdata(client));
- return 0;
+ return devm_iio_device_register(&client->dev, indio_dev);
}

static const struct i2c_device_id max517_id[] = {
@@ -214,7 +207,6 @@ static struct i2c_driver max517_driver = {
.pm = &max517_pm_ops,
},
.probe = max517_probe,
- .remove = max517_remove,
.id_table = max517_id,
};
module_i2c_driver(max517_driver);
--
2.25.1


2021-03-15 05:59:40

by Lars-Peter Clausen

[permalink] [raw]
Subject: Re: [PATCH v2] iio:dac:max517.c: Use devm_iio_device_register()

On 3/14/21 6:57 PM, Mugilraj Dhavachelvan wrote:
> Use devm_iio_device_register() to avoid remove function and
> drop explicit call to iio_device_unregister().
>
> Signed-off-by: Mugilraj Dhavachelvan <[email protected]>
>
> changes v1->v2:
> -As sugested by Alexandru removed i2c_set_clientdata() because the stored
> data will be never used.

Hi,

This looks good!

Reviewed-by: Lars-Peter Clausen <[email protected]>

One thing process wise. I know it is tempting to send version 2 as a
reply to version 1, but this way it is also easy for the messages to get
lost in longer threads. At least for the IIO mailinglist we have decided
that it is best to send new versions of a patch series as their own
threads so that they stand own and get noticed.

- Lars

> ---
> drivers/iio/dac/max517.c | 10 +---------
> 1 file changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/drivers/iio/dac/max517.c b/drivers/iio/dac/max517.c
> index 7e01838ef4d0..00f0062a0298 100644
> --- a/drivers/iio/dac/max517.c
> +++ b/drivers/iio/dac/max517.c
> @@ -153,7 +153,6 @@ static int max517_probe(struct i2c_client *client,
> if (!indio_dev)
> return -ENOMEM;
> data = iio_priv(indio_dev);
> - i2c_set_clientdata(client, indio_dev);
> data->client = client;
>
> /* establish that the iio_dev is a child of the i2c device */
> @@ -189,13 +188,7 @@ static int max517_probe(struct i2c_client *client,
> data->vref_mv[chan] = platform_data->vref_mv[chan];
> }
>
> - return iio_device_register(indio_dev);
> -}
> -
> -static int max517_remove(struct i2c_client *client)
> -{
> - iio_device_unregister(i2c_get_clientdata(client));
> - return 0;
> + return devm_iio_device_register(&client->dev, indio_dev);
> }
>
> static const struct i2c_device_id max517_id[] = {
> @@ -214,7 +207,6 @@ static struct i2c_driver max517_driver = {
> .pm = &max517_pm_ops,
> },
> .probe = max517_probe,
> - .remove = max517_remove,
> .id_table = max517_id,
> };
> module_i2c_driver(max517_driver);


2021-03-20 14:41:19

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH v2] iio:dac:max517.c: Use devm_iio_device_register()

On Mon, 15 Mar 2021 06:55:53 +0100
Lars-Peter Clausen <[email protected]> wrote:

> On 3/14/21 6:57 PM, Mugilraj Dhavachelvan wrote:
> > Use devm_iio_device_register() to avoid remove function and
> > drop explicit call to iio_device_unregister().
> >
> > Signed-off-by: Mugilraj Dhavachelvan <[email protected]>
> >
> > changes v1->v2:
> > -As sugested by Alexandru removed i2c_set_clientdata() because the stored
> > data will be never used.
This changelog belongs below the -- so that it doesn't get picked
up for the permanent log in by git am. I fixed that up whilst applying.

Otherwise looks good.

Applied to the togreg branch of iio.git and pushed out as testing
to let the autobuilder bots like 0-day see if they can find anything
we missed. That usually takes about a day and I need to fix up any
resulting issues before pushing this out as the non-rebasing togreg
branch on which pull requests are then based.

Thanks,

Jonathan

>
> Hi,
>
> This looks good!
>
> Reviewed-by: Lars-Peter Clausen <[email protected]>
>
> One thing process wise. I know it is tempting to send version 2 as a
> reply to version 1, but this way it is also easy for the messages to get
> lost in longer threads. At least for the IIO mailinglist we have decided
> that it is best to send new versions of a patch series as their own
> threads so that they stand own and get noticed.
>
> - Lars
>
> > ---
> > drivers/iio/dac/max517.c | 10 +---------
> > 1 file changed, 1 insertion(+), 9 deletions(-)
> >
> > diff --git a/drivers/iio/dac/max517.c b/drivers/iio/dac/max517.c
> > index 7e01838ef4d0..00f0062a0298 100644
> > --- a/drivers/iio/dac/max517.c
> > +++ b/drivers/iio/dac/max517.c
> > @@ -153,7 +153,6 @@ static int max517_probe(struct i2c_client *client,
> > if (!indio_dev)
> > return -ENOMEM;
> > data = iio_priv(indio_dev);
> > - i2c_set_clientdata(client, indio_dev);
> > data->client = client;
> >
> > /* establish that the iio_dev is a child of the i2c device */
> > @@ -189,13 +188,7 @@ static int max517_probe(struct i2c_client *client,
> > data->vref_mv[chan] = platform_data->vref_mv[chan];
> > }
> >
> > - return iio_device_register(indio_dev);
> > -}
> > -
> > -static int max517_remove(struct i2c_client *client)
> > -{
> > - iio_device_unregister(i2c_get_clientdata(client));
> > - return 0;
> > + return devm_iio_device_register(&client->dev, indio_dev);
> > }
> >
> > static const struct i2c_device_id max517_id[] = {
> > @@ -214,7 +207,6 @@ static struct i2c_driver max517_driver = {
> > .pm = &max517_pm_ops,
> > },
> > .probe = max517_probe,
> > - .remove = max517_remove,
> > .id_table = max517_id,
> > };
> > module_i2c_driver(max517_driver);
>
>