Re: [PATCH] staging: iio: ad9832: Use devm_iio_device_register

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Sun, 3 Aug 2014, Jonathan Cameron wrote:

> 
> 
> On August 3, 2014 10:56:58 AM GMT+01:00, Himangi Saraogi <himangi774@xxxxxxxxx> wrote:
> >This patch introduces the use of devm_iio_device_register and does away
> >with the unregister in the remove function.
> >
> And changes the resulting ordering so the regulator disable occurs before the user
>  space interface has been removed by the unregister. 
> 
> Please be very wary of using devm_iio_register. It is only correct if the remove function does nothing else.

I wonder if there could be a way to document these constraints?

julia

> Jonathan
> >Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx>
> >Acked-by: Julia Lawall <julia.lawall@xxxxxxx>
> >---
> > drivers/staging/iio/frequency/ad9832.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> >diff --git a/drivers/staging/iio/frequency/ad9832.c
> >b/drivers/staging/iio/frequency/ad9832.c
> >index cf68159..8a72c78 100644
> >--- a/drivers/staging/iio/frequency/ad9832.c
> >+++ b/drivers/staging/iio/frequency/ad9832.c
> >@@ -304,7 +304,7 @@ static int ad9832_probe(struct spi_device *spi)
> > 	if (ret)
> > 		goto error_disable_reg;
> > 
> >-	ret = iio_device_register(indio_dev);
> >+	ret = devm_iio_device_register(&spi->dev, indio_dev);
> > 	if (ret)
> > 		goto error_disable_reg;
> > 
> >@@ -322,7 +322,6 @@ static int ad9832_remove(struct spi_device *spi)
> > 	struct iio_dev *indio_dev = spi_get_drvdata(spi);
> > 	struct ad9832_state *st = iio_priv(indio_dev);
> > 
> >-	iio_device_unregister(indio_dev);
> > 	if (!IS_ERR(st->reg))
> > 		regulator_disable(st->reg);
> > 
> 
> -- 
> Sent from my Android phone with K-9 Mail. Please excuse my brevity.
> 
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux