diff options
author | Sachin Kamat <sachin.kamat@linaro.org> | 2013-07-30 07:24:00 +0100 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2013-08-03 21:00:15 +0100 |
commit | 36db8c72169489eedca06fe308b1643256d8c4fe (patch) | |
tree | 159c424589bbc8a819fa7dc88cfb7754a03f255b /drivers/iio/amplifiers/ad8366.c | |
parent | 1003eb67baf00cca8aa51f5833090c61938aa82e (diff) | |
download | op-kernel-dev-36db8c72169489eedca06fe308b1643256d8c4fe.zip op-kernel-dev-36db8c72169489eedca06fe308b1643256d8c4fe.tar.gz |
iio: amplifiers: ad8366: Use devm_* APIs
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>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio/amplifiers/ad8366.c')
-rw-r--r-- | drivers/iio/amplifiers/ad8366.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/iio/amplifiers/ad8366.c b/drivers/iio/amplifiers/ad8366.c index d354554..d0a79a4 100644 --- a/drivers/iio/amplifiers/ad8366.c +++ b/drivers/iio/amplifiers/ad8366.c @@ -139,17 +139,17 @@ static int ad8366_probe(struct spi_device *spi) struct ad8366_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) 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; } spi_set_drvdata(spi, indio_dev); @@ -173,11 +173,6 @@ static int ad8366_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; } @@ -195,8 +190,6 @@ static int ad8366_remove(struct spi_device *spi) regulator_put(reg); } - iio_device_free(indio_dev); - return 0; } |