iio: adc: ad7298: use iio helper function to guarantee direct mode
Subsystems (2)
PATCH 1/1 iio: adc: ad7298: use iio helper function to guarantee direct mode
Replace the code that guarantees the device stays in direct mode with iio_device_claim_direct_mode() which does same.
Signed-off-by Alison Schofield <[email protected]>
Cc Daniel Baluta <[email protected]>
--- drivers/iio/adc/ad7298.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)
drivers/iio/adc/ad7298.c +10 -10
@@ -239,16 +239,16 @@ static int ad7298_read_raw(struct iio_dev *indio_dev,switch (m) {case IIO_CHAN_INFO_RAW : -mutex_lock (&indio_dev->mlock); -if (indio_dev->currentmode ==INDIO_BUFFER_TRIGGERED ) { - ret = -EBUSY ; - }else { -if (chan->address ==AD7298_CH_TEMP ) - ret =ad7298_scan_temp (st, val); -else - ret =ad7298_scan_direct (st, chan->address); - } -mutex_unlock (&indio_dev->mlock); + ret =iio_device_claim_direct_mode (indio_dev); +if (ret) +return ret; + +if (chan->address ==AD7298_CH_TEMP ) + ret =ad7298_scan_temp (st, val); +else + ret =ad7298_scan_direct (st, chan->address); + +iio_device_release_direct_mode (indio_dev);if (ret <0 )return ret;
Signature · 1 line
2.1.4
Quoted 5 lines · Alison Schofield
Replace the code that guarantees the device stays in direct mode with
iio_device_claim_direct_mode()which does same.Signed-off-by Alison Schofield <[email protected]>Cc Daniel Baluta <[email protected]>
Applied to the togreg branch of iio.git - initially pushed out as testing.
If Lars or Michael has a chance to look at these as well, I can easily enough pull them or add Acks etc for now.
Jonathan
Quoted 36 lines
--- drivers/iio/adc/ad7298.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)drivers/iio/adc/ad7298.c +10
-10@@ -239,16 +239,16 @@ static int ad7298_read_raw(struct iio_dev *indio_dev,switch (m) {case IIO_CHAN_INFO_RAW : -mutex_lock (&indio_dev->mlock); -if (indio_dev->currentmode ==INDIO_BUFFER_TRIGGERED ) { - ret = -EBUSY ; - }else { -if (chan->address ==AD7298_CH_TEMP ) - ret =ad7298_scan_temp (st, val); -else - ret =ad7298_scan_direct (st, chan->address); - } -mutex_unlock (&indio_dev->mlock); + ret =iio_device_claim_direct_mode (indio_dev); +if (ret) +return ret; + +if (chan->address ==AD7298_CH_TEMP ) + ret =ad7298_scan_temp (st, val); +else + ret =ad7298_scan_direct (st, chan->address); + +iio_device_release_direct_mode (indio_dev);if (ret <0 )return ret;