summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars-Peter Clausen2012-04-25 09:45:00 +0200
committerGreg Kroah-Hartman2012-04-25 19:57:20 +0200
commit5e06bdfb46e8b96bdde1f306d3fadff2d6a2ae77 (patch)
tree82280d0715b5bbec043ad68c2b2a83db48676681
parentstaging:iio:dac:ad5446: Consolidate store_sample and store_pwr_down functions (diff)
downloadkernel-qcow2-linux-5e06bdfb46e8b96bdde1f306d3fadff2d6a2ae77.tar.gz
kernel-qcow2-linux-5e06bdfb46e8b96bdde1f306d3fadff2d6a2ae77.tar.xz
kernel-qcow2-linux-5e06bdfb46e8b96bdde1f306d3fadff2d6a2ae77.zip
staging:iio:dac:ad5446: Return cached value for 'raw' attribute
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>
-rw-r--r--drivers/staging/iio/dac/ad5446.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/staging/iio/dac/ad5446.c b/drivers/staging/iio/dac/ad5446.c
index 731cd05456ab..9dc67c806016 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;