All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] iio: adc: Use devm_* APIs
@ 2013-07-23  8:58 Sachin Kamat
  2013-07-23  8:58 ` [PATCH 01/11] iio: adc: ad7298: " Sachin Kamat
                   ` (11 more replies)
  0 siblings, 12 replies; 21+ messages in thread
From: Sachin Kamat @ 2013-07-23  8:58 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat

All patches are compile tested and based on togreg branch
of following tree:
git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git

Sachin Kamat (11):
  iio: adc: ad7298: Use devm_* APIs
  iio: adc: ad7476: Use devm_* APIs
  iio: adc: ad7791: Use devm_* APIs
  iio: adc: ad7793: Use devm_* APIs
  iio: adc: ad7887: Use devm_* APIs
  iio: adc: ad7923: Use devm_* APIs
  iio: adc: lp8788_adc: Use devm_* APIs
  iio: adc: mcp320x: Use devm_* APIs
  iio: adc: nau7802: Use devm_iio_device_alloc
  iio: adc: ti-adc081c: Use devm_* APIs
  iio: adc: viperboard_adc: Use devm_iio_device_alloc

 drivers/iio/adc/ad7298.c         |   24 ++++++++----------------
 drivers/iio/adc/ad7476.c         |   26 ++++++++------------------
 drivers/iio/adc/ad7791.c         |   19 +++++--------------
 drivers/iio/adc/ad7793.c         |   23 ++++++-----------------
 drivers/iio/adc/ad7887.c         |   23 +++++++----------------
 drivers/iio/adc/ad7923.c         |   20 +++++++-------------
 drivers/iio/adc/lp8788_adc.c     |    7 ++-----
 drivers/iio/adc/mcp320x.c        |   18 +++++-------------
 drivers/iio/adc/nau7802.c        |   19 ++++++++-----------
 drivers/iio/adc/ti-adc081c.c     |   18 +++++-------------
 drivers/iio/adc/viperboard_adc.c |    9 ++-------
 11 files changed, 63 insertions(+), 143 deletions(-)

-- 
1.7.9.5

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

* [PATCH 01/11] iio: adc: ad7298: Use devm_* APIs
  2013-07-23  8:58 [PATCH 00/11] iio: adc: Use devm_* APIs Sachin Kamat
@ 2013-07-23  8:58 ` Sachin Kamat
  2013-07-23  8:58 ` [PATCH 02/11] iio: adc: ad7476: " Sachin Kamat
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 21+ messages in thread
From: Sachin Kamat @ 2013-07-23  8:58 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat, Michael Hennerich

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Michael Hennerich <hennerich@blackfin.uclinux.org>
---
 drivers/iio/adc/ad7298.c |   24 ++++++++----------------
 1 file changed, 8 insertions(+), 16 deletions(-)

diff --git a/drivers/iio/adc/ad7298.c b/drivers/iio/adc/ad7298.c
index 03b7718..85d1481 100644
--- a/drivers/iio/adc/ad7298.c
+++ b/drivers/iio/adc/ad7298.c
@@ -296,9 +296,10 @@ static int ad7298_probe(struct spi_device *spi)
 {
 	struct ad7298_platform_data *pdata = spi->dev.platform_data;
 	struct ad7298_state *st;
-	struct iio_dev *indio_dev = iio_device_alloc(sizeof(*st));
+	struct iio_dev *indio_dev;
 	int ret;
 
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
 	if (indio_dev == NULL)
 		return -ENOMEM;
 
@@ -308,14 +309,13 @@ static int ad7298_probe(struct spi_device *spi)
 		st->ext_ref = AD7298_EXTREF;
 
 	if (st->ext_ref) {
-		st->reg = regulator_get(&spi->dev, "vref");
-		if (IS_ERR(st->reg)) {
-			ret = PTR_ERR(st->reg);
-			goto error_free;
-		}
+		st->reg = devm_regulator_get(&spi->dev, "vref");
+		if (IS_ERR(st->reg))
+			return PTR_ERR(st->reg);
+
 		ret = regulator_enable(st->reg);
 		if (ret)
-			goto error_put_reg;
+			return ret;
 	}
 
 	spi_set_drvdata(spi, indio_dev);
@@ -361,11 +361,6 @@ error_cleanup_ring:
 error_disable_reg:
 	if (st->ext_ref)
 		regulator_disable(st->reg);
-error_put_reg:
-	if (st->ext_ref)
-		regulator_put(st->reg);
-error_free:
-	iio_device_free(indio_dev);
 
 	return ret;
 }
@@ -377,11 +372,8 @@ static int ad7298_remove(struct spi_device *spi)
 
 	iio_device_unregister(indio_dev);
 	iio_triggered_buffer_cleanup(indio_dev);
