All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs
@ 2013-08-19 11:38 Sachin Kamat
  2013-08-19 11:38 ` [PATCH 02/14] iio: dac: ad5360: " Sachin Kamat
                   ` (13 more replies)
  0 siblings, 14 replies; 29+ messages in thread
From: Sachin Kamat @ 2013-08-19 11:38 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, jic23, jic23, sachin.kamat

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
This series is compile tested and based on togreg branch of
git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
---
 drivers/iio/dac/ad5064.c |   21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)

diff --git a/drivers/iio/dac/ad5064.c b/drivers/iio/dac/ad5064.c
index aa26d50..a3a52be 100644
--- a/drivers/iio/dac/ad5064.c
+++ b/drivers/iio/dac/ad5064.c
@@ -442,7 +442,7 @@ static int ad5064_probe(struct device *dev, enum ad5064_type type,
 	unsigned int i;
 	int ret;
 
-	indio_dev = iio_device_alloc(sizeof(*st));
+	indio_dev = devm_iio_device_alloc(dev, sizeof(*st));
 	if (indio_dev == NULL)
 		return  -ENOMEM;
 
@@ -456,23 +456,23 @@ static int ad5064_probe(struct device *dev, enum ad5064_type type,
 	for (i = 0; i < ad5064_num_vref(st); ++i)
 		st->vref_reg[i].supply = ad5064_vref_name(st, i);
 
-	ret = regulator_bulk_get(dev, ad5064_num_vref(st),
+	ret = devm_regulator_bulk_get(dev, ad5064_num_vref(st),
 		st->vref_reg);
 	if (ret) {
 		if (!st->chip_info->internal_vref)
-			goto error_free;
+			return ret;
 		st->use_internal_vref = true;
 		ret = ad5064_write(st, AD5064_CMD_CONFIG, 0,
 			AD5064_CONFIG_INT_VREF_ENABLE, 0);
 		if (ret) {
 			dev_err(dev, "Failed to enable internal vref: %d\n",
 				ret);
-			goto error_free;
+			return ret;
 		}
 	} else {
 		ret = regulator_bulk_enable(ad5064_num_vref(st), st->vref_reg);
 		if (ret)
-			goto error_free_reg;
+			return ret;
 	}
 
 	indio_dev->dev.parent = dev;
@@ -498,11 +498,6 @@ static int ad5064_probe(struct device *dev, enum ad5064_type type,
 error_disable_reg:
 	if (!st->use_internal_vref)
 		regulator_bulk_disable(ad5064_num_vref(st), st->vref_reg);
-error_free_reg:
-	if (!st->use_internal_vref)
-		regulator_bulk_free(ad5064_num_vref(st), st->vref_reg);
-error_free:
-	iio_device_free(indio_dev);
 
 	return ret;
 }
@@ -514,12 +509,8 @@ static int ad5064_remove(struct device *dev)
 
 	iio_device_unregister(indio_dev);
 
-	if (!st->use_internal_vref) {
+	if (!st->use_internal_vref)
 		regulator_bulk_disable(ad5064_num_vref(st), st->vref_reg);
-		regulator_bulk_free(ad5064_num_vref(st), st->vref_reg);
-	}
-
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5


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

* [PATCH 02/14] iio: dac: ad5360: Use devm_* APIs
  2013-08-19 11:38 [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Sachin Kamat
@ 2013-08-19 11:38 ` Sachin Kamat
  2013-08-19 19:23   ` Jonathan Cameron
  2013-08-19 11:38 ` [PATCH 03/14] iio: dac: ad5380: " Sachin Kamat
                   ` (12 subsequent siblings)
  13 siblings, 1 reply; 29+ messages in thread
From: Sachin Kamat @ 2013-08-19 11:38 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, jic23, jic23, sachin.kamat

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 drivers/iio/dac/ad5360.c |   15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/drivers/iio/dac/ad5360.c b/drivers/iio/dac/ad5360.c
index 80923af..d2da71e 100644
--- a/drivers/iio/dac/ad5360.c
+++ b/drivers/iio/dac/ad5360.c
@@ -459,7 +459,7 @@ static int ad5360_probe(struct spi_device *spi)
 	unsigned int i;
 	int ret;
 
-	indio_dev = iio_device_alloc(sizeof(*st));
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
 	if (indio_dev == NULL) {
 		dev_err(&spi->dev, "Failed to allocate iio device\n");
 		return  -ENOMEM;
@@ -480,13 +480,13 @@ static int ad5360_probe(struct spi_device *spi)
 	ret = ad5360_alloc_channels(indio_dev);
 	if (ret) {
 		dev_err(&spi->dev, "Failed to allocate channel spec: %d\n", ret);
-		goto error_free;
+		return ret;
 	}
 
 	for (i = 0; i < st->chip_info->num_vrefs; ++i)
 		st->vref_reg[i].supply = ad5360_vref_name[i];
 
-	ret = regulator_bulk_get(&st->spi->dev, st->chip_info->num_vrefs,
+	ret = devm_regulator_bulk_get(&st->spi->dev, st->chip_info->num_vrefs,
 		st->vref_reg);
 	if (ret) {
 		dev_err(&spi->dev, "Failed to request vref regulators: %d\n", ret);
@@ -496,7 +496,7 @@ static int ad5360_probe(struct spi_device *spi)
 	ret = regulator_bulk_enable(st->chip_info->num_vrefs, st->vref_reg);
 	if (ret) {
 		dev_err(&spi->dev, "Failed to enable vref regulators: %d\n", ret);
-		goto error_free_reg;
+		goto error_free_channels;
 	}
 
 	ret = iio_device_register(indio_dev);
@@ -509,12 +509,8 @@ static int ad5360_probe(struct spi_device *spi)
 
 error_disable_reg:
 	regulator_bulk_disable(st->chip_info->num_vrefs, st->vref_reg);
-error_free_reg:
-	regulator_bulk_free(st->chip_info->num_vrefs, st->vref_reg);
 error_free_channels:
 	kfree(indio_dev->channels);
-error_free:
-	iio_device_free(indio_dev);
 
 	return ret;
 }
@@ -529,9 +525,6 @@ static int ad5360_remove(struct spi_device *spi)
 	kfree(indio_dev->channels);
 
 	regulator_bulk_disable(st->chip_info->num_vrefs, st->vref_reg);
-	regulator_bulk_free(st->chip_info->num_vrefs, st->vref_reg);
-
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 03/14] iio: dac: ad5380: Use devm_* APIs
  2013-08-19 11:38 [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Sachin Kamat
  2013-08-19 11:38 ` [PATCH 02/14] iio: dac: ad5360: " Sachin Kamat
@ 2013-08-19 11:38 ` Sachin Kamat
  2013-08-19 19:23   ` Jonathan Cameron
  2013-08-19 11:38 ` [PATCH 04/14] iio: dac: ad5421: " Sachin Kamat
                   ` (11 subsequent siblings)
  13 siblings, 1 reply; 29+ messages in thread
From: Sachin Kamat @ 2013-08-19 11:38 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, jic23, jic23, sachin.kamat

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 drivers/iio/dac/ad5380.c |   18 ++++--------------
 1 file changed, 4 insertions(+), 14 deletions(-)

diff --git a/drivers/iio/dac/ad5380.c b/drivers/iio/dac/ad5380.c
index bf2db02..1c44ae3 100644
--- a/drivers/iio/dac/ad5380.c
+++ b/drivers/iio/dac/ad5380.c
@@ -369,11 +369,10 @@ static int ad5380_probe(struct device *dev, struct regmap *regmap,
 	unsigned int ctrl = 0;
 	int ret;
 
-	indio_dev = iio_device_alloc(sizeof(*st));
+	indio_dev = devm_iio_device_alloc(dev, sizeof(*st));
 	if (indio_dev == NULL) {
 		dev_err(dev, "Failed to allocate iio device\n");
-		ret = -ENOMEM;
-		goto error_out;
+		return -ENOMEM;
 	}
 
 	st = iio_priv(indio_dev);
@@ -391,13 +390,13 @@ static int ad5380_probe(struct device *dev, struct regmap *regmap,
 	ret = ad5380_alloc_channels(indio_dev);
 	if (ret) {
 		dev_err(dev, "Failed to allocate channel spec: %d\n", ret);
-		goto error_free;
+		return ret;
 	}
 
 	if (st->chip_info->int_vref == 2500000)
 		ctrl |= AD5380_CTRL_INT_VREF_2V5;
 
-	st->vref_reg = regulator_get(dev, "vref");
+	st->vref_reg = devm_regulator_get(dev, "vref");
 	if (!IS_ERR(st->vref_reg)) {
 		ret = regulator_enable(st->vref_reg);
 		if (ret) {
@@ -434,13 +433,7 @@ error_disable_reg:
 	if (!IS_ERR(st->vref_reg))
 		regulator_disable(st->vref_reg);
 error_free_reg:
-	if (!IS_ERR(st->vref_reg))
-		regulator_put(st->vref_reg);
-
 	kfree(indio_dev->channels);
-error_free:
-	iio_device_free(indio_dev);
-error_out:
 
 	return ret;
 }
@@ -456,11 +449,8 @@ static int ad5380_remove(struct device *dev)
 
 	if (!IS_ERR(st->vref_reg)) {
 		regulator_disable(st->vref_reg);
-		regulator_put(st->vref_reg);
 	}
 
-	iio_device_free(indio_dev);
-
 	return 0;
 }
 
-- 
1.7.9.5

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

* [PATCH 04/14] iio: dac: ad5421: Use devm_* APIs
  2013-08-19 11:38 [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Sachin Kamat
  2013-08-19 11:38 ` [PATCH 02/14] iio: dac: ad5360: " Sachin Kamat
  2013-08-19 11:38 ` [PATCH 03/14] iio: dac: ad5380: " Sachin Kamat
@ 2013-08-19 11:38 ` Sachin Kamat
  2013-08-19 19:24   ` Jonathan Cameron
  2013-08-19 11:38 ` [PATCH 05/14] iio: dac: ad5446: " Sachin Kamat
                   ` (10 subsequent siblings)
  13 siblings, 1 reply; 29+ messages in thread
From: Sachin Kamat @ 2013-08-19 11:38 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, jic23, jic23, sachin.kamat

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 drivers/iio/dac/ad5421.c |   19 ++++---------------
 1 file changed, 4 insertions(+), 15 deletions(-)

diff --git a/drivers/iio/dac/ad5421.c b/drivers/iio/dac/ad5421.c
index 98f2440..1f78b14 100644
--- a/drivers/iio/dac/ad5421.c
+++ b/drivers/iio/dac/ad5421.c
@@ -451,7 +451,7 @@ static int ad5421_probe(struct spi_device *spi)
 	struct ad5421_state *st;
 	int ret;
 
-	indio_dev = iio_device_alloc(sizeof(*st));
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
 	if (indio_dev == NULL) {
 		dev_err(&spi->dev, "Failed to allocate iio device\n");
 		return  -ENOMEM;
@@ -484,31 +484,23 @@ static int ad5421_probe(struct spi_device *spi)
 	ad5421_update_ctrl(indio_dev, 0, 0);
 
 	if (spi->irq) {
-		ret = request_threaded_irq(spi->irq,
+		ret = devm_request_threaded_irq(&spi->dev, spi->irq,
 					   NULL,
 					   ad5421_fault_handler,
 					   IRQF_TRIGGER_HIGH | IRQF_ONESHOT,
 					   "ad5421 fault",
 					   indio_dev);
 		if (ret)
-			goto error_free;
+			return ret;
 	}
 
 	ret = iio_device_register(indio_dev);
 	if (ret) {
 		dev_err(&spi->dev, "Failed to register iio device: %d\n", ret);
-		goto error_free_irq;
+		return ret;
 	}
 
 	return 0;
-
-error_free_irq:
-	if (spi->irq)
-		free_irq(spi->irq, indio_dev);
-error_free:
-	iio_device_free(indio_dev);
-
-	return ret;
 }
 
 static int ad5421_remove(struct spi_device *spi)
@@ -516,9 +508,6 @@ static int ad5421_remove(struct spi_device *spi)
 	struct iio_dev *indio_dev = spi_get_drvdata(spi);
 
 	iio_device_unregister(indio_dev);
-	if (spi->irq)
-		free_irq(spi->irq, indio_dev);
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 05/14] iio: dac: ad5446: Use devm_* APIs
  2013-08-19 11:38 [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Sachin Kamat
                   ` (2 preceding siblings ...)
  2013-08-19 11:38 ` [PATCH 04/14] iio: dac: ad5421: " Sachin Kamat
@ 2013-08-19 11:38 ` Sachin Kamat
  2013-08-19 19:25   ` Jonathan Cameron
  2013-08-19 11:38 ` [PATCH 06/14] iio: dac: ad5449: " Sachin Kamat
                   ` (9 subsequent siblings)
  13 siblings, 1 reply; 29+ messages in thread
From: Sachin Kamat @ 2013-08-19 11:38 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, jic23, jic23, sachin.kamat

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 drivers/iio/dac/ad5446.c |   19 +++++--------------
 1 file changed, 5 insertions(+), 14 deletions(-)

diff --git a/drivers/iio/dac/ad5446.c b/drivers/iio/dac/ad5446.c
index cae8f60..96e9ed4 100644
--- a/drivers/iio/dac/ad5446.c
+++ b/drivers/iio/dac/ad5446.c
@@ -220,11 +220,11 @@ static int ad5446_probe(struct device *dev, const char *name,
 	struct regulator *reg;
 	int ret, voltage_uv = 0;
 
-	reg = regulator_get(dev, "vcc");
+	reg = devm_regulator_get(dev, "vcc");
 	if (!IS_ERR(reg)) {
 		ret = regulator_enable(reg);
 		if (ret)
-			goto error_put_reg;
+			return ret;
 
 		ret = regulator_get_voltage(reg);
 		if (ret < 0)
@@ -233,7 +233,7 @@ static int ad5446_probe(struct device *dev, const char *name,
 		voltage_uv = ret;
 	}
 
-	indio_dev = iio_device_alloc(sizeof(*st));
+	indio_dev = devm_iio_device_alloc(dev, sizeof(*st));
 	if (indio_dev == NULL) {
 		ret = -ENOMEM;
 		goto error_disable_reg;
@@ -264,19 +264,13 @@ static int ad5446_probe(struct device *dev, const char *name,
 
 	ret = iio_device_register(indio_dev);
 	if (ret)
-		goto error_free_device;
+		goto error_disable_reg;
 
 	return 0;
 
-error_free_device:
-	iio_device_free(indio_dev);
 error_disable_reg:
 	if (!IS_ERR(reg))
 		regulator_disable(reg);
-error_put_reg:
-	if (!IS_ERR(reg))
-		regulator_put(reg);
-
 	return ret;
 }
 
@@ -286,11 +280,8 @@ static int ad5446_remove(struct device *dev)
 	struct ad5446_state *st = iio_priv(indio_dev);
 
 	iio_device_unregister(indio_dev);
-	if (!IS_ERR(st->reg)) {
+	if (!IS_ERR(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] 29+ messages in thread

* [PATCH 06/14] iio: dac: ad5449: Use devm_* APIs
  2013-08-19 11:38 [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Sachin Kamat
                   ` (3 preceding siblings ...)
  2013-08-19 11:38 ` [PATCH 05/14] iio: dac: ad5446: " Sachin Kamat
@ 2013-08-19 11:38 ` Sachin Kamat
  2013-08-19 19:26   ` Jonathan Cameron
  2013-08-19 11:38 ` [PATCH 07/14] iio: dac: ad5504: " Sachin Kamat
                   ` (8 subsequent siblings)
  13 siblings, 1 reply; 29+ messages in thread
From: Sachin Kamat @ 2013-08-19 11:38 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, jic23, jic23, sachin.kamat

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 drivers/iio/dac/ad5449.c |   15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/drivers/iio/dac/ad5449.c b/drivers/iio/dac/ad5449.c
index ba1c914..fff7d07 100644
--- a/drivers/iio/dac/ad5449.c
+++ b/drivers/iio/dac/ad5449.c
@@ -275,7 +275,7 @@ static int ad5449_spi_probe(struct spi_device *spi)
 	unsigned int i;
 	int ret;
 
-	indio_dev = iio_device_alloc(sizeof(*st));
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
 	if (indio_dev == NULL)
 		return -ENOMEM;
 
@@ -288,14 +288,14 @@ static int ad5449_spi_probe(struct spi_device *spi)
 	for (i = 0; i < st->chip_info->num_channels; ++i)
 		st->vref_reg[i].supply = ad5449_vref_name(st, i);
 
-	ret = regulator_bulk_get(&spi->dev, st->chip_info->num_channels,
+	ret = devm_regulator_bulk_get(&spi->dev, st->chip_info->num_channels,
 				st->vref_reg);
 	if (ret)
-		goto error_free;
+		return ret;
 
 	ret = regulator_bulk_enable(st->chip_info->num_channels, st->vref_reg);
 	if (ret)
-		goto error_free_reg;
+		return ret;
 
 	indio_dev->dev.parent = &spi->dev;
 	indio_dev->name = id->name;
@@ -325,10 +325,6 @@ static int ad5449_spi_probe(struct spi_device *spi)
 
 error_disable_reg:
 	regulator_bulk_disable(st->chip_info->num_channels, st->vref_reg);
-error_free_reg:
-	regulator_bulk_free(st->chip_info->num_channels, st->vref_reg);
-error_free:
-	iio_device_free(indio_dev);
 
 	return ret;
 }
@@ -341,9 +337,6 @@ static int ad5449_spi_remove(struct spi_device *spi)
 	iio_device_unregister(indio_dev);
 
 	regulator_bulk_disable(st->chip_info->num_channels, st->vref_reg);
-	regulator_bulk_free(st->chip_info->num_channels, st->vref_reg);
-
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 07/14] iio: dac: ad5504: Use devm_* APIs
  2013-08-19 11:38 [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Sachin Kamat
                   ` (4 preceding siblings ...)
  2013-08-19 11:38 ` [PATCH 06/14] iio: dac: ad5449: " Sachin Kamat
@ 2013-08-19 11:38 ` Sachin Kamat
  2013-08-19 19:27   ` Jonathan Cameron
  2013-08-19 11:38 ` [PATCH 08/14] iio: dac: ad5624r_spi: " Sachin Kamat
                   ` (7 subsequent siblings)
  13 siblings, 1 reply; 29+ messages in thread
From: Sachin Kamat @ 2013-08-19 11:38 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, jic23, jic23, sachin.kamat

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 drivers/iio/dac/ad5504.c |   31 ++++++++-----------------------
 1 file changed, 8 insertions(+), 23 deletions(-)

diff --git a/drivers/iio/dac/ad5504.c b/drivers/iio/dac/ad5504.c
index 139206e..caffb16 100644
--- a/drivers/iio/dac/ad5504.c
+++ b/drivers/iio/dac/ad5504.c
@@ -281,16 +281,14 @@ static int ad5504_probe(struct spi_device *spi)
 	struct regulator *reg;
 	int ret, voltage_uv = 0;
 
-	indio_dev = iio_device_alloc(sizeof(*st));
-	if (indio_dev == NULL) {
-		ret = -ENOMEM;
-		goto error_ret;
-	}
-	reg = regulator_get(&spi->dev, "vcc");
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
+	if (!indio_dev)
+		return -ENOMEM;
+	reg = devm_regulator_get(&spi->dev, "vcc");
 	if (!IS_ERR(reg)) {
 		ret = regulator_enable(reg);
 		if (ret)
-			goto error_put_reg;
+			return ret;
 
 		ret = regulator_get_voltage(reg);
 		if (ret < 0)
@@ -321,7 +319,7 @@ static int ad5504_probe(struct spi_device *spi)
 	indio_dev->modes = INDIO_DIRECT_MODE;
 
 	if (spi->irq) {
-		ret = request_threaded_irq(spi->irq,
+		ret = devm_request_threaded_irq(&spi->dev, spi->irq,
 					   NULL,
 					   &ad5504_event_handler,
 					   IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
@@ -333,22 +331,14 @@ static int ad5504_probe(struct spi_device *spi)
 
 	ret = iio_device_register(indio_dev);
 	if (ret)
-		goto error_free_irq;
+		goto error_disable_reg;
 
 	return 0;
 
-error_free_irq:
-	if (spi->irq)
-		free_irq(spi->irq, indio_dev);
 error_disable_reg:
 	if (!IS_ERR(reg))
 		regulator_disable(reg);
-error_put_reg:
-	if (!IS_ERR(reg))
-		regulator_put(reg);
 
-	iio_device_free(indio_dev);
-error_ret:
 	return ret;
 }
 
@@ -358,14 +348,9 @@ static int ad5504_remove(struct spi_device *spi)
 	struct ad5504_state *st = iio_priv(indio_dev);
 
 	iio_device_unregister(indio_dev);
-	if (spi->irq)
-		free_irq(spi->irq, indio_dev);
 
-	if (!IS_ERR(st->reg)) {
+	if (!IS_ERR(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] 29+ messages in thread

* [PATCH 08/14] iio: dac: ad5624r_spi: Use devm_* APIs
  2013-08-19 11:38 [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Sachin Kamat
                   ` (5 preceding siblings ...)
  2013-08-19 11:38 ` [PATCH 07/14] iio: dac: ad5504: " Sachin Kamat
@ 2013-08-19 11:38 ` Sachin Kamat
  2013-08-19 19:28   ` Jonathan Cameron
  2013-08-19 11:38 ` [PATCH 09/14] iio: dac: ad5686: " Sachin Kamat
                   ` (6 subsequent siblings)
  13 siblings, 1 reply; 29+ messages in thread
From: Sachin Kamat @ 2013-08-19 11:38 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, jic23, jic23, sachin.kamat

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 drivers/iio/dac/ad5624r_spi.c |   22 ++++++----------------
 1 file changed, 6 insertions(+), 16 deletions(-)

diff --git a/drivers/iio/dac/ad5624r_spi.c b/drivers/iio/dac/ad5624r_spi.c
index bb298aa..714af75 100644
--- a/drivers/iio/dac/ad5624r_spi.c
+++ b/drivers/iio/dac/ad5624r_spi.c
@@ -226,17 +226,15 @@ static int ad5624r_probe(struct spi_device *spi)
 	struct iio_dev *indio_dev;
 	int ret, voltage_uv = 0;
 
-	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->reg = regulator_get(&spi->dev, "vcc");
+	st->reg = devm_regulator_get(&spi->dev, "vcc");
 	if (!IS_ERR(st->reg)) {
 		ret = regulator_enable(st->reg);
 		if (ret)
-			goto error_put_reg;
+			return ret;
 
 		ret = regulator_get_voltage(st->reg);
 		if (ret < 0)
@@ -277,11 +275,6 @@ static int ad5624r_probe(struct spi_device *spi)
 error_disable_reg:
 	if (!IS_ERR(st->reg))
 		regulator_disable(st->reg);
-error_put_reg:
-	if (!IS_ERR(st->reg))
-		regulator_put(st->reg);
-	iio_device_free(indio_dev);
-error_ret:
 
 	return ret;
 }
@@ -292,11 +285,8 @@ static int ad5624r_remove(struct spi_device *spi)
 	struct ad5624r_state *st = iio_priv(indio_dev);
 
 	iio_device_unregister(indio_dev);
-	if (!IS_ERR(st->reg)) {
+	if (!IS_ERR(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] 29+ messages in thread

* [PATCH 09/14] iio: dac: ad5686: Use devm_* APIs
  2013-08-19 11:38 [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Sachin Kamat
                   ` (6 preceding siblings ...)
  2013-08-19 11:38 ` [PATCH 08/14] iio: dac: ad5624r_spi: " Sachin Kamat
@ 2013-08-19 11:38 ` Sachin Kamat
  2013-08-19 19:30   ` Jonathan Cameron
  2013-08-19 11:38 ` [PATCH 10/14] iio: dac: ad5755: Use devm_iio_device_alloc Sachin Kamat
                   ` (5 subsequent siblings)
  13 siblings, 1 reply; 29+ messages in thread
From: Sachin Kamat @ 2013-08-19 11:38 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, jic23, jic23, sachin.kamat

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 drivers/iio/dac/ad5686.c |   17 ++++-------------
 1 file changed, 4 insertions(+), 13 deletions(-)

diff --git a/drivers/iio/dac/ad5686.c b/drivers/iio/dac/ad5686.c
index 06439b1..57825ea 100644
--- a/drivers/iio/dac/ad5686.c
+++ b/drivers/iio/dac/ad5686.c
@@ -314,18 +314,18 @@ static int ad5686_probe(struct spi_device *spi)
 	struct iio_dev *indio_dev;
 	int ret, regdone = 0, voltage_uv = 0;
 
-	indio_dev = iio_device_alloc(sizeof(*st));
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
 	if (indio_dev == NULL)
 		return  -ENOMEM;
 
 	st = iio_priv(indio_dev);
 	spi_set_drvdata(spi, indio_dev);
 
-	st->reg = regulator_get(&spi->dev, "vcc");
+	st->reg = devm_regulator_get(&spi->dev, "vcc");
 	if (!IS_ERR(st->reg)) {
 		ret = regulator_enable(st->reg);
 		if (ret)
-			goto error_put_reg;
+			return ret;
 
 		ret = regulator_get_voltage(st->reg);
 		if (ret < 0)
@@ -369,12 +369,6 @@ static int ad5686_probe(struct spi_device *spi)
 error_disable_reg:
 	if (!IS_ERR(st->reg))
 		regulator_disable(st->reg);
-error_put_reg:
-	if (!IS_ERR(st->reg))
-		regulator_put(st->reg);
-
-	iio_device_free(indio_dev);
-
 	return ret;
 }
 
@@ -384,11 +378,8 @@ static int ad5686_remove(struct spi_device *spi)
 	struct ad5686_state *st = iio_priv(indio_dev);
 
 	iio_device_unregister(indio_dev);
-	if (!IS_ERR(st->reg)) {
+	if (!IS_ERR(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] 29+ messages in thread

* [PATCH 10/14] iio: dac: ad5755: Use devm_iio_device_alloc
  2013-08-19 11:38 [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Sachin Kamat
                   ` (7 preceding siblings ...)
  2013-08-19 11:38 ` [PATCH 09/14] iio: dac: ad5686: " Sachin Kamat
@ 2013-08-19 11:38 ` Sachin Kamat
  2013-08-19 19:33   ` Jonathan Cameron
  2013-08-19 11:38 ` [PATCH 11/14] iio: dac: ad5764: Use devm_* APIs Sachin Kamat
                   ` (4 subsequent siblings)
  13 siblings, 1 reply; 29+ messages in thread
From: Sachin Kamat @ 2013-08-19 11:38 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, jic23, jic23, sachin.kamat

Using devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 drivers/iio/dac/ad5755.c |   15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/drivers/iio/dac/ad5755.c b/drivers/iio/dac/ad5755.c
index 12bb315..124d53b 100644
--- a/drivers/iio/dac/ad5755.c
+++ b/drivers/iio/dac/ad5755.c
@@ -565,7 +565,7 @@ static int ad5755_probe(struct spi_device *spi)
 	struct ad5755_state *st;
 	int ret;
 
-	indio_dev = iio_device_alloc(sizeof(*st));
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
 	if (indio_dev == NULL) {
 		dev_err(&spi->dev, "Failed to allocate iio device\n");
 		return  -ENOMEM;
@@ -589,24 +589,19 @@ static int ad5755_probe(struct spi_device *spi)
 
 	ret = ad5755_init_channels(indio_dev, pdata);
 	if (ret)
-		goto error_free;
+		return ret;
 
 	ret = ad5755_setup_pdata(indio_dev, pdata);
 	if (ret)
-		goto error_free;
+		return ret;
 
 	ret = iio_device_register(indio_dev);
 	if (ret) {
 		dev_err(&spi->dev, "Failed to register iio device: %d\n", ret);
-		goto error_free;
+		return ret;
 	}
 
 	return 0;
-
-error_free:
-	iio_device_free(indio_dev);
-
-	return ret;
 }
 
 static int ad5755_remove(struct spi_device *spi)
@@ -614,8 +609,6 @@ static int ad5755_remove(struct spi_device *spi)
 	struct iio_dev *indio_dev = spi_get_drvdata(spi);
 
 	iio_device_unregister(indio_dev);
-	iio_device_free(indio_dev);
-
 	return 0;
 }
 
-- 
1.7.9.5

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

* [PATCH 11/14] iio: dac: ad5764: Use devm_* APIs
  2013-08-19 11:38 [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Sachin Kamat
                   ` (8 preceding siblings ...)
  2013-08-19 11:38 ` [PATCH 10/14] iio: dac: ad5755: Use devm_iio_device_alloc Sachin Kamat
@ 2013-08-19 11:38 ` Sachin Kamat
  2013-08-19 19:33   ` Jonathan Cameron
  2013-08-19 11:38 ` [PATCH 12/14] iio: dac: ad5791: " Sachin Kamat
                   ` (3 subsequent siblings)
  13 siblings, 1 reply; 29+ messages in thread
From: Sachin Kamat @ 2013-08-19 11:38 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, jic23, jic23, sachin.kamat

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 drivers/iio/dac/ad5764.c |   20 +++++---------------
 1 file changed, 5 insertions(+), 15 deletions(-)

diff --git a/drivers/iio/dac/ad5764.c b/drivers/iio/dac/ad5764.c
index 7a53f7d..df7e028 100644
--- a/drivers/iio/dac/ad5764.c
+++ b/drivers/iio/dac/ad5764.c
@@ -275,7 +275,7 @@ static int ad5764_probe(struct spi_device *spi)
 	struct ad5764_state *st;
 	int ret;
 
-	indio_dev = iio_device_alloc(sizeof(*st));
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
 	if (indio_dev == NULL) {
 		dev_err(&spi->dev, "Failed to allocate iio device\n");
 		return -ENOMEM;
@@ -298,12 +298,12 @@ static int ad5764_probe(struct spi_device *spi)
 		st->vref_reg[0].supply = "vrefAB";
 		st->vref_reg[1].supply = "vrefCD";
 
-		ret = regulator_bulk_get(&st->spi->dev,
+		ret = devm_regulator_bulk_get(&st->spi->dev,
 			ARRAY_SIZE(st->vref_reg), st->vref_reg);
 		if (ret) {
 			dev_err(&spi->dev, "Failed to request vref regulators: %d\n",
 				ret);
-			goto error_free;
+			return ret;
 		}
 
 		ret = regulator_bulk_enable(ARRAY_SIZE(st->vref_reg),
@@ -311,7 +311,7 @@ static int ad5764_probe(struct spi_device *spi)
 		if (ret) {
 			dev_err(&spi->dev, "Failed to enable vref regulators: %d\n",
 				ret);
-			goto error_free_reg;
+			return ret;
 		}
 	}
 
@@ -326,12 +326,6 @@ static int ad5764_probe(struct spi_device *spi)
 error_disable_reg:
 	if (st->chip_info->int_vref == 0)
 		regulator_bulk_disable(ARRAY_SIZE(st->vref_reg), st->vref_reg);
-error_free_reg:
-	if (st->chip_info->int_vref == 0)
-		regulator_bulk_free(ARRAY_SIZE(st->vref_reg), st->vref_reg);
-error_free:
-	iio_device_free(indio_dev);
-
 	return ret;
 }
 
@@ -342,12 +336,8 @@ static int ad5764_remove(struct spi_device *spi)
 
 	iio_device_unregister(indio_dev);
 
-	if (st->chip_info->int_vref == 0) {
+	if (st->chip_info->int_vref == 0)
 		regulator_bulk_disable(ARRAY_SIZE(st->vref_reg), st->vref_reg);
-		regulator_bulk_free(ARRAY_SIZE(st->vref_reg), st->vref_reg);
-	}
-
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 12/14] iio: dac: ad5791: Use devm_* APIs
  2013-08-19 11:38 [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Sachin Kamat
                   ` (9 preceding siblings ...)
  2013-08-19 11:38 ` [PATCH 11/14] iio: dac: ad5764: Use devm_* APIs Sachin Kamat
@ 2013-08-19 11:38 ` Sachin Kamat
  2013-08-19 19:35   ` Jonathan Cameron
  2013-08-19 11:38 ` [PATCH 13/14] iio: dac: ad7303: " Sachin Kamat
                   ` (2 subsequent siblings)
  13 siblings, 1 reply; 29+ messages in thread
From: Sachin Kamat @ 2013-08-19 11:38 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, jic23, jic23, sachin.kamat

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 drivers/iio/dac/ad5791.c |   35 +++++++++--------------------------
 1 file changed, 9 insertions(+), 26 deletions(-)

diff --git a/drivers/iio/dac/ad5791.c b/drivers/iio/dac/ad5791.c
index 97c1e5d..ce74589 100644
--- a/drivers/iio/dac/ad5791.c
+++ b/drivers/iio/dac/ad5791.c
@@ -349,17 +349,15 @@ static int ad5791_probe(struct spi_device *spi)
 	struct ad5791_state *st;
 	int ret, pos_voltage_uv = 0, neg_voltage_uv = 0;
 
-	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->reg_vdd = regulator_get(&spi->dev, "vdd");
+	st->reg_vdd = devm_regulator_get(&spi->dev, "vdd");
 	if (!IS_ERR(st->reg_vdd)) {
 		ret = regulator_enable(st->reg_vdd);
 		if (ret)
-			goto error_put_reg_pos;
+			return ret;
 
 		ret = regulator_get_voltage(st->reg_vdd);
 		if (ret < 0)
@@ -368,11 +366,11 @@ static int ad5791_probe(struct spi_device *spi)
 		pos_voltage_uv = ret;
 	}
 
-	st->reg_vss = regulator_get(&spi->dev, "vss");
+	st->reg_vss = devm_regulator_get(&spi->dev, "vss");
 	if (!IS_ERR(st->reg_vss)) {
 		ret = regulator_enable(st->reg_vss);
 		if (ret)
-			goto error_put_reg_neg;
+			goto error_disable_reg_pos;
 
 		ret = regulator_get_voltage(st->reg_vss);
 		if (ret < 0)
@@ -428,19 +426,9 @@ static int ad5791_probe(struct spi_device *spi)
 error_disable_reg_neg:
 	if (!IS_ERR(st->reg_vss))
 		regulator_disable(st->reg_vss);
-error_put_reg_neg:
-	if (!IS_ERR(st->reg_vss))
-		regulator_put(st->reg_vss);
-
 error_disable_reg_pos:
 	if (!IS_ERR(st->reg_vdd))
 		regulator_disable(st->reg_vdd);
-error_put_reg_pos:
-	if (!IS_ERR(st->reg_vdd))
-		regulator_put(st->reg_vdd);
-	iio_device_free(indio_dev);
-error_ret:
-
 	return ret;
 }
 
@@ -450,16 +438,11 @@ static int ad5791_remove(struct spi_device *spi)
 	struct ad5791_state *st = iio_priv(indio_dev);
 
 	iio_device_unregister(indio_dev);
-	if (!IS_ERR(st->reg_vdd)) {
+	if (!IS_ERR(st->reg_vdd))
 		regulator_disable(st->reg_vdd);
-		regulator_put(st->reg_vdd);
-	}
 
-	if (!IS_ERR(st->reg_vss)) {
+	if (!IS_ERR(st->reg_vss))
 		regulator_disable(st->reg_vss);
-		regulator_put(st->reg_vss);
-	}
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 13/14] iio: dac: ad7303: Use devm_* APIs
  2013-08-19 11:38 [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Sachin Kamat
                   ` (10 preceding siblings ...)
  2013-08-19 11:38 ` [PATCH 12/14] iio: dac: ad5791: " Sachin Kamat
@ 2013-08-19 11:38 ` Sachin Kamat
  2013-08-19 19:36   ` Jonathan Cameron
  2013-08-19 11:38 ` [PATCH 14/14] iio: dac: max517: Use devm_iio_device_alloc Sachin Kamat
  2013-08-19 19:20 ` [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Jonathan Cameron
  13 siblings, 1 reply; 29+ messages in thread
From: Sachin Kamat @ 2013-08-19 11:38 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, jic23, jic23, sachin.kamat

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 drivers/iio/dac/ad7303.c |   31 ++++++++-----------------------
 1 file changed, 8 insertions(+), 23 deletions(-)

diff --git a/drivers/iio/dac/ad7303.c b/drivers/iio/dac/ad7303.c
index d546f50..ed2d276 100644
--- a/drivers/iio/dac/ad7303.c
+++ b/drivers/iio/dac/ad7303.c
@@ -203,7 +203,7 @@ static int ad7303_probe(struct spi_device *spi)
 	bool ext_ref;
 	int ret;
 
-	indio_dev = iio_device_alloc(sizeof(*st));
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
 	if (indio_dev == NULL)
 		return -ENOMEM;
 
@@ -212,15 +212,13 @@ static int ad7303_probe(struct spi_device *spi)
 
 	st->spi = spi;
 
-	st->vdd_reg = regulator_get(&spi->dev, "Vdd");
-	if (IS_ERR(st->vdd_reg)) {
-		ret = PTR_ERR(st->vdd_reg);
-		goto err_free;
-	}
+	st->vdd_reg = devm_regulator_get(&spi->dev, "Vdd");
+	if (IS_ERR(st->vdd_reg))
+		return PTR_ERR(st->vdd_reg);
 
 	ret = regulator_enable(st->vdd_reg);
 	if (ret)
-		goto err_put_vdd_reg;
+		return ret;
 
 	if (spi->dev.of_node) {
 		ext_ref = of_property_read_bool(spi->dev.of_node,
@@ -234,7 +232,7 @@ static int ad7303_probe(struct spi_device *spi)
 	}
 
 	if (ext_ref) {
-		st->vref_reg = regulator_get(&spi->dev, "REF");
+		st->vref_reg = devm_regulator_get(&spi->dev, "REF");
 		if (IS_ERR(st->vref_reg)) {
 			ret = PTR_ERR(st->vref_reg);
 			goto err_disable_vdd_reg;
@@ -242,7 +240,7 @@ static int ad7303_probe(struct spi_device *spi)
 
 		ret = regulator_enable(st->vref_reg);
 		if (ret)
-			goto err_put_vref_reg;
+			goto err_disable_vdd_reg;
 
 		st->config |= AD7303_CFG_EXTERNAL_VREF;
 	}
@@ -263,16 +261,8 @@ static int ad7303_probe(struct spi_device *spi)
 err_disable_vref_reg:
 	if (st->vref_reg)
 		regulator_disable(st->vref_reg);
-err_put_vref_reg:
-	if (st->vref_reg)
-		regulator_put(st->vref_reg);
 err_disable_vdd_reg:
 	regulator_disable(st->vdd_reg);
-err_put_vdd_reg:
-	regulator_put(st->vdd_reg);
-err_free:
-	iio_device_free(indio_dev);
-
 	return ret;
 }
 
@@ -283,14 +273,9 @@ static int ad7303_remove(struct spi_device *spi)
 
 	iio_device_unregister(indio_dev);
 
-	if (st->vref_reg) {
+	if (st->vref_reg)
 		regulator_disable(st->vref_reg);
-		regulator_put(st->vref_reg);
-	}
 	regulator_disable(st->vdd_reg);
-	regulator_put(st->vdd_reg);
-
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 14/14] iio: dac: max517: Use devm_iio_device_alloc
  2013-08-19 11:38 [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Sachin Kamat
                   ` (11 preceding siblings ...)
  2013-08-19 11:38 ` [PATCH 13/14] iio: dac: ad7303: " Sachin Kamat
@ 2013-08-19 11:38 ` Sachin Kamat
  2013-08-19 19:38   ` Jonathan Cameron
  2013-08-19 19:20 ` [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Jonathan Cameron
  13 siblings, 1 reply; 29+ messages in thread
From: Sachin Kamat @ 2013-08-19 11:38 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, jic23, jic23, sachin.kamat, Roland Stigge

Using devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Roland Stigge <stigge@antcom.de>
---
 drivers/iio/dac/max517.c |   17 ++++-------------
 1 file changed, 4 insertions(+), 13 deletions(-)

diff --git a/drivers/iio/dac/max517.c b/drivers/iio/dac/max517.c
index ebfaa41..83adcbf 100644
--- a/drivers/iio/dac/max517.c
+++ b/drivers/iio/dac/max517.c
@@ -164,11 +164,9 @@ static int max517_probe(struct i2c_client *client,
 	struct max517_platform_data *platform_data = client->dev.platform_data;
 	int err;
 
-	indio_dev = iio_device_alloc(sizeof(*data));
-	if (indio_dev == NULL) {
-		err = -ENOMEM;
-		goto exit;
-	}
+	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
+	if (!indio_dev)
+		return -ENOMEM;
 	data = iio_priv(indio_dev);
 	i2c_set_clientdata(client, indio_dev);
 	data->client = client;
@@ -198,23 +196,16 @@ static int max517_probe(struct i2c_client *client,
 
 	err = iio_device_register(indio_dev);
 	if (err)
-		goto exit_free_device;
+		return err;
 
 	dev_info(&client->dev, "DAC registered\n");
 
 	return 0;
-
-exit_free_device:
-	iio_device_free(indio_dev);
-exit:
-	return err;
 }
 
 static int max517_remove(struct i2c_client *client)
 {
 	iio_device_unregister(i2c_get_clientdata(client));
-	iio_device_free(i2c_get_clientdata(client));
-
 	return 0;
 }
 
-- 
1.7.9.5

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

* Re: [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs
  2013-08-19 11:38 [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Sachin Kamat
                   ` (12 preceding siblings ...)
  2013-08-19 11:38 ` [PATCH 14/14] iio: dac: max517: Use devm_iio_device_alloc Sachin Kamat
@ 2013-08-19 19:20 ` Jonathan Cameron
  13 siblings, 0 replies; 29+ messages in thread
From: Jonathan Cameron @ 2013-08-19 19:20 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, lars, jic23

On 08/19/13 12:38, Sachin Kamat wrote:
> devm_* APIs are device managed and make code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
applied to the togreg branch of iio.git

Thanks,

Jonathan
> ---
> This series is compile tested and based on togreg branch of
> git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
> ---
>  drivers/iio/dac/ad5064.c |   21 ++++++---------------
>  1 file changed, 6 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/iio/dac/ad5064.c b/drivers/iio/dac/ad5064.c
> index aa26d50..a3a52be 100644
> --- a/drivers/iio/dac/ad5064.c
> +++ b/drivers/iio/dac/ad5064.c
> @@ -442,7 +442,7 @@ static int ad5064_probe(struct device *dev, enum ad5064_type type,
>  	unsigned int i;
>  	int ret;
>  
> -	indio_dev = iio_device_alloc(sizeof(*st));
> +	indio_dev = devm_iio_device_alloc(dev, sizeof(*st));
>  	if (indio_dev == NULL)
>  		return  -ENOMEM;
>  
> @@ -456,23 +456,23 @@ static int ad5064_probe(struct device *dev, enum ad5064_type type,
>  	for (i = 0; i < ad5064_num_vref(st); ++i)
>  		st->vref_reg[i].supply = ad5064_vref_name(st, i);
>  
> -	ret = regulator_bulk_get(dev, ad5064_num_vref(st),
> +	ret = devm_regulator_bulk_get(dev, ad5064_num_vref(st),
>  		st->vref_reg);
>  	if (ret) {
>  		if (!st->chip_info->internal_vref)
> -			goto error_free;
> +			return ret;
>  		st->use_internal_vref = true;
>  		ret = ad5064_write(st, AD5064_CMD_CONFIG, 0,
>  			AD5064_CONFIG_INT_VREF_ENABLE, 0);
>  		if (ret) {
>  			dev_err(dev, "Failed to enable internal vref: %d\n",
>  				ret);
> -			goto error_free;
> +			return ret;
>  		}
>  	} else {
>  		ret = regulator_bulk_enable(ad5064_num_vref(st), st->vref_reg);
>  		if (ret)
> -			goto error_free_reg;
> +			return ret;
>  	}
>  
>  	indio_dev->dev.parent = dev;
> @@ -498,11 +498,6 @@ static int ad5064_probe(struct device *dev, enum ad5064_type type,
>  error_disable_reg:
>  	if (!st->use_internal_vref)
>  		regulator_bulk_disable(ad5064_num_vref(st), st->vref_reg);
> -error_free_reg:
> -	if (!st->use_internal_vref)
> -		regulator_bulk_free(ad5064_num_vref(st), st->vref_reg);
> -error_free:
> -	iio_device_free(indio_dev);
>  
>  	return ret;
>  }
> @@ -514,12 +509,8 @@ static int ad5064_remove(struct device *dev)
>  
>  	iio_device_unregister(indio_dev);
>  
> -	if (!st->use_internal_vref) {
> +	if (!st->use_internal_vref)
>  		regulator_bulk_disable(ad5064_num_vref(st), st->vref_reg);
> -		regulator_bulk_free(ad5064_num_vref(st), st->vref_reg);
> -	}
> -
> -	iio_device_free(indio_dev);
>  
>  	return 0;
>  }
> 

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

* Re: [PATCH 02/14] iio: dac: ad5360: Use devm_* APIs
  2013-08-19 11:38 ` [PATCH 02/14] iio: dac: ad5360: " Sachin Kamat
@ 2013-08-19 19:23   ` Jonathan Cameron
  0 siblings, 0 replies; 29+ messages in thread
From: Jonathan Cameron @ 2013-08-19 19:23 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, lars, jic23

On 08/19/13 12:38, Sachin Kamat wrote:
> devm_* APIs are device managed and make code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Applied to the togreg branch of iio.git

Thanks,

Jonathan
> ---
>  drivers/iio/dac/ad5360.c |   15 ++++-----------
>  1 file changed, 4 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/iio/dac/ad5360.c b/drivers/iio/dac/ad5360.c
> index 80923af..d2da71e 100644
> --- a/drivers/iio/dac/ad5360.c
> +++ b/drivers/iio/dac/ad5360.c
> @@ -459,7 +459,7 @@ static int ad5360_probe(struct spi_device *spi)
>  	unsigned int i;
>  	int ret;
>  
> -	indio_dev = iio_device_alloc(sizeof(*st));
> +	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
>  	if (indio_dev == NULL) {
>  		dev_err(&spi->dev, "Failed to allocate iio device\n");
>  		return  -ENOMEM;
> @@ -480,13 +480,13 @@ static int ad5360_probe(struct spi_device *spi)
>  	ret = ad5360_alloc_channels(indio_dev);
>  	if (ret) {
>  		dev_err(&spi->dev, "Failed to allocate channel spec: %d\n", ret);
> -		goto error_free;
> +		return ret;
>  	}
>  
>  	for (i = 0; i < st->chip_info->num_vrefs; ++i)
>  		st->vref_reg[i].supply = ad5360_vref_name[i];
>  
> -	ret = regulator_bulk_get(&st->spi->dev, st->chip_info->num_vrefs,
> +	ret = devm_regulator_bulk_get(&st->spi->dev, st->chip_info->num_vrefs,
>  		st->vref_reg);
>  	if (ret) {
>  		dev_err(&spi->dev, "Failed to request vref regulators: %d\n", ret);
> @@ -496,7 +496,7 @@ static int ad5360_probe(struct spi_device *spi)
>  	ret = regulator_bulk_enable(st->chip_info->num_vrefs, st->vref_reg);
>  	if (ret) {
>  		dev_err(&spi->dev, "Failed to enable vref regulators: %d\n", ret);
> -		goto error_free_reg;
> +		goto error_free_channels;
>  	}
>  
>  	ret = iio_device_register(indio_dev);
> @@ -509,12 +509,8 @@ static int ad5360_probe(struct spi_device *spi)
>  
>  error_disable_reg:
>  	regulator_bulk_disable(st->chip_info->num_vrefs, st->vref_reg);
> -error_free_reg:
> -	regulator_bulk_free(st->chip_info->num_vrefs, st->vref_reg);
>  error_free_channels:
>  	kfree(indio_dev->channels);
> -error_free:
> -	iio_device_free(indio_dev);
>  
>  	return ret;
>  }
> @@ -529,9 +525,6 @@ static int ad5360_remove(struct spi_device *spi)
>  	kfree(indio_dev->channels);
>  
>  	regulator_bulk_disable(st->chip_info->num_vrefs, st->vref_reg);
> -	regulator_bulk_free(st->chip_info->num_vrefs, st->vref_reg);
> -
> -	iio_device_free(indio_dev);
>  
>  	return 0;
>  }
> 

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

* Re: [PATCH 03/14] iio: dac: ad5380: Use devm_* APIs
  2013-08-19 11:38 ` [PATCH 03/14] iio: dac: ad5380: " Sachin Kamat
@ 2013-08-19 19:23   ` Jonathan Cameron
  0 siblings, 0 replies; 29+ messages in thread
From: Jonathan Cameron @ 2013-08-19 19:23 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, lars, jic23

On 08/19/13 12:38, Sachin Kamat wrote:
> devm_* APIs are device managed and make code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Applied to the togreg branch of iio.git

Thanks,

Jonathan
> ---
>  drivers/iio/dac/ad5380.c |   18 ++++--------------
>  1 file changed, 4 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/iio/dac/ad5380.c b/drivers/iio/dac/ad5380.c
> index bf2db02..1c44ae3 100644
> --- a/drivers/iio/dac/ad5380.c
> +++ b/drivers/iio/dac/ad5380.c
> @@ -369,11 +369,10 @@ static int ad5380_probe(struct device *dev, struct regmap *regmap,
>  	unsigned int ctrl = 0;
>  	int ret;
>  
> -	indio_dev = iio_device_alloc(sizeof(*st));
> +	indio_dev = devm_iio_device_alloc(dev, sizeof(*st));
>  	if (indio_dev == NULL) {
>  		dev_err(dev, "Failed to allocate iio device\n");
> -		ret = -ENOMEM;
> -		goto error_out;
> +		return -ENOMEM;
>  	}
>  
>  	st = iio_priv(indio_dev);
> @@ -391,13 +390,13 @@ static int ad5380_probe(struct device *dev, struct regmap *regmap,
>  	ret = ad5380_alloc_channels(indio_dev);
>  	if (ret) {
>  		dev_err(dev, "Failed to allocate channel spec: %d\n", ret);
> -		goto error_free;
> +		return ret;
>  	}
>  
>  	if (st->chip_info->int_vref == 2500000)
>  		ctrl |= AD5380_CTRL_INT_VREF_2V5;
>  
> -	st->vref_reg = regulator_get(dev, "vref");
> +	st->vref_reg = devm_regulator_get(dev, "vref");
>  	if (!IS_ERR(st->vref_reg)) {
>  		ret = regulator_enable(st->vref_reg);
>  		if (ret) {
> @@ -434,13 +433,7 @@ error_disable_reg:
>  	if (!IS_ERR(st->vref_reg))
>  		regulator_disable(st->vref_reg);
>  error_free_reg:
> -	if (!IS_ERR(st->vref_reg))
> -		regulator_put(st->vref_reg);
> -
>  	kfree(indio_dev->channels);
> -error_free:
> -	iio_device_free(indio_dev);
> -error_out:
>  
>  	return ret;
>  }
> @@ -456,11 +449,8 @@ static int ad5380_remove(struct device *dev)
>  
>  	if (!IS_ERR(st->vref_reg)) {
>  		regulator_disable(st->vref_reg);
> -		regulator_put(st->vref_reg);
>  	}
>  
> -	iio_device_free(indio_dev);
> -
>  	return 0;
>  }
>  
> 

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

* Re: [PATCH 04/14] iio: dac: ad5421: Use devm_* APIs
  2013-08-19 11:38 ` [PATCH 04/14] iio: dac: ad5421: " Sachin Kamat
@ 2013-08-19 19:24   ` Jonathan Cameron
  0 siblings, 0 replies; 29+ messages in thread
From: Jonathan Cameron @ 2013-08-19 19:24 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, lars, jic23

On 08/19/13 12:38, Sachin Kamat wrote:
> devm_* APIs are device managed and make code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Applied to the togreg branch of iio.git

Thanks,

Jonathan
> ---
>  drivers/iio/dac/ad5421.c |   19 ++++---------------
>  1 file changed, 4 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/iio/dac/ad5421.c b/drivers/iio/dac/ad5421.c
> index 98f2440..1f78b14 100644
> --- a/drivers/iio/dac/ad5421.c
> +++ b/drivers/iio/dac/ad5421.c
> @@ -451,7 +451,7 @@ static int ad5421_probe(struct spi_device *spi)
>  	struct ad5421_state *st;
>  	int ret;
>  
> -	indio_dev = iio_device_alloc(sizeof(*st));
> +	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
>  	if (indio_dev == NULL) {
>  		dev_err(&spi->dev, "Failed to allocate iio device\n");
>  		return  -ENOMEM;
> @@ -484,31 +484,23 @@ static int ad5421_probe(struct spi_device *spi)
>  	ad5421_update_ctrl(indio_dev, 0, 0);
>  
>  	if (spi->irq) {
> -		ret = request_threaded_irq(spi->irq,
> +		ret = devm_request_threaded_irq(&spi->dev, spi->irq,
>  					   NULL,
>  					   ad5421_fault_handler,
>  					   IRQF_TRIGGER_HIGH | IRQF_ONESHOT,
>  					   "ad5421 fault",
>  					   indio_dev);
>  		if (ret)
> -			goto error_free;
> +			return ret;
>  	}
>  
>  	ret = iio_device_register(indio_dev);
>  	if (ret) {
>  		dev_err(&spi->dev, "Failed to register iio device: %d\n", ret);
> -		goto error_free_irq;
> +		return ret;
>  	}
>  
>  	return 0;
> -
> -error_free_irq:
> -	if (spi->irq)
> -		free_irq(spi->irq, indio_dev);
> -error_free:
> -	iio_device_free(indio_dev);
> -
> -	return ret;
>  }
>  
>  static int ad5421_remove(struct spi_device *spi)
> @@ -516,9 +508,6 @@ static int ad5421_remove(struct spi_device *spi)
>  	struct iio_dev *indio_dev = spi_get_drvdata(spi);
>  
>  	iio_device_unregister(indio_dev);
> -	if (spi->irq)
> -		free_irq(spi->irq, indio_dev);
> -	iio_device_free(indio_dev);
>  
>  	return 0;
>  }
> 

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

* Re: [PATCH 05/14] iio: dac: ad5446: Use devm_* APIs
  2013-08-19 11:38 ` [PATCH 05/14] iio: dac: ad5446: " Sachin Kamat
@ 2013-08-19 19:25   ` Jonathan Cameron
  0 siblings, 0 replies; 29+ messages in thread
From: Jonathan Cameron @ 2013-08-19 19:25 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, lars, jic23

On 08/19/13 12:38, Sachin Kamat wrote:
> devm_* APIs are device managed and make code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Applied to the togreg branch of iio.git

Thanks,

Jonathan
> ---
>  drivers/iio/dac/ad5446.c |   19 +++++--------------
>  1 file changed, 5 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/iio/dac/ad5446.c b/drivers/iio/dac/ad5446.c
> index cae8f60..96e9ed4 100644
> --- a/drivers/iio/dac/ad5446.c
> +++ b/drivers/iio/dac/ad5446.c
> @@ -220,11 +220,11 @@ static int ad5446_probe(struct device *dev, const char *name,
>  	struct regulator *reg;
>  	int ret, voltage_uv = 0;
>  
> -	reg = regulator_get(dev, "vcc");
> +	reg = devm_regulator_get(dev, "vcc");
>  	if (!IS_ERR(reg)) {
>  		ret = regulator_enable(reg);
>  		if (ret)
> -			goto error_put_reg;
> +			return ret;
>  
>  		ret = regulator_get_voltage(reg);
>  		if (ret < 0)
> @@ -233,7 +233,7 @@ static int ad5446_probe(struct device *dev, const char *name,
>  		voltage_uv = ret;
>  	}
>  
> -	indio_dev = iio_device_alloc(sizeof(*st));
> +	indio_dev = devm_iio_device_alloc(dev, sizeof(*st));
>  	if (indio_dev == NULL) {
>  		ret = -ENOMEM;
>  		goto error_disable_reg;
> @@ -264,19 +264,13 @@ static int ad5446_probe(struct device *dev, const char *name,
>  
>  	ret = iio_device_register(indio_dev);
>  	if (ret)
> -		goto error_free_device;
> +		goto error_disable_reg;
>  
>  	return 0;
>  
> -error_free_device:
> -	iio_device_free(indio_dev);
>  error_disable_reg:
>  	if (!IS_ERR(reg))
>  		regulator_disable(reg);
> -error_put_reg:
> -	if (!IS_ERR(reg))
> -		regulator_put(reg);
> -
>  	return ret;
>  }
>  
> @@ -286,11 +280,8 @@ static int ad5446_remove(struct device *dev)
>  	struct ad5446_state *st = iio_priv(indio_dev);
>  
>  	iio_device_unregister(indio_dev);
> -	if (!IS_ERR(st->reg)) {
> +	if (!IS_ERR(st->reg))
>  		regulator_disable(st->reg);
> -		regulator_put(st->reg);
> -	}
> -	iio_device_free(indio_dev);
>  
>  	return 0;
>  }
> 

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

* Re: [PATCH 06/14] iio: dac: ad5449: Use devm_* APIs
  2013-08-19 11:38 ` [PATCH 06/14] iio: dac: ad5449: " Sachin Kamat
@ 2013-08-19 19:26   ` Jonathan Cameron
  0 siblings, 0 replies; 29+ messages in thread
From: Jonathan Cameron @ 2013-08-19 19:26 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, lars, jic23

On 08/19/13 12:38, Sachin Kamat wrote:
> devm_* APIs are device managed and make code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Applied to the togreg branch of iio.git

Thanks
> ---
>  drivers/iio/dac/ad5449.c |   15 ++++-----------
>  1 file changed, 4 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/iio/dac/ad5449.c b/drivers/iio/dac/ad5449.c
> index ba1c914..fff7d07 100644
> --- a/drivers/iio/dac/ad5449.c
> +++ b/drivers/iio/dac/ad5449.c
> @@ -275,7 +275,7 @@ static int ad5449_spi_probe(struct spi_device *spi)
>  	unsigned int i;
>  	int ret;
>  
> -	indio_dev = iio_device_alloc(sizeof(*st));
> +	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
>  	if (indio_dev == NULL)
>  		return -ENOMEM;
>  
> @@ -288,14 +288,14 @@ static int ad5449_spi_probe(struct spi_device *spi)
>  	for (i = 0; i < st->chip_info->num_channels; ++i)
>  		st->vref_reg[i].supply = ad5449_vref_name(st, i);
>  
> -	ret = regulator_bulk_get(&spi->dev, st->chip_info->num_channels,
> +	ret = devm_regulator_bulk_get(&spi->dev, st->chip_info->num_channels,
>  				st->vref_reg);
>  	if (ret)
> -		goto error_free;
> +		return ret;
>  
>  	ret = regulator_bulk_enable(st->chip_info->num_channels, st->vref_reg);
>  	if (ret)
> -		goto error_free_reg;
> +		return ret;
>  
>  	indio_dev->dev.parent = &spi->dev;
>  	indio_dev->name = id->name;
> @@ -325,10 +325,6 @@ static int ad5449_spi_probe(struct spi_device *spi)
>  
>  error_disable_reg:
>  	regulator_bulk_disable(st->chip_info->num_channels, st->vref_reg);
> -error_free_reg:
> -	regulator_bulk_free(st->chip_info->num_channels, st->vref_reg);
> -error_free:
> -	iio_device_free(indio_dev);
>  
>  	return ret;
>  }
> @@ -341,9 +337,6 @@ static int ad5449_spi_remove(struct spi_device *spi)
>  	iio_device_unregister(indio_dev);
>  
>  	regulator_bulk_disable(st->chip_info->num_channels, st->vref_reg);
> -	regulator_bulk_free(st->chip_info->num_channels, st->vref_reg);
> -
> -	iio_device_free(indio_dev);
>  
>  	return 0;
>  }
> 

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

* Re: [PATCH 07/14] iio: dac: ad5504: Use devm_* APIs
  2013-08-19 11:38 ` [PATCH 07/14] iio: dac: ad5504: " Sachin Kamat
@ 2013-08-19 19:27   ` Jonathan Cameron
  0 siblings, 0 replies; 29+ messages in thread
From: Jonathan Cameron @ 2013-08-19 19:27 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, lars, jic23

On 08/19/13 12:38, Sachin Kamat wrote:
> devm_* APIs are device managed and make code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Applied to the togreg branch of iio.git

Thanks,

Jonathan
> ---
>  drivers/iio/dac/ad5504.c |   31 ++++++++-----------------------
>  1 file changed, 8 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/iio/dac/ad5504.c b/drivers/iio/dac/ad5504.c
> index 139206e..caffb16 100644
> --- a/drivers/iio/dac/ad5504.c
> +++ b/drivers/iio/dac/ad5504.c
> @@ -281,16 +281,14 @@ static int ad5504_probe(struct spi_device *spi)
>  	struct regulator *reg;
>  	int ret, voltage_uv = 0;
>  
> -	indio_dev = iio_device_alloc(sizeof(*st));
> -	if (indio_dev == NULL) {
> -		ret = -ENOMEM;
> -		goto error_ret;
> -	}
> -	reg = regulator_get(&spi->dev, "vcc");
> +	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
> +	if (!indio_dev)
> +		return -ENOMEM;
> +	reg = devm_regulator_get(&spi->dev, "vcc");
>  	if (!IS_ERR(reg)) {
>  		ret = regulator_enable(reg);
>  		if (ret)
> -			goto error_put_reg;
> +			return ret;
>  
>  		ret = regulator_get_voltage(reg);
>  		if (ret < 0)
> @@ -321,7 +319,7 @@ static int ad5504_probe(struct spi_device *spi)
>  	indio_dev->modes = INDIO_DIRECT_MODE;
>  
>  	if (spi->irq) {
> -		ret = request_threaded_irq(spi->irq,
> +		ret = devm_request_threaded_irq(&spi->dev, spi->irq,
>  					   NULL,
>  					   &ad5504_event_handler,
>  					   IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
> @@ -333,22 +331,14 @@ static int ad5504_probe(struct spi_device *spi)
>  
>  	ret = iio_device_register(indio_dev);
>  	if (ret)
> -		goto error_free_irq;
> +		goto error_disable_reg;
>  
>  	return 0;
>  
> -error_free_irq:
> -	if (spi->irq)
> -		free_irq(spi->irq, indio_dev);
>  error_disable_reg:
>  	if (!IS_ERR(reg))
>  		regulator_disable(reg);
> -error_put_reg:
> -	if (!IS_ERR(reg))
> -		regulator_put(reg);
>  
> -	iio_device_free(indio_dev);
> -error_ret:
>  	return ret;
>  }
>  
> @@ -358,14 +348,9 @@ static int ad5504_remove(struct spi_device *spi)
>  	struct ad5504_state *st = iio_priv(indio_dev);
>  
>  	iio_device_unregister(indio_dev);
> -	if (spi->irq)
> -		free_irq(spi->irq, indio_dev);
>  
> -	if (!IS_ERR(st->reg)) {
> +	if (!IS_ERR(st->reg))
>  		regulator_disable(st->reg);
> -		regulator_put(st->reg);
> -	}
> -	iio_device_free(indio_dev);
>  
>  	return 0;
>  }
> 

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

* Re: [PATCH 08/14] iio: dac: ad5624r_spi: Use devm_* APIs
  2013-08-19 11:38 ` [PATCH 08/14] iio: dac: ad5624r_spi: " Sachin Kamat
@ 2013-08-19 19:28   ` Jonathan Cameron
  0 siblings, 0 replies; 29+ messages in thread
From: Jonathan Cameron @ 2013-08-19 19:28 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, lars, jic23

On 08/19/13 12:38, Sachin Kamat wrote:
> devm_* APIs are device managed and make code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Applied to the togreg branch of iio.git

Thanks,

Jonathan
> ---
>  drivers/iio/dac/ad5624r_spi.c |   22 ++++++----------------
>  1 file changed, 6 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/iio/dac/ad5624r_spi.c b/drivers/iio/dac/ad5624r_spi.c
> index bb298aa..714af75 100644
> --- a/drivers/iio/dac/ad5624r_spi.c
> +++ b/drivers/iio/dac/ad5624r_spi.c
> @@ -226,17 +226,15 @@ static int ad5624r_probe(struct spi_device *spi)
>  	struct iio_dev *indio_dev;
>  	int ret, voltage_uv = 0;
>  
> -	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->reg = regulator_get(&spi->dev, "vcc");
> +	st->reg = devm_regulator_get(&spi->dev, "vcc");
>  	if (!IS_ERR(st->reg)) {
>  		ret = regulator_enable(st->reg);
>  		if (ret)
> -			goto error_put_reg;
> +			return ret;
>  
>  		ret = regulator_get_voltage(st->reg);
>  		if (ret < 0)
> @@ -277,11 +275,6 @@ static int ad5624r_probe(struct spi_device *spi)
>  error_disable_reg:
>  	if (!IS_ERR(st->reg))
>  		regulator_disable(st->reg);
> -error_put_reg:
> -	if (!IS_ERR(st->reg))
> -		regulator_put(st->reg);
> -	iio_device_free(indio_dev);
> -error_ret:
>  
>  	return ret;
>  }
> @@ -292,11 +285,8 @@ static int ad5624r_remove(struct spi_device *spi)
>  	struct ad5624r_state *st = iio_priv(indio_dev);
>  
>  	iio_device_unregister(indio_dev);
> -	if (!IS_ERR(st->reg)) {
> +	if (!IS_ERR(st->reg))
>  		regulator_disable(st->reg);
> -		regulator_put(st->reg);
> -	}
> -	iio_device_free(indio_dev);
>  
>  	return 0;
>  }
> 

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

* Re: [PATCH 09/14] iio: dac: ad5686: Use devm_* APIs
  2013-08-19 11:38 ` [PATCH 09/14] iio: dac: ad5686: " Sachin Kamat
@ 2013-08-19 19:30   ` Jonathan Cameron
  0 siblings, 0 replies; 29+ messages in thread
From: Jonathan Cameron @ 2013-08-19 19:30 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, lars, jic23

On 08/19/13 12:38, Sachin Kamat wrote:
> devm_* APIs are device managed and make code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Applied to the togreg branch of iio.git

Thanks,

Jonathan
> ---
>  drivers/iio/dac/ad5686.c |   17 ++++-------------
>  1 file changed, 4 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/iio/dac/ad5686.c b/drivers/iio/dac/ad5686.c
> index 06439b1..57825ea 100644
> --- a/drivers/iio/dac/ad5686.c
> +++ b/drivers/iio/dac/ad5686.c
> @@ -314,18 +314,18 @@ static int ad5686_probe(struct spi_device *spi)
>  	struct iio_dev *indio_dev;
>  	int ret, regdone = 0, voltage_uv = 0;
>  
> -	indio_dev = iio_device_alloc(sizeof(*st));
> +	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
>  	if (indio_dev == NULL)
>  		return  -ENOMEM;
>  
>  	st = iio_priv(indio_dev);
>  	spi_set_drvdata(spi, indio_dev);
>  
> -	st->reg = regulator_get(&spi->dev, "vcc");
> +	st->reg = devm_regulator_get(&spi->dev, "vcc");
>  	if (!IS_ERR(st->reg)) {
>  		ret = regulator_enable(st->reg);
>  		if (ret)
> -			goto error_put_reg;
> +			return ret;
>  
>  		ret = regulator_get_voltage(st->reg);
>  		if (ret < 0)
> @@ -369,12 +369,6 @@ static int ad5686_probe(struct spi_device *spi)
>  error_disable_reg:
>  	if (!IS_ERR(st->reg))
>  		regulator_disable(st->reg);
> -error_put_reg:
> -	if (!IS_ERR(st->reg))
> -		regulator_put(st->reg);
> -
> -	iio_device_free(indio_dev);
> -
>  	return ret;
>  }
>  
> @@ -384,11 +378,8 @@ static int ad5686_remove(struct spi_device *spi)
>  	struct ad5686_state *st = iio_priv(indio_dev);
>  
>  	iio_device_unregister(indio_dev);
> -	if (!IS_ERR(st->reg)) {
> +	if (!IS_ERR(st->reg))
>  		regulator_disable(st->reg);
> -		regulator_put(st->reg);
> -	}
> -	iio_device_free(indio_dev);
>  
>  	return 0;
>  }
> 

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

* Re: [PATCH 10/14] iio: dac: ad5755: Use devm_iio_device_alloc
  2013-08-19 11:38 ` [PATCH 10/14] iio: dac: ad5755: Use devm_iio_device_alloc Sachin Kamat
@ 2013-08-19 19:33   ` Jonathan Cameron
  2013-08-20 13:47     ` Sachin Kamat
  0 siblings, 1 reply; 29+ messages in thread
From: Jonathan Cameron @ 2013-08-19 19:33 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, lars, jic23

On 08/19/13 12:38, Sachin Kamat wrote:
> Using devm_iio_device_alloc makes code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
I made an ever so tiny mod in this one before applying.
Don't like the removal of the white space before the return
in the remove function.  Guessing you didn't mean to do that.

Applied to the togreg branch of iio.git.

Jonathan
> ---
>  drivers/iio/dac/ad5755.c |   15 ++++-----------
>  1 file changed, 4 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/iio/dac/ad5755.c b/drivers/iio/dac/ad5755.c
> index 12bb315..124d53b 100644
> --- a/drivers/iio/dac/ad5755.c
> +++ b/drivers/iio/dac/ad5755.c
> @@ -565,7 +565,7 @@ static int ad5755_probe(struct spi_device *spi)
>  	struct ad5755_state *st;
>  	int ret;
>  
> -	indio_dev = iio_device_alloc(sizeof(*st));
> +	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
>  	if (indio_dev == NULL) {
>  		dev_err(&spi->dev, "Failed to allocate iio device\n");
>  		return  -ENOMEM;
> @@ -589,24 +589,19 @@ static int ad5755_probe(struct spi_device *spi)
>  
>  	ret = ad5755_init_channels(indio_dev, pdata);
>  	if (ret)
> -		goto error_free;
> +		return ret;
>  
>  	ret = ad5755_setup_pdata(indio_dev, pdata);
>  	if (ret)
> -		goto error_free;
> +		return ret;
>  
>  	ret = iio_device_register(indio_dev);
>  	if (ret) {
>  		dev_err(&spi->dev, "Failed to register iio device: %d\n", ret);
> -		goto error_free;
> +		return ret;
>  	}
>  
>  	return 0;
> -
> -error_free:
> -	iio_device_free(indio_dev);
> -
> -	return ret;
>  }
>  
>  static int ad5755_remove(struct spi_device *spi)
> @@ -614,8 +609,6 @@ static int ad5755_remove(struct spi_device *spi)
>  	struct iio_dev *indio_dev = spi_get_drvdata(spi);
>  
>  	iio_device_unregister(indio_dev);
> -	iio_device_free(indio_dev);
> -
>  	return 0;
>  }
>  
> 

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

* Re: [PATCH 11/14] iio: dac: ad5764: Use devm_* APIs
  2013-08-19 11:38 ` [PATCH 11/14] iio: dac: ad5764: Use devm_* APIs Sachin Kamat
@ 2013-08-19 19:33   ` Jonathan Cameron
  0 siblings, 0 replies; 29+ messages in thread
From: Jonathan Cameron @ 2013-08-19 19:33 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, lars, jic23

On 08/19/13 12:38, Sachin Kamat wrote:
> devm_* APIs are device managed and make code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Applied to the togreg branch of iio.git

Thanks,

Jonathan
> ---
>  drivers/iio/dac/ad5764.c |   20 +++++---------------
>  1 file changed, 5 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/iio/dac/ad5764.c b/drivers/iio/dac/ad5764.c
> index 7a53f7d..df7e028 100644
> --- a/drivers/iio/dac/ad5764.c
> +++ b/drivers/iio/dac/ad5764.c
> @@ -275,7 +275,7 @@ static int ad5764_probe(struct spi_device *spi)
>  	struct ad5764_state *st;
>  	int ret;
>  
> -	indio_dev = iio_device_alloc(sizeof(*st));
> +	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
>  	if (indio_dev == NULL) {
>  		dev_err(&spi->dev, "Failed to allocate iio device\n");
>  		return -ENOMEM;
> @@ -298,12 +298,12 @@ static int ad5764_probe(struct spi_device *spi)
>  		st->vref_reg[0].supply = "vrefAB";
>  		st->vref_reg[1].supply = "vrefCD";
>  
> -		ret = regulator_bulk_get(&st->spi->dev,
> +		ret = devm_regulator_bulk_get(&st->spi->dev,
>  			ARRAY_SIZE(st->vref_reg), st->vref_reg);
>  		if (ret) {
>  			dev_err(&spi->dev, "Failed to request vref regulators: %d\n",
>  				ret);
> -			goto error_free;
> +			return ret;
>  		}
>  
>  		ret = regulator_bulk_enable(ARRAY_SIZE(st->vref_reg),
> @@ -311,7 +311,7 @@ static int ad5764_probe(struct spi_device *spi)
>  		if (ret) {
>  			dev_err(&spi->dev, "Failed to enable vref regulators: %d\n",
>  				ret);
> -			goto error_free_reg;
> +			return ret;
>  		}
>  	}
>  
> @@ -326,12 +326,6 @@ static int ad5764_probe(struct spi_device *spi)
>  error_disable_reg:
>  	if (st->chip_info->int_vref == 0)
>  		regulator_bulk_disable(ARRAY_SIZE(st->vref_reg), st->vref_reg);
> -error_free_reg:
> -	if (st->chip_info->int_vref == 0)
> -		regulator_bulk_free(ARRAY_SIZE(st->vref_reg), st->vref_reg);
> -error_free:
> -	iio_device_free(indio_dev);
> -
>  	return ret;
>  }
>  
> @@ -342,12 +336,8 @@ static int ad5764_remove(struct spi_device *spi)
>  
>  	iio_device_unregister(indio_dev);
>  
> -	if (st->chip_info->int_vref == 0) {
> +	if (st->chip_info->int_vref == 0)
>  		regulator_bulk_disable(ARRAY_SIZE(st->vref_reg), st->vref_reg);
> -		regulator_bulk_free(ARRAY_SIZE(st->vref_reg), st->vref_reg);
> -	}
> -
> -	iio_device_free(indio_dev);
>  
>  	return 0;
>  }
> 

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

* Re: [PATCH 12/14] iio: dac: ad5791: Use devm_* APIs
  2013-08-19 11:38 ` [PATCH 12/14] iio: dac: ad5791: " Sachin Kamat
@ 2013-08-19 19:35   ` Jonathan Cameron
  0 siblings, 0 replies; 29+ messages in thread
From: Jonathan Cameron @ 2013-08-19 19:35 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, lars, jic23

On 08/19/13 12:38, Sachin Kamat wrote:
> devm_* APIs are device managed and make code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Applied to the togreg branch of iio.git

> ---
>  drivers/iio/dac/ad5791.c |   35 +++++++++--------------------------
>  1 file changed, 9 insertions(+), 26 deletions(-)
> 
> diff --git a/drivers/iio/dac/ad5791.c b/drivers/iio/dac/ad5791.c
> index 97c1e5d..ce74589 100644
> --- a/drivers/iio/dac/ad5791.c
> +++ b/drivers/iio/dac/ad5791.c
> @@ -349,17 +349,15 @@ static int ad5791_probe(struct spi_device *spi)
>  	struct ad5791_state *st;
>  	int ret, pos_voltage_uv = 0, neg_voltage_uv = 0;
>  
> -	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->reg_vdd = regulator_get(&spi->dev, "vdd");
> +	st->reg_vdd = devm_regulator_get(&spi->dev, "vdd");
>  	if (!IS_ERR(st->reg_vdd)) {
>  		ret = regulator_enable(st->reg_vdd);
>  		if (ret)
> -			goto error_put_reg_pos;
> +			return ret;
>  
>  		ret = regulator_get_voltage(st->reg_vdd);
>  		if (ret < 0)
> @@ -368,11 +366,11 @@ static int ad5791_probe(struct spi_device *spi)
>  		pos_voltage_uv = ret;
>  	}
>  
> -	st->reg_vss = regulator_get(&spi->dev, "vss");
> +	st->reg_vss = devm_regulator_get(&spi->dev, "vss");
>  	if (!IS_ERR(st->reg_vss)) {
>  		ret = regulator_enable(st->reg_vss);
>  		if (ret)
> -			goto error_put_reg_neg;
> +			goto error_disable_reg_pos;
>  
>  		ret = regulator_get_voltage(st->reg_vss);
>  		if (ret < 0)
> @@ -428,19 +426,9 @@ static int ad5791_probe(struct spi_device *spi)
>  error_disable_reg_neg:
>  	if (!IS_ERR(st->reg_vss))
>  		regulator_disable(st->reg_vss);
> -error_put_reg_neg:
> -	if (!IS_ERR(st->reg_vss))
> -		regulator_put(st->reg_vss);
> -
>  error_disable_reg_pos:
>  	if (!IS_ERR(st->reg_vdd))
>  		regulator_disable(st->reg_vdd);
> -error_put_reg_pos:
> -	if (!IS_ERR(st->reg_vdd))
> -		regulator_put(st->reg_vdd);
> -	iio_device_free(indio_dev);
> -error_ret:
> -
>  	return ret;
>  }
>  
> @@ -450,16 +438,11 @@ static int ad5791_remove(struct spi_device *spi)
>  	struct ad5791_state *st = iio_priv(indio_dev);
>  
>  	iio_device_unregister(indio_dev);
> -	if (!IS_ERR(st->reg_vdd)) {
> +	if (!IS_ERR(st->reg_vdd))
>  		regulator_disable(st->reg_vdd);
> -		regulator_put(st->reg_vdd);
> -	}
>  
> -	if (!IS_ERR(st->reg_vss)) {
> +	if (!IS_ERR(st->reg_vss))
>  		regulator_disable(st->reg_vss);
> -		regulator_put(st->reg_vss);
> -	}
> -	iio_device_free(indio_dev);
>  
>  	return 0;
>  }
> 

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

* Re: [PATCH 13/14] iio: dac: ad7303: Use devm_* APIs
  2013-08-19 11:38 ` [PATCH 13/14] iio: dac: ad7303: " Sachin Kamat
@ 2013-08-19 19:36   ` Jonathan Cameron
  0 siblings, 0 replies; 29+ messages in thread
From: Jonathan Cameron @ 2013-08-19 19:36 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, lars, jic23

On 08/19/13 12:38, Sachin Kamat wrote:
> devm_* APIs are device managed and make code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Applied to the togreg branch of iio.git

Thanks,

Jonathan
> ---
>  drivers/iio/dac/ad7303.c |   31 ++++++++-----------------------
>  1 file changed, 8 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/iio/dac/ad7303.c b/drivers/iio/dac/ad7303.c
> index d546f50..ed2d276 100644
> --- a/drivers/iio/dac/ad7303.c
> +++ b/drivers/iio/dac/ad7303.c
> @@ -203,7 +203,7 @@ static int ad7303_probe(struct spi_device *spi)
>  	bool ext_ref;
>  	int ret;
>  
> -	indio_dev = iio_device_alloc(sizeof(*st));
> +	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
>  	if (indio_dev == NULL)
>  		return -ENOMEM;
>  
> @@ -212,15 +212,13 @@ static int ad7303_probe(struct spi_device *spi)
>  
>  	st->spi = spi;
>  
> -	st->vdd_reg = regulator_get(&spi->dev, "Vdd");
> -	if (IS_ERR(st->vdd_reg)) {
> -		ret = PTR_ERR(st->vdd_reg);
> -		goto err_free;
> -	}
> +	st->vdd_reg = devm_regulator_get(&spi->dev, "Vdd");
> +	if (IS_ERR(st->vdd_reg))
> +		return PTR_ERR(st->vdd_reg);
>  
>  	ret = regulator_enable(st->vdd_reg);
>  	if (ret)
> -		goto err_put_vdd_reg;
> +		return ret;
>  
>  	if (spi->dev.of_node) {
>  		ext_ref = of_property_read_bool(spi->dev.of_node,
> @@ -234,7 +232,7 @@ static int ad7303_probe(struct spi_device *spi)
>  	}
>  
>  	if (ext_ref) {
> -		st->vref_reg = regulator_get(&spi->dev, "REF");
> +		st->vref_reg = devm_regulator_get(&spi->dev, "REF");
>  		if (IS_ERR(st->vref_reg)) {
>  			ret = PTR_ERR(st->vref_reg);
>  			goto err_disable_vdd_reg;
> @@ -242,7 +240,7 @@ static int ad7303_probe(struct spi_device *spi)
>  
>  		ret = regulator_enable(st->vref_reg);
>  		if (ret)
> -			goto err_put_vref_reg;
> +			goto err_disable_vdd_reg;
>  
>  		st->config |= AD7303_CFG_EXTERNAL_VREF;
>  	}
> @@ -263,16 +261,8 @@ static int ad7303_probe(struct spi_device *spi)
>  err_disable_vref_reg:
>  	if (st->vref_reg)
>  		regulator_disable(st->vref_reg);
> -err_put_vref_reg:
> -	if (st->vref_reg)
> -		regulator_put(st->vref_reg);
>  err_disable_vdd_reg:
>  	regulator_disable(st->vdd_reg);
> -err_put_vdd_reg:
> -	regulator_put(st->vdd_reg);
> -err_free:
> -	iio_device_free(indio_dev);
> -
>  	return ret;
>  }
>  
> @@ -283,14 +273,9 @@ static int ad7303_remove(struct spi_device *spi)
>  
>  	iio_device_unregister(indio_dev);
>  
> -	if (st->vref_reg) {
> +	if (st->vref_reg)
>  		regulator_disable(st->vref_reg);
> -		regulator_put(st->vref_reg);
> -	}
>  	regulator_disable(st->vdd_reg);
> -	regulator_put(st->vdd_reg);
> -
> -	iio_device_free(indio_dev);
>  
>  	return 0;
>  }
> 

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

* Re: [PATCH 14/14] iio: dac: max517: Use devm_iio_device_alloc
  2013-08-19 11:38 ` [PATCH 14/14] iio: dac: max517: Use devm_iio_device_alloc Sachin Kamat
@ 2013-08-19 19:38   ` Jonathan Cameron
  0 siblings, 0 replies; 29+ messages in thread
From: Jonathan Cameron @ 2013-08-19 19:38 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, lars, jic23, Roland Stigge

On 08/19/13 12:38, Sachin Kamat wrote:
> Using devm_iio_device_alloc makes code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Cc: Roland Stigge <stigge@antcom.de>
Applied to the togreg branch of iio.git

p.s. Roland, hope you don't mind. This one seems trivial
enough that I didn't think you'd mind me applying it without an
ack.

Jonathan
> ---
>  drivers/iio/dac/max517.c |   17 ++++-------------
>  1 file changed, 4 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/iio/dac/max517.c b/drivers/iio/dac/max517.c
> index ebfaa41..83adcbf 100644
> --- a/drivers/iio/dac/max517.c
> +++ b/drivers/iio/dac/max517.c
> @@ -164,11 +164,9 @@ static int max517_probe(struct i2c_client *client,
>  	struct max517_platform_data *platform_data = client->dev.platform_data;
>  	int err;
>  
> -	indio_dev = iio_device_alloc(sizeof(*data));
> -	if (indio_dev == NULL) {
> -		err = -ENOMEM;
> -		goto exit;
> -	}
> +	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
> +	if (!indio_dev)
> +		return -ENOMEM;
>  	data = iio_priv(indio_dev);
>  	i2c_set_clientdata(client, indio_dev);
>  	data->client = client;
> @@ -198,23 +196,16 @@ static int max517_probe(struct i2c_client *client,
>  
>  	err = iio_device_register(indio_dev);
>  	if (err)
> -		goto exit_free_device;
> +		return err;
>  
>  	dev_info(&client->dev, "DAC registered\n");
>  
>  	return 0;
> -
> -exit_free_device:
> -	iio_device_free(indio_dev);
> -exit:
> -	return err;
>  }
>  
>  static int max517_remove(struct i2c_client *client)
>  {
>  	iio_device_unregister(i2c_get_clientdata(client));
> -	iio_device_free(i2c_get_clientdata(client));
> -
>  	return 0;
>  }
>  
> 

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

* Re: [PATCH 10/14] iio: dac: ad5755: Use devm_iio_device_alloc
  2013-08-19 19:33   ` Jonathan Cameron
@ 2013-08-20 13:47     ` Sachin Kamat
  0 siblings, 0 replies; 29+ messages in thread
From: Sachin Kamat @ 2013-08-20 13:47 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen, jic23

On 20 August 2013 01:03, Jonathan Cameron <jic23@kernel.org> wrote:
> On 08/19/13 12:38, Sachin Kamat wrote:
>> Using devm_iio_device_alloc makes code simpler.
>>
>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> I made an ever so tiny mod in this one before applying.
> Don't like the removal of the white space before the return
> in the remove function.  Guessing you didn't mean to do that.

Must be due to an oversight from my side. Thanks for fixing and applying.


-- 
With warm regards,
Sachin

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

end of thread, other threads:[~2013-08-20 13:47 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-19 11:38 [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs Sachin Kamat
2013-08-19 11:38 ` [PATCH 02/14] iio: dac: ad5360: " Sachin Kamat
2013-08-19 19:23   ` Jonathan Cameron
2013-08-19 11:38 ` [PATCH 03/14] iio: dac: ad5380: " Sachin Kamat
2013-08-19 19:23   ` Jonathan Cameron
2013-08-19 11:38 ` [PATCH 04/14] iio: dac: ad5421: " Sachin Kamat
2013-08-19 19:24   ` Jonathan Cameron
2013-08-19 11:38 ` [PATCH 05/14] iio: dac: ad5446: " Sachin Kamat
2013-08-19 19:25   ` Jonathan Cameron
2013-08-19 11:38 ` [PATCH 06/14] iio: dac: ad5449: " Sachin Kamat
2013-08-19 19:26   ` Jonathan Cameron
2013-08-19 11:38 ` [PATCH 07/14] iio: dac: ad5504: " Sachin Kamat
2013-08-19 19:27   ` Jonathan Cameron
2013-08-19 11:38 ` [PATCH 08/14] iio: dac: ad5624r_spi: " Sachin Kamat
2013-08-19 19:28   ` Jonathan Cameron
2013-08-19 11:38 ` [PATCH 09/14] iio: dac: ad5686: " Sachin Kamat
2013-08-19 19:30   ` Jonathan Cameron
2013-08-19 11:38 ` [PATCH 10/14] iio: dac: ad5755: Use devm_iio_device_alloc Sachin Kamat
2013-08-19 19:33   ` Jonathan Cameron
2013-08-20 13:47     ` Sachin Kamat
2013-08-19 11:38 ` [PATCH 11/14] iio: dac: ad5764: Use devm_* APIs Sachin Kamat
2013-08-19 19:33   ` Jonathan Cameron
2013-08-19 11:38 ` [PATCH 12/14] iio: dac: ad5791: " Sachin Kamat
2013-08-19 19:35   ` Jonathan Cameron
2013-08-19 11:38 ` [PATCH 13/14] iio: dac: ad7303: " Sachin Kamat
2013-08-19 19:36   ` Jonathan Cameron
2013-08-19 11:38 ` [PATCH 14/14] iio: dac: max517: Use devm_iio_device_alloc Sachin Kamat
2013-08-19 19:38   ` Jonathan Cameron
2013-08-19 19:20 ` [PATCH 01/14] iio: dac: ad5064: Use devm_* APIs 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.