aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iio/dac/ad5446.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iio/dac/ad5446.c')
-rw-r--r--drivers/iio/dac/ad5446.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/iio/dac/ad5446.c b/drivers/iio/dac/ad5446.c
index 8e28d3633e22..1263b0e5ad84 100644
--- a/drivers/iio/dac/ad5446.c
+++ b/drivers/iio/dac/ad5446.c
@@ -163,18 +163,15 @@ static int ad5446_read_raw(struct iio_dev *indio_dev,
163 long m) 163 long m)
164{ 164{
165 struct ad5446_state *st = iio_priv(indio_dev); 165 struct ad5446_state *st = iio_priv(indio_dev);
166 unsigned long scale_uv;
167 166
168 switch (m) { 167 switch (m) {
169 case IIO_CHAN_INFO_RAW: 168 case IIO_CHAN_INFO_RAW:
170 *val = st->cached_val; 169 *val = st->cached_val;
171 return IIO_VAL_INT; 170 return IIO_VAL_INT;
172 case IIO_CHAN_INFO_SCALE: 171 case IIO_CHAN_INFO_SCALE:
173 scale_uv = (st->vref_mv * 1000) >> chan->scan_type.realbits; 172 *val = st->vref_mv;
174 *val = scale_uv / 1000; 173 *val2 = chan->scan_type.realbits;
175 *val2 = (scale_uv % 1000) * 1000; 174 return IIO_VAL_FRACTIONAL_LOG2;
176 return IIO_VAL_INT_PLUS_MICRO;
177
178 } 175 }
179 return -EINVAL; 176 return -EINVAL;
180} 177}