-	if (st->ext_ref) {
+	if (st->ext_ref)
 		regulator_disable(st->reg);
-		regulator_put(st->reg);
-	}
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 02/11] iio: adc: ad7476: Use devm_* APIs
  2013-07-23  8:58 [PATCH 00/11] iio: adc: Use devm_* APIs Sachin Kamat
  2013-07-23  8:58 ` [PATCH 01/11] iio: adc: ad7298: " Sachin Kamat
@ 2013-07-23  8:58 ` Sachin Kamat
  2013-07-23  8:58 ` [PATCH 03/11] iio: adc: ad7791: " Sachin Kamat
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 21+ messages in thread
From: Sachin Kamat @ 2013-07-23  8:58 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat, Michael Hennerich

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Michael Hennerich <hennerich@blackfin.uclinux.org>
---
 drivers/iio/adc/ad7476.c |   26 ++++++++------------------
 1 file changed, 8 insertions(+), 18 deletions(-)

diff --git a/drivers/iio/adc/ad7476.c b/drivers/iio/adc/ad7476.c
index 2e98bef4..6d2b1d8 100644
--- a/drivers/iio/adc/ad7476.c
+++ b/drivers/iio/adc/ad7476.c
@@ -213,24 +213,21 @@ static int ad7476_probe(struct spi_device *spi)
 	struct iio_dev *indio_dev;
 	int ret;
 
-	indio_dev = iio_device_alloc(sizeof(*st));
-	if (indio_dev == NULL) {
-		ret = -ENOMEM;
-		goto error_ret;
-	}
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
+	if (!indio_dev)
+		return -ENOMEM;
+
 	st = iio_priv(indio_dev);
 	st->chip_info =
 		&ad7476_chip_info_tbl[spi_get_device_id(spi)->driver_data];
 
-	st->reg = regulator_get(&spi->dev, "vcc");
-	if (IS_ERR(st->reg)) {
-		ret = PTR_ERR(st->reg);
-		goto error_free_dev;
-	}
+	st->reg = devm_regulator_get(&spi->dev, "vcc");
+	if (IS_ERR(st->reg))
+		return PTR_ERR(st->reg);
 
 	ret = regulator_enable(st->reg);
 	if (ret)
-		goto error_put_reg;
+		return ret;
 
 	spi_set_drvdata(spi, indio_dev);
 
@@ -268,12 +265,7 @@ error_ring_unregister:
 	iio_triggered_buffer_cleanup(indio_dev);
 error_disable_reg:
 	regulator_disable(st->reg);
-error_put_reg:
-	regulator_put(st->reg);
-error_free_dev:
-	iio_device_free(indio_dev);
 
-error_ret:
 	return ret;
 }
 
@@ -285,8 +277,6 @@ static int ad7476_remove(struct spi_device *spi)
 	iio_device_unregister(indio_dev);
 	iio_triggered_buffer_cleanup(indio_dev);
 	regulator_disable(st->reg);
-	regulator_put(st->reg);
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 03/11] iio: adc: ad7791: Use devm_* APIs
  2013-07-23  8:58 [PATCH 00/11] iio: adc: Use devm_* APIs Sachin Kamat
  2013-07-23  8:58 ` [PATCH 01/11] iio: adc: ad7298: " Sachin Kamat
  2013-07-23  8:58 ` [PATCH 02/11] iio: adc: ad7476: " Sachin Kamat
@ 2013-07-23  8:58 ` Sachin Kamat
  2013-07-23  8:58 ` [PATCH 04/11] iio: adc: ad7793: " Sachin Kamat
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 21+ messages in thread
From: Sachin Kamat @ 2013-07-23  8:58 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat, Lars-Peter Clausen

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Lars-Peter Clausen <lars@metafoo.de>
---
 drivers/iio/adc/ad7791.c |   19 +++++--------------
 1 file changed, 5 insertions(+), 14 deletions(-)

diff --git a/drivers/iio/adc/ad7791.c b/drivers/iio/adc/ad7791.c
index 5e8d1da..c202035 100644
--- a/drivers/iio/adc/ad7791.c
+++ b/drivers/iio/adc/ad7791.c
@@ -361,21 +361,19 @@ static int ad7791_probe(struct spi_device *spi)
 		return -ENXIO;
 	}
 
-	indio_dev = iio_device_alloc(sizeof(*st));
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
 	if (!indio_dev)
 		return -ENOMEM;
 
 	st = iio_priv(indio_dev);
 
-	st->reg = regulator_get(&spi->dev, "refin");
-	if (IS_ERR(st->reg)) {
-		ret = PTR_ERR(st->reg);
-		goto err_iio_free;
-	}
+	st->reg = devm_regulator_get(&spi->dev, "refin");
+	if (IS_ERR(st->reg))
+		return PTR_ERR(st->reg);
 
 	ret = regulator_enable(st->reg);
 	if (ret)
-		goto error_put_reg;
+		return ret;
 
 	st->info = &ad7791_chip_infos[spi_get_device_id(spi)->driver_data];
 	ad_sd_init(&st->sd, indio_dev, spi, &ad7791_sigma_delta_info);
@@ -410,10 +408,6 @@ error_remove_trigger:
 	ad_sd_cleanup_buffer_and_trigger(indio_dev);
 error_disable_reg:
 	regulator_disable(st->reg);
-error_put_reg:
-	regulator_put(st->reg);
-err_iio_free:
-	iio_device_free(indio_dev);
 
 	return ret;
 }
@@ -427,9 +421,6 @@ static int ad7791_remove(struct spi_device *spi)
 	ad_sd_cleanup_buffer_and_trigger(indio_dev);
 
 	regulator_disable(st->reg);
-	regulator_put(st->reg);
-
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 04/11] iio: adc: ad7793: Use devm_* APIs
  2013-07-23  8:58 [PATCH 00/11] iio: adc: Use devm_* APIs Sachin Kamat
                   ` (2 preceding siblings ...)
  2013-07-23  8:58 ` [PATCH 03/11] iio: adc: ad7791: " Sachin Kamat
@ 2013-07-23  8:58 ` Sachin Kamat
  2013-07-23  8:58 ` [PATCH 05/11] iio: adc: ad7887: " Sachin Kamat
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 21+ messages in thread
From: Sachin Kamat @ 2013-07-23  8:58 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat, Michael Hennerich

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Michael Hennerich <hennerich@blackfin.uclinux.org>
---
 drivers/iio/adc/ad7793.c |   23 ++++++-----------------
 1 file changed, 6 insertions(+), 17 deletions(-)

diff --git a/drivers/iio/adc/ad7793.c b/drivers/iio/adc/ad7793.c
index 334e31f..4dddeab 100644
--- a/drivers/iio/adc/ad7793.c
+++ b/drivers/iio/adc/ad7793.c
@@ -757,7 +757,7 @@ static int ad7793_probe(struct spi_device *spi)
 		return -ENODEV;
 	}
 
-	indio_dev = iio_device_alloc(sizeof(*st));
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
 	if (indio_dev == NULL)
 		return -ENOMEM;
 
@@ -766,15 +766,13 @@ static int ad7793_probe(struct spi_device *spi)
 	ad_sd_init(&st->sd, indio_dev, spi, &ad7793_sigma_delta_info);
 
 	if (pdata->refsel != AD7793_REFSEL_INTERNAL) {
-		st->reg = regulator_get(&spi->dev, "refin");
-		if (IS_ERR(st->reg)) {
-			ret = PTR_ERR(st->reg);
-			goto error_device_free;
-		}
+		st->reg = devm_regulator_get(&spi->dev, "refin");
+		if (IS_ERR(st->reg))
+			return PTR_ERR(st->reg);
 
 		ret = regulator_enable(st->reg);
 		if (ret)
-			goto error_put_reg;
+			return ret;
 
 		vref_mv = regulator_get_voltage(st->reg);
 		if (vref_mv < 0) {
@@ -818,11 +816,6 @@ error_remove_trigger:
 error_disable_reg:
 	if (pdata->refsel != AD7793_REFSEL_INTERNAL)
 		regulator_disable(st->reg);
-error_put_reg:
-	if (pdata->refsel != AD7793_REFSEL_INTERNAL)
-		regulator_put(st->reg);
-error_device_free:
-	iio_device_free(indio_dev);
 
 	return ret;
 }
@@ -836,12 +829,8 @@ static int ad7793_remove(struct spi_device *spi)
 	iio_device_unregister(indio_dev);
 	ad_sd_cleanup_buffer_and_trigger(indio_dev);
 
-	if (pdata->refsel != AD7793_REFSEL_INTERNAL) {
+	if (pdata->refsel != AD7793_REFSEL_INTERNAL)
 		regulator_disable(st->reg);
-		regulator_put(st->reg);
-	}
-
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 05/11] iio: adc: ad7887: Use devm_* APIs
  2013-07-23  8:58 [PATCH 00/11] iio: adc: Use devm_* APIs Sachin Kamat
                   ` (3 preceding siblings ...)
  2013-07-23  8:58 ` [PATCH 04/11] iio: adc: ad7793: " Sachin Kamat
@ 2013-07-23  8:58 ` Sachin Kamat
  2013-07-23  8:58 ` [PATCH 06/11] iio: adc: ad7923: " Sachin Kamat
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 21+ messages in thread
From: Sachin Kamat @ 2013-07-23  8:58 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat, Michael Hennerich

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Michael Hennerich <hennerich@blackfin.uclinux.org>
---
 drivers/iio/adc/ad7887.c |   23 +++++++----------------
 1 file changed, 7 insertions(+), 16 deletions(-)

diff --git a/drivers/iio/adc/ad7887.c b/drivers/iio/adc/ad7887.c
index dd15a5b..9dd077b 100644
--- a/drivers/iio/adc/ad7887.c
+++ b/drivers/iio/adc/ad7887.c
@@ -237,25 +237,24 @@ static int ad7887_probe(struct spi_device *spi)
 {
 	struct ad7887_platform_data *pdata = spi->dev.platform_data;
 	struct ad7887_state *st;
-	struct iio_dev *indio_dev = iio_device_alloc(sizeof(*st));
+	struct iio_dev *indio_dev;
 	uint8_t mode;
 	int ret;
 
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
 	if (indio_dev == NULL)
 		return -ENOMEM;
 
 	st = iio_priv(indio_dev);
 
 	if (!pdata || !pdata->use_onchip_ref) {
-		st->reg = regulator_get(&spi->dev, "vref");
-		if (IS_ERR(st->reg)) {
-			ret = PTR_ERR(st->reg);
-			goto error_free;
-		}
+		st->reg = devm_regulator_get(&spi->dev, "vref");
+		if (IS_ERR(st->reg))
+			return PTR_ERR(st->reg);
 
 		ret = regulator_enable(st->reg);
 		if (ret)
-			goto error_put_reg;
+			return ret;
 	}
 
 	st->chip_info =
@@ -331,11 +330,6 @@ error_unregister_ring:
 error_disable_reg:
 	if (st->reg)
 		regulator_disable(st->reg);
-error_put_reg:
-	if (st->reg)
-		regulator_put(st->reg);
-error_free:
-	iio_device_free(indio_dev);
 
 	return ret;
 }
@@ -347,11 +341,8 @@ static int ad7887_remove(struct spi_device *spi)
 
 	iio_device_unregister(indio_dev);
 	iio_triggered_buffer_cleanup(indio_dev);
-	if (st->reg) {
+	if (st->reg)
 		regulator_disable(st->reg);
-		regulator_put(st->reg);
-	}
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 06/11] iio: adc: ad7923: Use devm_* APIs
  2013-07-23  8:58 [PATCH 00/11] iio: adc: Use devm_* APIs Sachin Kamat
                   ` (4 preceding siblings ...)
  2013-07-23  8:58 ` [PATCH 05/11] iio: adc: ad7887: " Sachin Kamat
@ 2013-07-23  8:58 ` Sachin Kamat
  2013-07-23  8:58 ` [PATCH 07/11] iio: adc: lp8788_adc: " Sachin Kamat
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 21+ messages in thread
From: Sachin Kamat @ 2013-07-23  8:58 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat, Michael Hennerich

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Michael Hennerich <hennerich@blackfin.uclinux.org>
---
 drivers/iio/adc/ad7923.c |   20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/drivers/iio/adc/ad7923.c b/drivers/iio/adc/ad7923.c
index 97fa0d3..4108dbb 100644
--- a/drivers/iio/adc/ad7923.c
+++ b/drivers/iio/adc/ad7923.c
@@ -275,10 +275,11 @@ static const struct iio_info ad7923_info = {
 static int ad7923_probe(struct spi_device *spi)
 {
 	struct ad7923_state *st;
-	struct iio_dev *indio_dev = iio_device_alloc(sizeof(*st));
+	struct iio_dev *indio_dev;
 	const struct ad7923_chip_info *info;
 	int ret;
 
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
 	if (indio_dev == NULL)
 		return -ENOMEM;
 
@@ -311,14 +312,13 @@ static int ad7923_probe(struct spi_device *spi)
 	spi_message_add_tail(&st->scan_single_xfer[0], &st->scan_single_msg);
 	spi_message_add_tail(&st->scan_single_xfer[1], &st->scan_single_msg);
 
-	st->reg = regulator_get(&spi->dev, "refin");
-	if (IS_ERR(st->reg)) {
-		ret = PTR_ERR(st->reg);
-		goto error_free;
-	}
+	st->reg = devm_regulator_get(&spi->dev, "refin");
+	if (IS_ERR(st->reg))
+		return PTR_ERR(st->reg);
+
 	ret = regulator_enable(st->reg);
 	if (ret)
-		goto error_put_reg;
+		return ret;
 
 	ret = iio_triggered_buffer_setup(indio_dev, NULL,
 			&ad7923_trigger_handler, NULL);
@@ -335,10 +335,6 @@ error_cleanup_ring:
 	iio_triggered_buffer_cleanup(indio_dev);
 error_disable_reg:
 	regulator_disable(st->reg);
-error_put_reg:
-	regulator_put(st->reg);
-error_free:
-	iio_device_free(indio_dev);
 
 	return ret;
 }
@@ -351,8 +347,6 @@ static int ad7923_remove(struct spi_device *spi)
 	iio_device_unregister(indio_dev);
 	iio_triggered_buffer_cleanup(indio_dev);
 	regulator_disable(st->reg);
-	regulator_put(st->reg);
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 07/11] iio: adc: lp8788_adc: Use devm_* APIs
  2013-07-23  8:58 [PATCH 00/11] iio: adc: Use devm_* APIs Sachin Kamat
                   ` (5 preceding siblings ...)
  2013-07-23  8:58 ` [PATCH 06/11] iio: adc: ad7923: " Sachin Kamat
@ 2013-07-23  8:58 ` Sachin Kamat
  2013-07-27 11:04   ` Jonathan Cameron
  2013-07-23  8:58 ` [PATCH 08/11] iio: adc: mcp320x: " Sachin Kamat
                   ` (4 subsequent siblings)
  11 siblings, 1 reply; 21+ messages in thread
From: Sachin Kamat @ 2013-07-23  8:58 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat, Milo Kim

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Milo Kim <milo.kim@ti.com>
---
 drivers/iio/adc/lp8788_adc.c |    7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/iio/adc/lp8788_adc.c b/drivers/iio/adc/lp8788_adc.c
index 62bc39e..5c8c915 100644
--- a/drivers/iio/adc/lp8788_adc.c
+++ b/drivers/iio/adc/lp8788_adc.c
@@ -194,7 +194,7 @@ static int lp8788_adc_probe(struct platform_device *pdev)
 	struct lp8788_adc *adc;
 	int ret;
 
-	indio_dev = iio_device_alloc(sizeof(*adc));
+	indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*adc));
 	if (!indio_dev)
 		return -ENOMEM;
 
@@ -205,7 +205,7 @@ static int lp8788_adc_probe(struct platform_device *pdev)
 	indio_dev->dev.of_node = pdev->dev.of_node;
 	ret = lp8788_iio_map_register(indio_dev, lp->pdata, adc);
 	if (ret)
-		goto err_iio_map;
+		return ret;
 
 	mutex_init(&adc->lock);
 
@@ -226,8 +226,6 @@ static int lp8788_adc_probe(struct platform_device *pdev)
 
 err_iio_device:
 	iio_map_array_unregister(indio_dev);
-err_iio_map:
-	iio_device_free(indio_dev);
 	return ret;
 }
 
@@ -237,7 +235,6 @@ static int lp8788_adc_remove(struct platform_device *pdev)
 
 	iio_device_unregister(indio_dev);
 	iio_map_array_unregister(indio_dev);
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 08/11] iio: adc: mcp320x: Use devm_* APIs
  2013-07-23  8:58 [PATCH 00/11] iio: adc: Use devm_* APIs Sachin Kamat
                   ` (6 preceding siblings ...)
  2013-07-23  8:58 ` [PATCH 07/11] iio: adc: lp8788_adc: " Sachin Kamat
@ 2013-07-23  8:58 ` Sachin Kamat
  2013-07-27 11:05   ` Jonathan Cameron
  2013-07-23  8:58 ` [PATCH 09/11] iio: adc: nau7802: Use devm_iio_device_alloc Sachin Kamat
                   ` (3 subsequent siblings)
  11 siblings, 1 reply; 21+ messages in thread
From: Sachin Kamat @ 2013-07-23  8:58 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat, Oskar Andero

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Oskar Andero <oskar.andero@gmail.com>
---
 drivers/iio/adc/mcp320x.c |   18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/drivers/iio/adc/mcp320x.c b/drivers/iio/adc/mcp320x.c
index ebc0159..28a086e 100644
--- a/drivers/iio/adc/mcp320x.c
+++ b/drivers/iio/adc/mcp320x.c
@@ -169,7 +169,7 @@ static int mcp320x_probe(struct spi_device *spi)
 	const struct mcp3208_chip_info *chip_info;
 	int ret;
 
-	indio_dev = iio_device_alloc(sizeof(*adc));
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*adc));
 	if (!indio_dev)
 		return -ENOMEM;
 
@@ -193,15 +193,13 @@ static int mcp320x_probe(struct spi_device *spi)
 	spi_message_init_with_transfers(&adc->msg, adc->transfer,
 					ARRAY_SIZE(adc->transfer));
 
-	adc->reg = regulator_get(&spi->dev, "vref");
-	if (IS_ERR(adc->reg)) {
-		ret = PTR_ERR(adc->reg);
-		goto iio_free;
-	}
+	adc->reg = devm_regulator_get(&spi->dev, "vref");
+	if (IS_ERR(adc->reg))
+		return PTR_ERR(adc->reg);
 
 	ret = regulator_enable(adc->reg);
 	if (ret < 0)
-		goto reg_free;
+		return ret;
 
 	mutex_init(&adc->lock);
 
@@ -213,10 +211,6 @@ static int mcp320x_probe(struct spi_device *spi)
 
 reg_disable:
 	regulator_disable(adc->reg);
-reg_free:
-	regulator_put(adc->reg);
-iio_free:
-	iio_device_free(indio_dev);
 
 	return ret;
 }
@@ -228,8 +222,6 @@ static int mcp320x_remove(struct spi_device *spi)
 
 	iio_device_unregister(indio_dev);
 	regulator_disable(adc->reg);
-	regulator_put(adc->reg);
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 09/11] iio: adc: nau7802: Use devm_iio_device_alloc
  2013-07-23  8:58 [PATCH 00/11] iio: adc: Use devm_* APIs Sachin Kamat
                   ` (7 preceding siblings ...)
  2013-07-23  8:58 ` [PATCH 08/11] iio: adc: mcp320x: " Sachin Kamat
@ 2013-07-23  8:58 ` Sachin Kamat
  2013-07-23  9:31   ` Maxime Ripard
  2013-07-23  8:58 ` [PATCH 10/11] iio: adc: ti-adc081c: Use devm_* APIs Sachin Kamat
                   ` (2 subsequent siblings)
  11 siblings, 1 reply; 21+ messages in thread
From: Sachin Kamat @ 2013-07-23  8:58 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat, Maxime Ripard

Using devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 drivers/iio/adc/nau7802.c |   19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/drivers/iio/adc/nau7802.c b/drivers/iio/adc/nau7802.c
index 70fa171..bdf0346 100644
--- a/drivers/iio/adc/nau7802.c
+++ b/drivers/iio/adc/nau7802.c
@@ -404,7 +404,7 @@ static int nau7802_probe(struct i2c_client *client,
 		return -EINVAL;
 	}
 
-	indio_dev = iio_device_alloc(sizeof(*st));
+	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*st));
 	if (indio_dev == NULL)
 		return -ENOMEM;
 
@@ -423,13 +423,13 @@ static int nau7802_probe(struct i2c_client *client,
 	ret = i2c_smbus_write_byte_data(st->client, NAU7802_REG_PUCTRL,
 				  NAU7802_PUCTRL_RR_BIT);
 	if (ret < 0)
-		goto error_free_indio;
+		return ret;
 
 	/* Enter normal operation mode */
 	ret = i2c_smbus_write_byte_data(st->client, NAU7802_REG_PUCTRL,
 				  NAU7802_PUCTRL_PUD_BIT);
 	if (ret < 0)
-		goto error_free_indio;
+		return ret;
 
 	/*
 	 * After about 200 usecs, the device should be ready and then
@@ -438,9 +438,9 @@ static int nau7802_probe(struct i2c_client *client,
 	udelay(210);
 	ret = i2c_smbus_read_byte_data(st->client, NAU7802_REG_PUCTRL);
 	if (ret < 0)
-		goto error_free_indio;
+		return ret;
 	if (!(ret & NAU7802_PUCTRL_PUR_BIT))
-		goto error_free_indio;
+		return ret;
 
 	of_property_read_u32(np, "nuvoton,vldo", &tmp);
 	st->vref_mv = tmp;
@@ -452,17 +452,17 @@ static int nau7802_probe(struct i2c_client *client,
 
 	ret = i2c_smbus_write_byte_data(st->client, NAU7802_REG_PUCTRL, data);
 	if (ret < 0)
-		goto error_free_indio;
+		return ret;
 	ret = i2c_smbus_write_byte_data(st->client, NAU7802_REG_ADC_CTRL, 0x30);
 	if (ret < 0)
-		goto error_free_indio;
+		return ret;
 
 	if (tmp >= 2400) {
 		data = NAU7802_CTRL1_VLDO((4500 - tmp) / 300);
 		ret = i2c_smbus_write_byte_data(st->client, NAU7802_REG_CTRL1,
 						data);
 		if (ret < 0)
-			goto error_free_indio;
+			return ret;
 	}
 
 	/* Populate available ADC input ranges */
@@ -533,8 +533,6 @@ error_device_register:
 error_free_irq:
 	if (client->irq)
 		free_irq(client->irq, indio_dev);
-error_free_indio:
-	iio_device_free(indio_dev);
 
 	return ret;
 }
@@ -549,7 +547,6 @@ static int nau7802_remove(struct i2c_client *client)
 	mutex_destroy(&st->data_lock);
 	if (client->irq)
 		free_irq(client->irq, indio_dev);
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 10/11] iio: adc: ti-adc081c: Use devm_* APIs
  2013-07-23  8:58 [PATCH 00/11] iio: adc: Use devm_* APIs Sachin Kamat
                   ` (8 preceding siblings ...)
  2013-07-23  8:58 ` [PATCH 09/11] iio: adc: nau7802: Use devm_iio_device_alloc Sachin Kamat
@ 2013-07-23  8:58 ` Sachin Kamat
  2013-07-23 15:33   ` Thierry Reding
  2013-07-23  8:58 ` [PATCH 11/11] iio: adc: viperboard_adc: Use devm_iio_device_alloc Sachin Kamat
  2013-07-23 10:59 ` [PATCH 00/11] iio: adc: Use devm_* APIs Lars-Peter Clausen
  11 siblings, 1 reply; 21+ messages in thread
From: Sachin Kamat @ 2013-07-23  8:58 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat, Thierry Reding

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
---
 drivers/iio/adc/ti-adc081c.c |   18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/drivers/iio/adc/ti-adc081c.c b/drivers/iio/adc/ti-adc081c.c
index 2826faa..ee5f72b 100644
--- a/drivers/iio/adc/ti-adc081c.c
+++ b/drivers/iio/adc/ti-adc081c.c
@@ -74,22 +74,20 @@ static int adc081c_probe(struct i2c_client *client,
 	if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
 		return -ENODEV;
 
-	iio = iio_device_alloc(sizeof(*adc));
+	iio = devm_iio_device_alloc(&client->dev, sizeof(*adc));
 	if (!iio)
 		return -ENOMEM;
 
 	adc = iio_priv(iio);
 	adc->i2c = client;
 
-	adc->ref = regulator_get(&client->dev, "vref");
-	if (IS_ERR(adc->ref)) {
-		err = PTR_ERR(adc->ref);
-		goto iio_free;
-	}
+	adc->ref = devm_regulator_get(&client->dev, "vref");
+	if (IS_ERR(adc->ref))
+		return PTR_ERR(adc->ref);
 
 	err = regulator_enable(adc->ref);
 	if (err < 0)
-		goto regulator_put;
+		return err;
 
 	iio->dev.parent = &client->dev;
 	iio->name = dev_name(&client->dev);
@@ -109,10 +107,6 @@ static int adc081c_probe(struct i2c_client *client,
 
 regulator_disable:
 	regulator_disable(adc->ref);
-regulator_put:
-	regulator_put(adc->ref);
-iio_free:
-	iio_device_free(iio);
 
 	return err;
 }
@@ -124,8 +118,6 @@ static int adc081c_remove(struct i2c_client *client)
 
 	iio_device_unregister(iio);
 	regulator_disable(adc->ref);
-	regulator_put(adc->ref);
-	iio_device_free(iio);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 11/11] iio: adc: viperboard_adc: Use devm_iio_device_alloc
  2013-07-23  8:58 [PATCH 00/11] iio: adc: Use devm_* APIs Sachin Kamat
                   ` (9 preceding siblings ...)
  2013-07-23  8:58 ` [PATCH 10/11] iio: adc: ti-adc081c: Use devm_* APIs Sachin Kamat
@ 2013-07-23  8:58 ` Sachin Kamat
  2013-07-27 11:10   ` Jonathan Cameron
  2013-07-23 10:59 ` [PATCH 00/11] iio: adc: Use devm_* APIs Lars-Peter Clausen
  11 siblings, 1 reply; 21+ messages in thread
