iio: accel: kxsd9: Use devm_iio_device_alloc
authorSachin Kamat <sachin.kamat@linaro.org>
Tue, 23 Jul 2013 06:47:00 +0000 (07:47 +0100)
committerJonathan Cameron <jic23@kernel.org>
Sat, 3 Aug 2013 17:41:18 +0000 (18:41 +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/accel/kxsd9.c

index 7229645bf1d74ca58b500218be9d1f2639d42d53..709c13259f14e8cab35faee7237794be38c24744 100644 (file)
@@ -224,11 +224,10 @@ static int kxsd9_probe(struct spi_device *spi)
        struct kxsd9_state *st;
        int ret;
 
-       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);
        spi_set_drvdata(spi, indio_dev);
 
@@ -247,20 +246,14 @@ static int kxsd9_probe(struct spi_device *spi)
 
        ret = iio_device_register(indio_dev);
        if (ret)
-               goto error_free_dev;
+               return ret;
 
        return 0;
-
-error_free_dev:
-       iio_device_free(indio_dev);
-error_ret:
-       return ret;
 }
 
 static int kxsd9_remove(struct spi_device *spi)
 {
        iio_device_unregister(spi_get_drvdata(spi));
-       iio_device_free(spi_get_drvdata(spi));
 
        return 0;
 }