staging:iio:dac:ad5446: Return cached value for 'raw' attribute
authorLars-Peter Clausen <lars@metafoo.de>
Wed, 25 Apr 2012 07:45:00 +0000 (09:45 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Apr 2012 17:57:20 +0000 (10:57 -0700)
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 <lars@metafoo.de>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/iio/dac/ad5446.c

index 731cd05..9dc67c8 100644 (file)
@@ -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;