From: Sachin Kamat @ 2013-07-23  8:58 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat, Lars Poeschel

Using devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Lars Poeschel <poeschel@lemonage.de>
---
 drivers/iio/adc/viperboard_adc.c |    9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/iio/adc/viperboard_adc.c b/drivers/iio/adc/viperboard_adc.c
index 56ac481..09727a7 100644
--- a/drivers/iio/adc/viperboard_adc.c
+++ b/drivers/iio/adc/viperboard_adc.c
@@ -124,7 +124,7 @@ static int vprbrd_adc_probe(struct platform_device *pdev)
 	int ret;
 
 	/* registering iio */
-	indio_dev = iio_device_alloc(sizeof(*adc));
+	indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*adc));
 	if (!indio_dev) {
 		dev_err(&pdev->dev, "failed allocating iio device\n");
 		return -ENOMEM;
@@ -142,16 +142,12 @@ static int vprbrd_adc_probe(struct platform_device *pdev)
 	ret = iio_device_register(indio_dev);
 	if (ret) {
 		dev_err(&pdev->dev, "could not register iio (adc)");
-		goto error;
+		return ret;
 	}
 
 	platform_set_drvdata(pdev, indio_dev);
 
 	return 0;
-
-error:
-	iio_device_free(indio_dev);
-	return ret;
 }
 
 static int vprbrd_adc_remove(struct platform_device *pdev)
