iio: adc: ad7923: register device with devm_iio_device_register
authorLucas Stankus <lucas.p.stankus@gmail.com>
Sun, 28 Mar 2021 21:46:46 +0000 (18:46 -0300)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 29 Mar 2021 12:25:01 +0000 (13:25 +0100)
Registers the device using the devm variant.
This is the final step of converting the ad7923 to only use devm routines,
meaning that the ad7923_remove() function is no longer needed to release
resources on device detach.

Signed-off-by: Lucas Stankus <lucas.p.stankus@gmail.com>
Reviewed-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Link: https://lore.kernel.org/r/b0146465d52f4e259f5f95c83c71e72f065093da.1616966903.git.lucas.p.stankus@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/ad7923.c

index d07eaf3..287f4c1 100644 (file)
@@ -313,8 +313,6 @@ static int ad7923_probe(struct spi_device *spi)
 
        st = iio_priv(indio_dev);
 
-       spi_set_drvdata(spi, indio_dev);
-
        st->spi = spi;
        st->settings = AD7923_CODING | AD7923_RANGE |
                        AD7923_PM_MODE_WRITE(AD7923_PM_MODE_OPS);
@@ -356,16 +354,7 @@ static int ad7923_probe(struct spi_device *spi)
        if (ret)
                return ret;
 
-       return iio_device_register(indio_dev);
-}
-
-static int ad7923_remove(struct spi_device *spi)
-{
-       struct iio_dev *indio_dev = spi_get_drvdata(spi);
-
-       iio_device_unregister(indio_dev);
-
-       return 0;
+       return devm_iio_device_register(&spi->dev, indio_dev);
 }
 
 static const struct spi_device_id ad7923_id[] = {
@@ -398,7 +387,6 @@ static struct spi_driver ad7923_driver = {
                .of_match_table = ad7923_of_match,
        },
        .probe          = ad7923_probe,
-       .remove         = ad7923_remove,
        .id_table       = ad7923_id,
 };
 module_spi_driver(ad7923_driver);