diff options
author | Sachin Kamat <sachin.kamat@linaro.org> | 2013-09-05 05:29:00 -0400 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2013-09-07 17:02:39 -0400 |
commit | f8e405d93d8a62d90e75b09ddaa600eb968ff783 (patch) | |
tree | 6b3d7968dcd492146eeb1a279b899c2cdf6f97f8 | |
parent | e3a27cc448acb4ddf66854d57b91190e8725909c (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.c | 16 |
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 | |||
107 | error_free_dev: | ||
108 | iio_device_free(idev); | ||
109 | error_ret: | ||
110 | return ret; | ||
111 | } | 104 | } |
112 | 105 | ||
113 | static int ad9850_remove(struct spi_device *spi) | 106 | static 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 | } |