Re: [PATCH v2 02/10] iio: adc: mcp3911: use resource-managed version of iio_device_register

Jonathan Cameron
2022-06-25T11:21:14Z

On Sat, 25 Jun 2022 12:38:45 +0200
Marcus Folkesson <marcus.folkesson@gmail.com> wrote:

> Keep using managed resources as much as possible.
>
> Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
See explanation on why this is wrong sent to the v1 version of this patch.

It's a fiddly and not always well understood area (here be dragons!).

Jonathan

> ---
>
> Notes:
> v2:
> - No changes
>
> drivers/iio/adc/mcp3911.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/iio/adc/mcp3911.c b/drivers/iio/adc/mcp3911.c
> index c5a0f19d7834..25a235cce56c 100644
> --- a/drivers/iio/adc/mcp3911.c
> +++ b/drivers/iio/adc/mcp3911.c
> @@ -312,7 +312,7 @@ static int mcp3911_probe(struct spi_device *spi)
>
> mutex_init(&adc->lock);
>
> - ret = iio_device_register(indio_dev);
> + ret = devm_iio_device_register(&adc->spi->dev, indio_dev);
> if (ret)
> goto clk_disable;
>
> @@ -332,8 +332,6 @@ static void mcp3911_remove(struct spi_device *spi)
> struct iio_dev *indio_dev = spi_get_drvdata(spi);
> struct mcp3911 *adc = iio_priv(indio_dev);
>
> - iio_device_unregister(indio_dev);
> -
> clk_disable_unprepare(adc->clki);
> if (adc->vref)
> regulator_disable(adc->vref);