@@ -159,7 +155,6 @@ static int vprbrd_adc_remove(struct platform_device *pdev)
 	struct iio_dev *indio_dev = platform_get_drvdata(pdev);
 
 	iio_device_unregister(indio_dev);
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* Re: [PATCH 09/11] iio: adc: nau7802: Use devm_iio_device_alloc
  2013-07-23  8:58 ` [PATCH 09/11] iio: adc: nau7802: Use devm_iio_device_alloc Sachin Kamat
@ 2013-07-23  9:31   ` Maxime Ripard
  2013-07-27 11:08     ` Jonathan Cameron
  0 siblings, 1 reply; 21+ messages in thread
From: Maxime Ripard @ 2013-07-23  9:31 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, jic23, jic23

[-- Attachment #1: Type: text/plain, Size: 432 bytes --]

Hi,

On Tue, Jul 23, 2013 at 02:28:15PM +0530, Sachin Kamat wrote:
> Using devm_iio_device_alloc makes code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Cc: Maxime Ripard <maxime.ripard@free-electrons.com>

Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>

Thanks,
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: [PATCH 00/11] iio: adc: Use devm_* APIs
  2013-07-23  8:58 [PATCH 00/11] iio: adc: Use devm_* APIs Sachin Kamat
                   ` (10 preceding siblings ...)
  2013-07-23  8:58 ` [PATCH 11/11] iio: adc: viperboard_adc: Use devm_iio_device_alloc Sachin Kamat
@ 2013-07-23 10:59 ` Lars-Peter Clausen
  2013-07-27 11:04   ` Jonathan Cameron
  11 siblings, 1 reply; 21+ messages in thread
From: Lars-Peter Clausen @ 2013-07-23 10:59 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, jic23, jic23

On 07/23/2013 10:58 AM, Sachin Kamat wrote:
> All patches are compile tested and based on togreg branch
> of following tree:
> git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
> 
> Sachin Kamat (11):
>   iio: adc: ad7298: Use devm_* APIs
>   iio: adc: ad7476: Use devm_* APIs
>   iio: adc: ad7791: Use devm_* APIs
>   iio: adc: ad7793: Use devm_* APIs
>   iio: adc: ad7887: Use devm_* APIs
>   iio: adc: ad7923: Use devm_* APIs

For those above:

Acked-by: Lars-Peter Clausen <lars@metafoo.de>

Thanks.

>   iio: adc: lp8788_adc: Use devm_* APIs
>   iio: adc: mcp320x: Use devm_* APIs
>   iio: adc: nau7802: Use devm_iio_device_alloc
>   iio: adc: ti-adc081c: Use devm_* APIs
>   iio: adc: viperboard_adc: Use devm_iio_device_alloc
> 
>  drivers/iio/adc/ad7298.c         |   24 ++++++++----------------
>  drivers/iio/adc/ad7476.c         |   26 ++++++++------------------
>  drivers/iio/adc/ad7791.c         |   19 +++++--------------
>  drivers/iio/adc/ad7793.c         |   23 ++++++-----------------
>  drivers/iio/adc/ad7887.c         |   23 +++++++----------------
>  drivers/iio/adc/ad7923.c         |   20 +++++++-------------
>  drivers/iio/adc/lp8788_adc.c     |    7 ++-----
>  drivers/iio/adc/mcp320x.c        |   18 +++++-------------
>  drivers/iio/adc/nau7802.c        |   19 ++++++++-----------
>  drivers/iio/adc/ti-adc081c.c     |   18 +++++-------------
>  drivers/iio/adc/viperboard_adc.c |    9 ++-------
>  11 files changed, 63 insertions(+), 143 deletions(-)
> 

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

* Re: [PATCH 10/11] iio: adc: ti-adc081c: Use devm_* APIs
  2013-07-23  8:58 ` [PATCH 10/11] iio: adc: ti-adc081c: Use devm_* APIs Sachin Kamat
