From: Sachin Kamat <sachin.kamat@linaro.org>
To: linux-iio@vger.kernel.org
Cc: lars@metafoo.de, jic23@cam.ac.uk, jic23@kernel.org,
sachin.kamat@linaro.org
Subject: [PATCH 07/14] iio: dac: ad5504: Use devm_* APIs
Date: Mon, 19 Aug 2013 17:08:18 +0530 [thread overview]
Message-ID: <1376912305-6423-7-git-send-email-sachin.kamat@linaro.org> (raw)
In-Reply-To: <1376912305-6423-1-git-send-email-sachin.kamat@linaro.org>
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
next prev parent reply other threads:[~2013-08-19 11:38 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
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 ` Sachin Kamat [this message]
2013-08-19 19:27 ` [PATCH 07/14] iio: dac: ad5504: " 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1376912305-6423-7-git-send-email-sachin.kamat@linaro.org \
--to=sachin.kamat@linaro.org \
--cc=jic23@cam.ac.uk \
--cc=jic23@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).