On Mon, 2025-02-17 at 14:16 +0000, Jonathan Cameron wrote: > From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > > These new functions allow sparse to find failures to release > direct mode reducing chances of bugs over the claim_direct_mode() > functions that are deprecated. > > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > Cc: Alisa-Dariana Roman <alisa.roman@xxxxxxxxxx> > --- Reviewed-by: Nuno Sá <nuno.sa@xxxxxxxxxx> > drivers/iio/adc/ad7192.c | 14 ++++++-------- > 1 file changed, 6 insertions(+), 8 deletions(-) > > diff --git a/drivers/iio/adc/ad7192.c b/drivers/iio/adc/ad7192.c > index 785429900da8..f6150b905286 100644 > --- a/drivers/iio/adc/ad7192.c > +++ b/drivers/iio/adc/ad7192.c > @@ -694,9 +694,8 @@ static ssize_t ad7192_set(struct device *dev, > if (ret < 0) > return ret; > > - ret = iio_device_claim_direct_mode(indio_dev); > - if (ret) > - return ret; > + if (!iio_device_claim_direct(indio_dev)) > + return -EBUSY; > > switch ((u32)this_attr->address) { > case AD7192_REG_GPOCON: > @@ -719,7 +718,7 @@ static ssize_t ad7192_set(struct device *dev, > ret = -EINVAL; > } > > - iio_device_release_direct_mode(indio_dev); > + iio_device_release_direct(indio_dev); > > return ret ? ret : len; > } > @@ -1017,13 +1016,12 @@ static int ad7192_write_raw(struct iio_dev *indio_dev, > { > int ret; > > - ret = iio_device_claim_direct_mode(indio_dev); > - if (ret) > - return ret; > + if (!iio_device_claim_direct(indio_dev)) > + return -EBUSY; > > ret = __ad7192_write_raw(indio_dev, chan, val, val2, mask); > > - iio_device_release_direct_mode(indio_dev); > + iio_device_release_direct(indio_dev); > > return ret; > }