aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSachin Kamat <sachin.kamat@linaro.org>2013-07-23 02:47:00 -0400
committerJonathan Cameron <jic23@kernel.org>2013-08-03 13:41:18 -0400
commit4ee309337e100042c1623c301a4b8ad2487b6330 (patch)
tree54a0831221ded7bff3f3f03775a43b7c4cef87c2
parent6b545eed655e846c16fdf611e686dca54db76766 (diff)
iio: accel: kxsd9: Use devm_iio_device_alloc
Using 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/iio/accel/kxsd9.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/drivers/iio/accel/kxsd9.c b/drivers/iio/accel/kxsd9.c
index 7229645bf1d7..709c13259f14 100644
--- a/drivers/iio/accel/kxsd9.c
+++ b/drivers/iio/accel/kxsd9.c
@@ -224,11 +224,10 @@ static int kxsd9_probe(struct spi_device *spi)
224 struct kxsd9_state *st; 224 struct kxsd9_state *st;
225 int ret; 225 int ret;
226 226
227 indio_dev = iio_device_alloc(sizeof(*st)); 227 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
228 if (indio_dev == NULL) { 228 if (!indio_dev)
229 ret = -ENOMEM; 229 return -ENOMEM;
230 goto error_ret; 230
231 }
232 st = iio_priv(indio_dev); 231 st = iio_priv(indio_dev);
233 spi_set_drvdata(spi, indio_dev); 232 spi_set_drvdata(spi, indio_dev);
234 233
@@ -247,20 +246,14 @@ static int kxsd9_probe(struct spi_device *spi)
247 246
248 ret = iio_device_register(indio_dev); 247 ret = iio_device_register(indio_dev);
249 if (ret) 248 if (ret)
250 goto error_free_dev; 249 return ret;
251 250
252 return 0; 251 return 0;
253
254error_free_dev:
255 iio_device_free(indio_dev);
256error_ret:
257 return ret;
258} 252}
259 253
260static int kxsd9_remove(struct spi_device *spi) 254static int kxsd9_remove(struct spi_device *spi)
261{ 255{
262 iio_device_unregister(spi_get_drvdata(spi)); 256 iio_device_unregister(spi_get_drvdata(spi));
263 iio_device_free(spi_get_drvdata(spi));
264 257
265 return 0; 258 return 0;
266} 259}