From: Jorge Harrisonn Date: Wed, 1 May 2024 21:57:23 +0000 (-0300) Subject: iio: adc: ad7606: using claim_direct_scoped for code simplification X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=f26cc90a463646a2246c4c90eeaef5f5f624ea74;p=users%2Fjedix%2Flinux-maple.git iio: adc: ad7606: using claim_direct_scoped for code simplification Using iio_device_claim_direct_scoped instead of calling `iio_device _claim_direct_modeand later callingiio_device_release_direct_mode` This should make code cleaner and error handling easier Co-authored-by: Lais Nuto Signed-off-by: Lais Nuto Signed-off-by: Jorge Harrisonn Link: https://lore.kernel.org/r/20240501215724.26655-2-jorge.harrisonn@usp.br Signed-off-by: Jonathan Cameron --- diff --git a/drivers/iio/adc/ad7606.c b/drivers/iio/adc/ad7606.c index 1928d9ae5bcff..3a417595294f7 100644 --- a/drivers/iio/adc/ad7606.c +++ b/drivers/iio/adc/ad7606.c @@ -174,17 +174,14 @@ static int ad7606_read_raw(struct iio_dev *indio_dev, switch (m) { case IIO_CHAN_INFO_RAW: - ret = iio_device_claim_direct_mode(indio_dev); - if (ret) - return ret; - - ret = ad7606_scan_direct(indio_dev, chan->address); - iio_device_release_direct_mode(indio_dev); - - if (ret < 0) - return ret; - *val = (short)ret; - return IIO_VAL_INT; + iio_device_claim_direct_scoped(return -EBUSY, indio_dev) { + ret = ad7606_scan_direct(indio_dev, chan->address); + if (ret < 0) + return ret; + *val = (short) ret; + return IIO_VAL_INT; + } + unreachable(); case IIO_CHAN_INFO_SCALE: if (st->sw_mode_en) ch = chan->address;