diff options
Diffstat (limited to 'drivers/iio/adc/ad7266.c')
-rw-r--r-- | drivers/iio/adc/ad7266.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/iio/adc/ad7266.c b/drivers/iio/adc/ad7266.c index 21e19b60e2b9..01240aeeeab0 100644 --- a/drivers/iio/adc/ad7266.c +++ b/drivers/iio/adc/ad7266.c | |||
@@ -154,12 +154,11 @@ static int ad7266_read_raw(struct iio_dev *indio_dev, | |||
154 | 154 | ||
155 | switch (m) { | 155 | switch (m) { |
156 | case IIO_CHAN_INFO_RAW: | 156 | case IIO_CHAN_INFO_RAW: |
157 | if (iio_buffer_enabled(indio_dev)) | 157 | ret = iio_device_claim_direct_mode(indio_dev); |
158 | return -EBUSY; | ||
159 | |||
160 | ret = ad7266_read_single(st, val, chan->address); | ||
161 | if (ret) | 158 | if (ret) |
162 | return ret; | 159 | return ret; |
160 | ret = ad7266_read_single(st, val, chan->address); | ||
161 | iio_device_release_direct_mode(indio_dev); | ||
163 | 162 | ||
164 | *val = (*val >> 2) & 0xfff; | 163 | *val = (*val >> 2) & 0xfff; |
165 | if (chan->scan_type.sign == 's') | 164 | if (chan->scan_type.sign == 's') |