@ 2013-07-23 15:33   ` Thierry Reding
  2013-07-27 11:09     ` Jonathan Cameron
  0 siblings, 1 reply; 21+ messages in thread
From: Thierry Reding @ 2013-07-23 15:33 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, jic23, jic23

[-- Attachment #1: Type: text/plain, Size: 428 bytes --]

On Tue, Jul 23, 2013 at 02:28:16PM +0530, Sachin Kamat wrote:
> devm_* APIs are device managed and make code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> ---
>  drivers/iio/adc/ti-adc081c.c |   18 +++++-------------
>  1 file changed, 5 insertions(+), 13 deletions(-)

Looks good to me:

Reviewed-by: Thierry Reding <thierry.reding@gmail.com>

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: [PATCH 07/11] iio: adc: lp8788_adc: Use devm_* APIs
  2013-07-23  8:58 ` [PATCH 07/11] iio: adc: lp8788_adc: " Sachin Kamat
@ 2013-07-27 11:04   ` Jonathan Cameron
  0 siblings, 0 replies; 21+ messages in thread
From: Jonathan Cameron @ 2013-07-27 11:04 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, jic23, Milo Kim

On 07/23/13 09:58, Sachin Kamat wrote:
> devm_* APIs are device managed and make code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Cc: Milo Kim <milo.kim@ti.com>
Applied to the togreg branch of iio.git

> ---
>  drivers/iio/adc/lp8788_adc.c |    7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/iio/adc/lp8788_adc.c b/drivers/iio/adc/lp8788_adc.c
> index 62bc39e..5c8c915 100644
> --- a/drivers/iio/adc/lp8788_adc.c
> +++ b/drivers/iio/adc/lp8788_adc.c
> @@ -194,7 +194,7 @@ static int lp8788_adc_probe(struct platform_device *pdev)
>  	struct lp8788_adc *adc;
>  	int ret;
>  
> -	indio_dev = iio_device_alloc(sizeof(*adc));
> +	indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*adc));
>  	if (!indio_dev)
>  		return -ENOMEM;
>  
> @@ -205,7 +205,7 @@ static int lp8788_adc_probe(struct platform_device *pdev)
>  	indio_dev->dev.of_node = pdev->dev.of_node;
>  	ret = lp8788_iio_map_register(indio_dev, lp->pdata, adc);
>  	if (ret)
> -		goto err_iio_map;
> +		return ret;
>  
>  	mutex_init(&adc->lock);
>  
> @@ -226,8 +226,6 @@ static int lp8788_adc_probe(struct platform_device *pdev)
>  
>  err_iio_device:
>  	iio_map_array_unregister(indio_dev);
> -err_iio_map:
> -	iio_device_free(indio_dev);
>  	return ret;
>  }
>  
> @@ -237,7 +235,6 @@ static int lp8788_adc_remove(struct platform_device *pdev)
>  
>  	iio_device_unregister(indio_dev);
>  	iio_map_array_unregister(indio_dev);
> -	iio_device_free(indio_dev);
>  
>  	return 0;
>  }
> 

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

