linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 01/12] staging: iio: ad5933: Use devm_* APIs
@ 2013-09-05  9:29 Sachin Kamat
  2013-09-05  9:29 ` [PATCH 02/12] staging: iio: tsl2583: Use devm_iio_device_alloc Sachin Kamat
                   ` (11 more replies)
  0 siblings, 12 replies; 26+ messages in thread
From: Sachin Kamat @ 2013-09-05  9:29 UTC (permalink / raw)
  To: linux-iio; +Cc: lars, sachin.kamat, jic23

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
This series is compile tested.
---
 drivers/staging/iio/impedance-analyzer/ad5933.c |   18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/drivers/staging/iio/impedance-analyzer/ad5933.c b/drivers/staging/iio/impedance-analyzer/ad5933.c
index 6330af6..23a0d71 100644
--- a/drivers/staging/iio/impedance-analyzer/ad5933.c
+++ b/drivers/staging/iio/impedance-analyzer/ad5933.c
@@ -703,7 +703,9 @@ static int ad5933_probe(struct i2c_client *client,
 	int ret, voltage_uv = 0;
 	struct ad5933_platform_data *pdata = client->dev.platform_data;
 	struct ad5933_state *st;
-	struct iio_dev *indio_dev = iio_device_alloc(sizeof(*st));
+	struct iio_dev *indio_dev;
+
+	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*st));
 	if (indio_dev == NULL)
 		return -ENOMEM;
 
@@ -716,11 +718,11 @@ static int ad5933_probe(struct i2c_client *client,
 	else
 		st->pdata = pdata;
 
-	st->reg = regulator_get(&client->dev, "vcc");
+	st->reg = devm_regulator_get(&client->dev, "vcc");
 	if (!IS_ERR(st->reg)) {
 		ret = regulator_enable(st->reg);
 		if (ret)
-			goto error_put_reg;
+			return ret;
 		voltage_uv = regulator_get_voltage(st->reg);
 	}
 
@@ -778,11 +780,6 @@ error_unreg_ring:
 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;
 }
@@ -795,11 +792,8 @@ static int ad5933_remove(struct i2c_client *client)
 	iio_device_unregister(indio_dev);
 	iio_buffer_unregister(indio_dev);
 	iio_kfifo_free(indio_dev->buffer);
-	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] 26+ messages in thread

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

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-05  9:29 [PATCH 01/12] staging: iio: ad5933: Use devm_* APIs Sachin Kamat
2013-09-05  9:29 ` [PATCH 02/12] staging: iio: tsl2583: Use devm_iio_device_alloc Sachin Kamat
2013-09-07 20:59   ` Jonathan Cameron
2013-09-08 13:14     ` Sachin Kamat
2013-09-08 14:32       ` Jonathan Cameron
2013-09-05  9:29 ` [PATCH 03/12] staging: iio: ad5930: " Sachin Kamat
2013-09-07 21:00   ` Jonathan Cameron
2013-09-05  9:29 ` [PATCH 04/12] staging: iio: ad9832: Use devm_* APIs Sachin Kamat
2013-09-07 21:01   ` Jonathan Cameron
2013-09-05  9:29 ` [PATCH 05/12] staging: iio: ad9834: " Sachin Kamat
2013-09-07 21:02   ` Jonathan Cameron
2013-09-05  9:29 ` [PATCH 06/12] staging: iio: ad9850: Use devm_iio_device_alloc Sachin Kamat
2013-09-07 21:02   ` Jonathan Cameron
2013-09-05  9:29 ` [PATCH 07/12] staging: iio: ad9852: " Sachin Kamat
2013-09-07 21:03   ` Jonathan Cameron
2013-09-05  9:29 ` [PATCH 08/12] staging: iio: ad9910: " Sachin Kamat
2013-09-07 21:03   ` Jonathan Cameron
2013-09-05  9:29 ` [PATCH 09/12] staging: iio: ad9951: " Sachin Kamat
2013-09-07 21:04   ` Jonathan Cameron
2013-09-05  9:29 ` [PATCH 10/12] staging: iio: tsl2x7x_core: Use devm_* APIs Sachin Kamat
2013-09-07 21:05   ` Jonathan Cameron
2013-09-05  9:29 ` [PATCH 11/12] staging: iio: tsl2x7x_core: Fix sparse warning Sachin Kamat
2013-09-07 21:06   ` Jonathan Cameron
2013-09-05  9:29 ` [PATCH 12/12] staging: iio: hmc5843: Fix a trivial typo Sachin Kamat
2013-09-07 21:07   ` Jonathan Cameron
2013-09-07 20:53 ` [PATCH 01/12] staging: iio: ad5933: Use devm_* APIs Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).