diff options
author | Alex Shi <alex.shi@linaro.org> | 2017-11-30 12:03:38 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2017-11-30 12:03:38 +0800 |
commit | 1184d6e8873282bcb4ba1d57da1cdd423a0f42d6 (patch) | |
tree | 66bf3b45f218c738312d40e90c52f25069709892 /drivers/iio/proximity/sx9500.c | |
parent | 382ac60c32998318f133b8b84030aa83a8f600fe (diff) | |
parent | 4e22accddef27103c4fba20b9613b7bf52129be6 (diff) |
Merge remote-tracking branch 'rt-stable/v4.9-rt' into linux-linaro-lsk-v4.9-rtlsk-v4.9-17.11-rt
Diffstat (limited to 'drivers/iio/proximity/sx9500.c')
-rw-r--r-- | drivers/iio/proximity/sx9500.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/iio/proximity/sx9500.c b/drivers/iio/proximity/sx9500.c index 1f06282ec793..9ea147f1a50d 100644 --- a/drivers/iio/proximity/sx9500.c +++ b/drivers/iio/proximity/sx9500.c @@ -387,14 +387,18 @@ static int sx9500_read_raw(struct iio_dev *indio_dev, int *val, int *val2, long mask) { struct sx9500_data *data = iio_priv(indio_dev); + int ret; switch (chan->type) { case IIO_PROXIMITY: switch (mask) { case IIO_CHAN_INFO_RAW: - if (iio_buffer_enabled(indio_dev)) - return -EBUSY; - return sx9500_read_proximity(data, chan, val); + ret = iio_device_claim_direct_mode(indio_dev); + if (ret) + return ret; + ret = sx9500_read_proximity(data, chan, val); + iio_device_release_direct_mode(indio_dev); + return ret; case IIO_CHAN_INFO_SAMP_FREQ: return sx9500_read_samp_freq(data, val, val2); default: |