* [PATCH v2 0/3] use resource managed devm_iio_device_register
@ 2015-10-02 10:37 Ioana Ciornei
2015-10-02 10:37 ` [PATCH v2 1/3] staging: iio: cdc: use devm_iio_device_register instead iio_device_register Ioana Ciornei
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Ioana Ciornei @ 2015-10-02 10:37 UTC (permalink / raw)
To: outreachy-kernel; +Cc: Ioana Ciornei
This patchset replaces the use of iio_device_register with
the resource managed function devm_iio_device_register when the remove function
only unregisters the device. Since an iio_dev registered with this function is
automatically unregistered on driver detach there is no need for the remove
function and therefore it is removed.
Ioana Ciornei (3):
staging: iio: cdc: use devm_iio_device_register instead
iio_device_register
staging: iio: light: use devm_iio_device_register instead
iio_device_register
staging: iio: resolver: replace iio_device_register by
devm_iio_device_register
drivers/staging/iio/cdc/ad7150.c | 12 +-----------
drivers/staging/iio/cdc/ad7152.c | 12 +-----------
drivers/staging/iio/cdc/ad7746.c | 12 +-----------
drivers/staging/iio/light/isl29028.c | 11 +----------
drivers/staging/iio/light/tsl2583.c | 10 +---------
drivers/staging/iio/resolver/ad2s90.c | 10 +---------
6 files changed, 6 insertions(+), 61 deletions(-)
--
2.1.4
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 1/3] staging: iio: cdc: use devm_iio_device_register instead iio_device_register
2015-10-02 10:37 [PATCH v2 0/3] use resource managed devm_iio_device_register Ioana Ciornei
@ 2015-10-02 10:37 ` Ioana Ciornei
2015-10-02 10:37 ` [PATCH v2 2/3] staging: iio: light: " Ioana Ciornei
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Ioana Ciornei @ 2015-10-02 10:37 UTC (permalink / raw)
To: outreachy-kernel; +Cc: Ioana Ciornei
Replace iio_device_register with resource managed devm_iio_device_register in order
to ease the error path. Also delete de remove function since there is no need after
this change.
Signed-off-by: Ioana Ciornei <ciorneiioana@gmail.com>
---
Changes in v2:
- no change
drivers/staging/iio/cdc/ad7150.c | 12 +-----------
drivers/staging/iio/cdc/ad7152.c | 12 +-----------
drivers/staging/iio/cdc/ad7746.c | 12 +-----------
3 files changed, 3 insertions(+), 33 deletions(-)
diff --git a/drivers/staging/iio/cdc/ad7150.c b/drivers/staging/iio/cdc/ad7150.c
index a2b7ae3..ff83394 100644
--- a/drivers/staging/iio/cdc/ad7150.c
+++ b/drivers/staging/iio/cdc/ad7150.c
@@ -636,7 +636,7 @@ static int ad7150_probe(struct i2c_client *client,
return ret;
}
- ret = iio_device_register(indio_dev);
+ ret = devm_iio_device_register(indio_dev->dev.parent, indio_dev);
if (ret)
return ret;
@@ -646,15 +646,6 @@ static int ad7150_probe(struct i2c_client *client,
return 0;
}
-static int ad7150_remove(struct i2c_client *client)
-{
- struct iio_dev *indio_dev = i2c_get_clientdata(client);
-
- iio_device_unregister(indio_dev);
-
- return 0;
-}
-
static const struct i2c_device_id ad7150_id[] = {
{ "ad7150", 0 },
{ "ad7151", 0 },
@@ -669,7 +660,6 @@ static struct i2c_driver ad7150_driver = {
.name = "ad7150",
},
.probe = ad7150_probe,
- .remove = ad7150_remove,
.id_table = ad7150_id,
};
module_i2c_driver(ad7150_driver);
diff --git a/drivers/staging/iio/cdc/ad7152.c b/drivers/staging/iio/cdc/ad7152.c
index 87110d9..c3d5531 100644
--- a/drivers/staging/iio/cdc/ad7152.c
+++ b/drivers/staging/iio/cdc/ad7152.c
@@ -502,7 +502,7 @@ static int ad7152_probe(struct i2c_client *client,
indio_dev->num_channels = ARRAY_SIZE(ad7152_channels);
indio_dev->modes = INDIO_DIRECT_MODE;
- ret = iio_device_register(indio_dev);
+ ret = devm_iio_device_register(indio_dev->dev.parent, indio_dev);
if (ret)
return ret;
@@ -511,15 +511,6 @@ static int ad7152_probe(struct i2c_client *client,
return 0;
}
-static int ad7152_remove(struct i2c_client *client)
-{
- struct iio_dev *indio_dev = i2c_get_clientdata(client);
-
- iio_device_unregister(indio_dev);
-
- return 0;
-}
-
static const struct i2c_device_id ad7152_id[] = {
{ "ad7152", 0 },
{ "ad7153", 1 },
@@ -533,7 +524,6 @@ static struct i2c_driver ad7152_driver = {
.name = KBUILD_MODNAME,
},
.probe = ad7152_probe,
- .remove = ad7152_remove,
.id_table = ad7152_id,
};
module_i2c_driver(ad7152_driver);
diff --git a/drivers/staging/iio/cdc/ad7746.c b/drivers/staging/iio/cdc/ad7746.c
index 10fa372..999c4fa 100644
--- a/drivers/staging/iio/cdc/ad7746.c
+++ b/drivers/staging/iio/cdc/ad7746.c
@@ -749,7 +749,7 @@ static int ad7746_probe(struct i2c_client *client,
if (ret < 0)
return ret;
- ret = iio_device_register(indio_dev);
+ ret = devm_iio_device_register(indio_dev->dev.parent, indio_dev);
if (ret)
return ret;
@@ -758,15 +758,6 @@ static int ad7746_probe(struct i2c_client *client,
return 0;
}
-static int ad7746_remove(struct i2c_client *client)
-{
- struct iio_dev *indio_dev = i2c_get_clientdata(client);
-
- iio_device_unregister(indio_dev);
-
- return 0;
-}
-
static const struct i2c_device_id ad7746_id[] = {
{ "ad7745", 7745 },
{ "ad7746", 7746 },
@@ -781,7 +772,6 @@ static struct i2c_driver ad7746_driver = {
.name = KBUILD_MODNAME,
},
.probe = ad7746_probe,
- .remove = ad7746_remove,
.id_table = ad7746_id,
};
module_i2c_driver(ad7746_driver);
--
2.1.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 2/3] staging: iio: light: use devm_iio_device_register instead iio_device_register
2015-10-02 10:37 [PATCH v2 0/3] use resource managed devm_iio_device_register Ioana Ciornei
2015-10-02 10:37 ` [PATCH v2 1/3] staging: iio: cdc: use devm_iio_device_register instead iio_device_register Ioana Ciornei
@ 2015-10-02 10:37 ` Ioana Ciornei
2015-10-02 10:37 ` [PATCH v2 3/3] staging: iio: resolver: replace iio_device_register by devm_iio_device_register Ioana Ciornei
2015-10-02 21:28 ` [Outreachy kernel] [PATCH v2 0/3] use resource managed devm_iio_device_register Arnd Bergmann
3 siblings, 0 replies; 5+ messages in thread
From: Ioana Ciornei @ 2015-10-02 10:37 UTC (permalink / raw)
To: outreachy-kernel; +Cc: Ioana Ciornei
Replace iio_device_register with resource managed devm_iio_device_register in order
to ease the error path. Also delete the remove function since there is no need after
this change.
Signed-off-by: Ioana Ciornei <ciorneiioana@gmail.com>
---
Changes in v2:
- fix accidentally removed comma
- fix typo in commit message
drivers/staging/iio/light/isl29028.c | 11 +----------
drivers/staging/iio/light/tsl2583.c | 10 +---------
2 files changed, 2 insertions(+), 19 deletions(-)
diff --git a/drivers/staging/iio/light/isl29028.c b/drivers/staging/iio/light/isl29028.c
index cd6f272..32ae112 100644
--- a/drivers/staging/iio/light/isl29028.c
+++ b/drivers/staging/iio/light/isl29028.c
@@ -513,7 +513,7 @@ static int isl29028_probe(struct i2c_client *client,
indio_dev->name = id->name;
indio_dev->dev.parent = &client->dev;
indio_dev->modes = INDIO_DIRECT_MODE;
- ret = iio_device_register(indio_dev);
+ ret = devm_iio_device_register(indio_dev->dev.parent, indio_dev);
if (ret < 0) {
dev_err(chip->dev, "iio registration fails with error %d\n",
ret);
@@ -522,14 +522,6 @@ static int isl29028_probe(struct i2c_client *client,
return 0;
}
-static int isl29028_remove(struct i2c_client *client)
-{
- struct iio_dev *indio_dev = i2c_get_clientdata(client);
-
- iio_device_unregister(indio_dev);
- return 0;
-}
-
static const struct i2c_device_id isl29028_id[] = {
{"isl29028", 0},
{}
@@ -550,7 +542,6 @@ static struct i2c_driver isl29028_driver = {
.of_match_table = isl29028_of_match,
},
.probe = isl29028_probe,
- .remove = isl29028_remove,
.id_table = isl29028_id,
};
diff --git a/drivers/staging/iio/light/tsl2583.c b/drivers/staging/iio/light/tsl2583.c
index b5e1b8b..df60203 100644
--- a/drivers/staging/iio/light/tsl2583.c
+++ b/drivers/staging/iio/light/tsl2583.c
@@ -862,7 +862,7 @@ static int taos_probe(struct i2c_client *clientp,
indio_dev->dev.parent = &clientp->dev;
indio_dev->modes = INDIO_DIRECT_MODE;
indio_dev->name = chip->client->name;
- ret = iio_device_register(indio_dev);
+ ret = devm_iio_device_register(indio_dev->dev.parent, indio_dev);
if (ret) {
dev_err(&clientp->dev, "iio registration failed\n");
return ret;
@@ -917,13 +917,6 @@ static SIMPLE_DEV_PM_OPS(taos_pm_ops, taos_suspend, taos_resume);
#define TAOS_PM_OPS NULL
#endif
-static int taos_remove(struct i2c_client *client)
-{
- iio_device_unregister(i2c_get_clientdata(client));
-
- return 0;
-}
-
static struct i2c_device_id taos_idtable[] = {
{ "tsl2580", 0 },
{ "tsl2581", 1 },
@@ -940,7 +933,6 @@ static struct i2c_driver taos_driver = {
},
.id_table = taos_idtable,
.probe = taos_probe,
- .remove = taos_remove,
};
module_i2c_driver(taos_driver);
--
2.1.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 3/3] staging: iio: resolver: replace iio_device_register by devm_iio_device_register
2015-10-02 10:37 [PATCH v2 0/3] use resource managed devm_iio_device_register Ioana Ciornei
2015-10-02 10:37 ` [PATCH v2 1/3] staging: iio: cdc: use devm_iio_device_register instead iio_device_register Ioana Ciornei
2015-10-02 10:37 ` [PATCH v2 2/3] staging: iio: light: " Ioana Ciornei
@ 2015-10-02 10:37 ` Ioana Ciornei
2015-10-02 21:28 ` [Outreachy kernel] [PATCH v2 0/3] use resource managed devm_iio_device_register Arnd Bergmann
3 siblings, 0 replies; 5+ messages in thread
From: Ioana Ciornei @ 2015-10-02 10:37 UTC (permalink / raw)
To: outreachy-kernel; +Cc: Ioana Ciornei
Use devm_iio_device_register instead of iio_device_register when the remove
function is only used to call iio_device_unregister in order to ease the error path.
Since resource managed functions implicitly call unregister at driver detach also remove
iio_device_unregister
Signed-off-by: Ioana Ciornei <ciorneiioana@gmail.com>
---
Changes in v2:
- rework commit message to be clearer
drivers/staging/iio/resolver/ad2s90.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/drivers/staging/iio/resolver/ad2s90.c b/drivers/staging/iio/resolver/ad2s90.c
index e24c589..c57a296 100644
--- a/drivers/staging/iio/resolver/ad2s90.c
+++ b/drivers/staging/iio/resolver/ad2s90.c
@@ -79,7 +79,7 @@ static int ad2s90_probe(struct spi_device *spi)
indio_dev->num_channels = 1;
indio_dev->name = spi_get_device_id(spi)->name;
- ret = iio_device_register(indio_dev);
+ ret = devm_iio_device_register(indio_dev->dev.parent, indio_dev);
if (ret)
return ret;
@@ -91,13 +91,6 @@ static int ad2s90_probe(struct spi_device *spi)
return 0;
}
-static int ad2s90_remove(struct spi_device *spi)
-{
- iio_device_unregister(spi_get_drvdata(spi));
-
- return 0;
-}
-
static const struct spi_device_id ad2s90_id[] = {
{ "ad2s90" },
{}
@@ -110,7 +103,6 @@ static struct spi_driver ad2s90_driver = {
.owner = THIS_MODULE,
},
.probe = ad2s90_probe,
- .remove = ad2s90_remove,
.id_table = ad2s90_id,
};
module_spi_driver(ad2s90_driver);
--
2.1.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Outreachy kernel] [PATCH v2 0/3] use resource managed devm_iio_device_register
2015-10-02 10:37 [PATCH v2 0/3] use resource managed devm_iio_device_register Ioana Ciornei
` (2 preceding siblings ...)
2015-10-02 10:37 ` [PATCH v2 3/3] staging: iio: resolver: replace iio_device_register by devm_iio_device_register Ioana Ciornei
@ 2015-10-02 21:28 ` Arnd Bergmann
3 siblings, 0 replies; 5+ messages in thread
From: Arnd Bergmann @ 2015-10-02 21:28 UTC (permalink / raw)
To: outreachy-kernel; +Cc: Ioana Ciornei
On Friday 02 October 2015 13:37:47 Ioana Ciornei wrote:
> This patchset replaces the use of iio_device_register with
> the resource managed function devm_iio_device_register when the remove function
> only unregisters the device. Since an iio_dev registered with this function is
> automatically unregistered on driver detach there is no need for the remove
> function and therefore it is removed.
>
Hi Ioana,
I see you got a 'Reviewed-by: Vaishali Thakkar <vthakkar1994@gmail.com>'
reply for this already. If someone replies with a tag like this, please
it add below your Signed-off-by line.
[The patches look ok to me as well, but I'm not sure enough about the
meaning of devm_iio_device_register() to provide my own Reviewed-by]
Arnd
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-10-02 21:28 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-02 10:37 [PATCH v2 0/3] use resource managed devm_iio_device_register Ioana Ciornei
2015-10-02 10:37 ` [PATCH v2 1/3] staging: iio: cdc: use devm_iio_device_register instead iio_device_register Ioana Ciornei
2015-10-02 10:37 ` [PATCH v2 2/3] staging: iio: light: " Ioana Ciornei
2015-10-02 10:37 ` [PATCH v2 3/3] staging: iio: resolver: replace iio_device_register by devm_iio_device_register Ioana Ciornei
2015-10-02 21:28 ` [Outreachy kernel] [PATCH v2 0/3] use resource managed devm_iio_device_register Arnd Bergmann
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.