From 75bb23a2150e385230d1db52065641ca7cef63d3 Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen Date: Wed, 19 Oct 2011 17:47:52 +0200 Subject: [PATCH] staging:iio:dac:ad5791: Fix scale unit Scale is currently reported in volts instead of millivolts. This patch fixes it. Signed-off-by: Lars-Peter Clausen Acked-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- drivers/staging/iio/dac/ad5791.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/iio/dac/ad5791.c b/drivers/staging/iio/dac/ad5791.c index 9ba45f1a237..6fbca8d9615 100644 --- a/drivers/staging/iio/dac/ad5791.c +++ b/drivers/staging/iio/dac/ad5791.c @@ -239,7 +239,7 @@ static int ad5791_read_raw(struct iio_dev *indio_dev, return IIO_VAL_INT; case (1 << IIO_CHAN_INFO_SCALE_SHARED): *val = 0; - *val2 = (st->vref_mv * 1000) >> chan->scan_type.realbits; + *val2 = (((u64)st->vref_mv) * 1000000ULL) >> chan->scan_type.realbits; return IIO_VAL_INT_PLUS_MICRO; case (1 << IIO_CHAN_INFO_OFFSET_SHARED): val64 = (((u64)st->vref_neg_mv) << chan->scan_type.realbits); -- 2.46.0