We can not read back the value from the device, but we cache the value anyway so
we might as well return the cached value instead of an error.

Signed-off-by: Lars-Peter Clausen <[email protected]>
Acked-by: Jonathan Cameron <[email protected]>
---
 drivers/staging/iio/dac/ad5446.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/staging/iio/dac/ad5446.c b/drivers/staging/iio/dac/ad5446.c
index 731cd05..9dc67c8 100644
--- a/drivers/staging/iio/dac/ad5446.c
+++ b/drivers/staging/iio/dac/ad5446.c
@@ -229,6 +229,9 @@ static int ad5446_read_raw(struct iio_dev *indio_dev,
        unsigned long scale_uv;
 
        switch (m) {
+       case IIO_CHAN_INFO_RAW:
+               *val = st->cached_val;
+               return IIO_VAL_INT;
        case IIO_CHAN_INFO_SCALE:
                scale_uv = (st->vref_mv * 1000) >> chan->scan_type.realbits;
                *val =  scale_uv / 1000;
-- 
1.7.9.5

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to