aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSachin Kamat <sachin.kamat@linaro.org>2013-09-05 05:29:00 -0400
committerJonathan Cameron <jic23@kernel.org>2013-09-07 17:02:39 -0400
commitf8e405d93d8a62d90e75b09ddaa600eb968ff783 (patch)
tree6b3d7968dcd492146eeb1a279b899c2cdf6f97f8
parente3a27cc448acb4ddf66854d57b91190e8725909c (diff)
staging: iio: ad9850: Use devm_iio_device_alloc
devm_iio_device_alloc makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
-rw-r--r--drivers/staging/iio/frequency/ad9850.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/staging/iio/frequency/ad9850.c b/drivers/staging/iio/frequency/ad9850.c
index 01a8a93031f5..af877ff680e9 100644
--- a/drivers/staging/iio/frequency/ad9850.c
+++ b/drivers/staging/iio/frequency/ad9850.c
@@ -80,11 +80,9 @@ static int ad9850_probe(struct spi_device *spi)
80 struct iio_dev *idev; 80 struct iio_dev *idev;
81 int ret = 0; 81 int ret = 0;
82 82
83 idev = iio_device_alloc(sizeof(*st)); 83 idev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
84 if (idev == NULL) { 84 if (!idev)
85 ret = -ENOMEM; 85 return -ENOMEM;
86 goto error_ret;
87 }
88 spi_set_drvdata(spi, idev); 86 spi_set_drvdata(spi, idev);
89 st = iio_priv(idev); 87 st = iio_priv(idev);
90 mutex_init(&st->lock); 88 mutex_init(&st->lock);
@@ -96,24 +94,18 @@ static int ad9850_probe(struct spi_device *spi)
96 94
97 ret = iio_device_register(idev); 95 ret = iio_device_register(idev);
98 if (ret) 96 if (ret)
99 goto error_free_dev; 97 return ret;
100 spi->max_speed_hz = 2000000; 98 spi->max_speed_hz = 2000000;
101 spi->mode = SPI_MODE_3; 99 spi->mode = SPI_MODE_3;
102 spi->bits_per_word = 16; 100 spi->bits_per_word = 16;
103 spi_setup(spi); 101 spi_setup(spi);
104 102
105 return 0; 103 return 0;
106
107error_free_dev:
108 iio_device_free(idev);
109error_ret:
110 return ret;
111} 104}
112 105
113static int ad9850_remove(struct spi_device *spi) 106static int ad9850_remove(struct spi_device *spi)
114{ 107{
115 iio_device_unregister(spi_get_drvdata(spi)); 108 iio_device_unregister(spi_get_drvdata(spi));
116 iio_device_free(spi_get_drvdata(spi));
117 109
118 return 0; 110 return 0;
119} 111}