* Re: [PATCH 00/11] iio: adc: Use devm_* APIs
  2013-07-23 10:59 ` [PATCH 00/11] iio: adc: Use devm_* APIs Lars-Peter Clausen
@ 2013-07-27 11:04   ` Jonathan Cameron
  0 siblings, 0 replies; 21+ messages in thread
From: Jonathan Cameron @ 2013-07-27 11:04 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: Sachin Kamat, linux-iio, jic23

On 07/23/13 11:59, Lars-Peter Clausen wrote:
> On 07/23/2013 10:58 AM, Sachin Kamat wrote:
>> All patches are compile tested and based on togreg branch
>> of following tree:
>> git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
>>
>> Sachin Kamat (11):
>>   iio: adc: ad7298: Use devm_* APIs
>>   iio: adc: ad7476: Use devm_* APIs
>>   iio: adc: ad7791: Use devm_* APIs
>>   iio: adc: ad7793: Use devm_* APIs
>>   iio: adc: ad7887: Use devm_* APIs
>>   iio: adc: ad7923: Use devm_* APIs
> 
> For those above:
> 
> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
All applied to the togreg branch of iio.git

> 
> Thanks.
> 
>>   iio: adc: lp8788_adc: Use devm_* APIs
>>   iio: adc: mcp320x: Use devm_* APIs
>>   iio: adc: nau7802: Use devm_iio_device_alloc
>>   iio: adc: ti-adc081c: Use devm_* APIs
>>   iio: adc: viperboard_adc: Use devm_iio_device_alloc
>>
>>  drivers/iio/adc/ad7298.c         |   24 ++++++++----------------
>>  drivers/iio/adc/ad7476.c         |   26 ++++++++------------------
>>  drivers/iio/adc/ad7791.c         |   19 +++++--------------
>>  drivers/iio/adc/ad7793.c         |   23 ++++++-----------------
>>  drivers/iio/adc/ad7887.c         |   23 +++++++----------------
>>  drivers/iio/adc/ad7923.c         |   20 +++++++-------------
>>  drivers/iio/adc/lp8788_adc.c     |    7 ++-----
>>  drivers/iio/adc/mcp320x.c        |   18 +++++-------------
>>  drivers/iio/adc/nau7802.c        |   19 ++++++++-----------
>>  drivers/iio/adc/ti-adc081c.c     |   18 +++++-------------
>>  drivers/iio/adc/viperboard_adc.c |    9 ++-------
>>  11 files changed, 63 insertions(+), 143 deletions(-)
>>
> 

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

