Commit f26cc90a authored by Jorge Harrisonn's avatar Jorge Harrisonn Committed by Jonathan Cameron
Browse files

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: default avatarLais Nuto <laisnuto@usp.br>
Signed-off-by: default avatarLais Nuto <laisnuto@usp.br>
Signed-off-by: default avatarJorge Harrisonn <jorge.harrisonn@usp.br>
Link: https://lore.kernel.org/r/20240501215724.26655-2-jorge.harrisonn@usp.br


Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 1613e604
Loading
Loading
Loading
Loading
+8 −11
Original line number Diff line number Diff line
@@ -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;

		iio_device_claim_direct_scoped(return -EBUSY, indio_dev) {
			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;
		}
		unreachable();
	case IIO_CHAN_INFO_SCALE:
		if (st->sw_mode_en)
			ch = chan->address;