iio: gyro: adxrs450: Use devm_iio_device_alloc
authorSachin Kamat <sachin.kamat@linaro.org>
Tue, 13 Aug 2013 06:34:00 +0000 (07:34 +0100)
committerJonathan Cameron <jic23@kernel.org>
Sat, 17 Aug 2013 14:50:55 +0000 (15:50 +0100)
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>
drivers/iio/gyro/adxrs450.c

index 8bd72b490b7f11dd1092b2ff8148cba569db677e..6dab2995f0f26ebc5111b75281722ea029ee3c8c 100644 (file)
@@ -426,11 +426,9 @@ static int adxrs450_probe(struct spi_device *spi)
        struct iio_dev *indio_dev;
 
        /* setup the industrialio driver allocated elements */
-       indio_dev = iio_device_alloc(sizeof(*st));
-       if (indio_dev == NULL) {
-               ret = -ENOMEM;
-               goto error_ret;
-       }
+       indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
+       if (!indio_dev)
+               return -ENOMEM;
        st = iio_priv(indio_dev);
        st->us = spi;
        mutex_init(&st->buf_lock);
@@ -447,7 +445,7 @@ static int adxrs450_probe(struct spi_device *spi)
 
        ret = iio_device_register(indio_dev);
        if (ret)
-               goto error_free_dev;
+               return ret;
 
        /* Get the device into a sane initial state */
        ret = adxrs450_initial_setup(indio_dev);
@@ -456,17 +454,12 @@ static int adxrs450_probe(struct spi_device *spi)
        return 0;
 error_initial:
        iio_device_unregister(indio_dev);
-error_free_dev:
-       iio_device_free(indio_dev);
-
-error_ret:
        return ret;
 }
 
 static int adxrs450_remove(struct spi_device *spi)
 {
        iio_device_unregister(spi_get_drvdata(spi));
-       iio_device_free(spi_get_drvdata(spi));
 
        return 0;
 }