* Re: [PATCH 08/11] iio: adc: mcp320x: Use devm_* APIs
  2013-07-23  8:58 ` [PATCH 08/11] iio: adc: mcp320x: " Sachin Kamat
@ 2013-07-27 11:05   ` Jonathan Cameron
  0 siblings, 0 replies; 21+ messages in thread
From: Jonathan Cameron @ 2013-07-27 11:05 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, Oskar Andero

On 07/23/13 09:58, Sachin Kamat wrote:
> devm_* APIs are device managed and make code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Cc: Oskar Andero <oskar.andero@gmail.com>
Applied to the togreg branch of iio.git

Thanks
> ---
>  drivers/iio/adc/mcp320x.c |   18 +++++-------------
>  1 file changed, 5 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/iio/adc/mcp320x.c b/drivers/iio/adc/mcp320x.c
> index ebc0159..28a086e 100644
> --- a/drivers/iio/adc/mcp320x.c
> +++ b/drivers/iio/adc/mcp320x.c
> @@ -169,7 +169,7 @@ static int mcp320x_probe(struct spi_device *spi)
>  	const struct mcp3208_chip_info *chip_info;
>  	int ret;
>  
> -	indio_dev = iio_device_alloc(sizeof(*adc));
> +	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*adc));
>  	if (!indio_dev)
>  		return -ENOMEM;
>  
> @@ -193,15 +193,13 @@ static int mcp320x_probe(struct spi_device *spi)
>  	spi_message_init_with_transfers(&adc->msg, adc->transfer,
>  					ARRAY_SIZE(adc->transfer));
>  
> -	adc->reg = regulator_get(&spi->dev, "vref");
> -	if (IS_ERR(adc->reg)) {
> -		ret = PTR_ERR(adc->reg);
> -		goto iio_free;
> -	}
> +	adc->reg = devm_regulator_get(&spi->dev, "vref");
> +	if (IS_ERR(adc->reg))
> +		return PTR_ERR(adc->reg);
>  
>  	ret = regulator_enable(adc->reg);
>  	if (ret < 0)
> -		goto reg_free;
> +		return ret;
>  
>  	mutex_init(&adc->lock);
>  
> @@ -213,10 +211,6 @@ static int mcp320x_probe(struct spi_device *spi)
>  
>  reg_disable:
>  	regulator_disable(adc->reg);
> -reg_free:
> -	regulator_put(adc->reg);
> -iio_free:
> -	iio_device_free(indio_dev);
>  
>  	return ret;
>  }
> @@ -228,8 +222,6 @@ static int mcp320x_remove(struct spi_device *spi)
>  
>  	iio_device_unregister(indio_dev);
>  	regulator_disable(adc->reg);
> -	regulator_put(adc->reg);
> -	iio_device_free(indio_dev);
>  
>  	return 0;
>  }
> 

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

