iio: gyro: adxrs450: Use devm_iio_device_register
authorSachin Kamat <sachin.kamat@linaro.org>
Tue, 29 Oct 2013 11:39:00 +0000 (11:39 +0000)
committerJonathan Cameron <jic23@kernel.org>
Sun, 24 Nov 2013 21:07:18 +0000 (21:07 +0000)
devm_iio_device_register simplifies the code.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/gyro/adxrs450.c

index 1e546ba..eb0e08e 100644 (file)
@@ -434,23 +434,14 @@ static int adxrs450_probe(struct spi_device *spi)
        indio_dev->num_channels = ARRAY_SIZE(adxrs450_channels);
        indio_dev->name = spi->dev.driver->name;
 
-       ret = iio_device_register(indio_dev);
+       ret = devm_iio_device_register(&spi->dev, indio_dev);
        if (ret)
                return ret;
 
        /* Get the device into a sane initial state */
        ret = adxrs450_initial_setup(indio_dev);
        if (ret)
-               goto error_initial;
-       return 0;
-error_initial:
-       iio_device_unregister(indio_dev);
-       return ret;
-}
-
-static int adxrs450_remove(struct spi_device *spi)
-{
-       iio_device_unregister(spi_get_drvdata(spi));
+               return ret;
 
        return 0;
 }
@@ -468,7 +459,6 @@ static struct spi_driver adxrs450_driver = {
                .owner = THIS_MODULE,
        },
        .probe = adxrs450_probe,
-       .remove = adxrs450_remove,
        .id_table       = adxrs450_id,
 };
 module_spi_driver(adxrs450_driver);