diff options
Diffstat (limited to 'drivers/iio/dac/ad5446.c')
-rw-r--r-- | drivers/iio/dac/ad5446.c | 9 |
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 | } |