* Re: [PATCH 09/11] iio: adc: nau7802: Use devm_iio_device_alloc
  2013-07-23  9:31   ` Maxime Ripard
@ 2013-07-27 11:08     ` Jonathan Cameron
  0 siblings, 0 replies; 21+ messages in thread
From: Jonathan Cameron @ 2013-07-27 11:08 UTC (permalink / raw)
  To: Maxime Ripard; +Cc: Sachin Kamat, linux-iio, jic23

On 07/23/13 10:31, Maxime Ripard wrote:
> Hi,
> 
> On Tue, Jul 23, 2013 at 02:28:15PM +0530, Sachin Kamat wrote:
>> Using devm_iio_device_alloc makes code simpler.
>> 
>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
> 
> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Applied to the togreg branch of iio.git

> 
> Thanks, Maxime
> 

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

* Re: [PATCH 10/11] iio: adc: ti-adc081c: Use devm_* APIs
  2013-07-23 15:33   ` Thierry Reding
@ 2013-07-27 11:09     ` Jonathan Cameron
  0 siblings, 0 replies; 21+ messages in thread
From: Jonathan Cameron @ 2013-07-27 11:09 UTC (permalink / raw)
  To: Thierry Reding; +Cc: Sachin Kamat, linux-iio, jic23

On 07/23/13 16:33, Thierry Reding wrote:
> On Tue, Jul 23, 2013 at 02:28:16PM +0530, Sachin Kamat wrote:
>> devm_* APIs are device managed and make code simpler.
>>
>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>> Cc: Thierry Reding <thierry.reding@gmail.com>
>> ---
>>  drivers/iio/adc/ti-adc081c.c |   18 +++++-------------
>>  1 file changed, 5 insertions(+), 13 deletions(-)
> 
> Looks good to me:
> 
> Reviewed-by: Thierry Reding <thierry.reding@gmail.com>
Applied to the togreg branch of iio.git

Thanks,
> 

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

* Re: [PATCH 11/11] iio: adc: viperboard_adc: Use devm_iio_device_alloc
  2013-07-23  8:58 ` [PATCH 11/11] iio: adc: viperboard_adc: Use devm_iio_device_alloc Sachin Kamat
@ 2013-07-27 11:10   ` Jonathan Cameron
  0 siblings, 0 replies; 21+ messages in thread
From: Jonathan Cameron @ 2013-07-27 11:10 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, jic23, Lars Poeschel

On 07/23/13 09:58, Sachin Kamat wrote:
> Using devm_iio_device_alloc makes code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Cc: Lars Poeschel <poeschel@lemonage.de>
Applied to the togreg branch of iio.git

Thanks,

Jonathan
> ---
>  drivers/iio/adc/viperboard_adc.c |    9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/iio/adc/viperboard_adc.c b/drivers/iio/adc/viperboard_adc.c
> index 56ac481..09727a7 100644
> --- a/drivers/iio/adc/viperboard_adc.c
> +++ b/drivers/iio/adc/viperboard_adc.c
> @@ -124,7 +124,7 @@ static int vprbrd_adc_probe(struct platform_device *pdev)
>  	int ret;
>  
>  	/* registering iio */
> -	indio_dev = iio_device_alloc(sizeof(*adc));
> +	indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*adc));
>  	if (!indio_dev) {
>  		dev_err(&pdev->dev, "failed allocating iio device\n");
>  		return -ENOMEM;
> @@ -142,16 +142,12 @@ static int vprbrd_adc_probe(struct platform_device *pdev)
>  	ret = iio_device_register(indio_dev);
>  	if (ret) {
>  		dev_err(&pdev->dev, "could not register iio (adc)");
> -		goto error;
> +		return ret;
>  	}
>  
>  	platform_set_drvdata(pdev, indio_dev);
>  
>  	return 0;
> -
> -error:
> -	iio_device_free(indio_dev);
> -	return ret;
>  }
>  
>  static int vprbrd_adc_remove(struct platform_device *pdev)
> @@ -159,7 +155,6 @@ static int vprbrd_adc_remove(struct platform_device *pdev)
>  	struct iio_dev *indio_dev = platform_get_drvdata(pdev);
>  
>  	iio_device_unregister(indio_dev);
> -	iio_device_free(indio_dev);
>  
>  	return 0;
>  }
> 

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

end of thread, other threads:[~2013-07-27 10:10 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-23  8:58 [PATCH 00/11] iio: adc: Use devm_* APIs Sachin Kamat
2013-07-23  8:58 ` [PATCH 01/11] iio: adc: ad7298: " Sachin Kamat
2013-07-23  8:58 ` [PATCH 02/11] iio: adc: ad7476: " Sachin Kamat
2013-07-23  8:58 ` [PATCH 03/11] iio: adc: ad7791: " Sachin Kamat
2013-07-23  8:58 ` [PATCH 04/11] iio: adc: ad7793: " Sachin Kamat
2013-07-23  8:58 ` [PATCH 05/11] iio: adc: ad7887: " Sachin Kamat
2013-07-23  8:58 ` [PATCH 06/11] iio: adc: ad7923: " Sachin Kamat
2013-07-23  8:58 ` [PATCH 07/11] iio: adc: lp8788_adc: " Sachin Kamat
2013-07-27 11:04   ` Jonathan Cameron
2013-07-23  8:58 ` [PATCH 08/11] iio: adc: mcp320x: " Sachin Kamat
2013-07-27 11:05   ` Jonathan Cameron
2013-07-23  8:58 ` [PATCH 09/11] iio: adc: nau7802: Use devm_iio_device_alloc Sachin Kamat
2013-07-23  9:31   ` Maxime Ripard
2013-07-27 11:08     ` Jonathan Cameron
2013-07-23  8:58 ` [PATCH 10/11] iio: adc: ti-adc081c: Use devm_* APIs Sachin Kamat
2013-07-23 15:33   ` Thierry Reding
2013-07-27 11:09     ` Jonathan Cameron
2013-07-23  8:58 ` [PATCH 11/11] iio: adc: viperboard_adc: Use devm_iio_device_alloc Sachin Kamat
2013-07-27 11:10   ` Jonathan Cameron
2013-07-23 10:59 ` [PATCH 00/11] iio: adc: Use devm_* APIs Lars-Peter Clausen
2013-07-27 11:04   ` Jonathan Cameron

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.