From bb2c232a14d3400da60625342fc730485ef94376 Mon Sep 17 00:00:00 2001 From: Nicholas Troast Date: Fri, 4 Nov 2016 13:51:11 -0700 Subject: [PATCH] iio: adc: qcom-tadc: cast raw ADC readings before conversion Currently the code depends on implicit type conversion when converting ADC readings. Make the type conversions explicit. Change-Id: I09b5d4cd219b0a53559176525d9b501e5a6dc0c9 Signed-off-by: Nicholas Troast --- drivers/iio/adc/qcom-tadc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iio/adc/qcom-tadc.c b/drivers/iio/adc/qcom-tadc.c index 3cc2694f9a03..4a56847a43e7 100644 --- a/drivers/iio/adc/qcom-tadc.c +++ b/drivers/iio/adc/qcom-tadc.c @@ -398,7 +398,7 @@ static int tadc_do_conversion(struct tadc_chip *chip, u8 channels, s16 *adc) } for (i = 0; i < TADC_NUM_CH; i++) - adc[i] = val[i * 2] | val[i * 2 + 1] << BITS_PER_BYTE; + adc[i] = (s16)(val[i * 2] | (u16)val[i * 2 + 1] << 8); return jiffies_to_msecs(timeout - timeleft); }