[PATCH 3.19.y-ckt 108/155] iio: mxs-lradc: Fix temperature offset

From: Kamal Mostafa
Date: Thu Nov 12 2015 - 18:35:38 EST


3.19.8-ckt10 -stable review patch. If anyone has any objections, please let me know.

------------------

From: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>

commit b94e22805a2224061bb263a82b72e09544a5fbb3 upstream.

0Â Kelvin is actually â273.15ÂC, not -272.15ÂC. Fix the temperature offset.
Also improve the comment explaining the calculation.

Reported-by: Janusz UÅycki <j.uzycki@xxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
Acked-by: Stefan Wahren <stefan.wahren@xxxxxxxx>
Acked-by: Marek Vasut <marex@xxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
Signed-off-by: Kamal Mostafa <kamal@xxxxxxxxxxxxx>
---
drivers/staging/iio/adc/mxs-lradc.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/iio/adc/mxs-lradc.c b/drivers/staging/iio/adc/mxs-lradc.c
index 351339c..3b9859b 100644
--- a/drivers/staging/iio/adc/mxs-lradc.c
+++ b/drivers/staging/iio/adc/mxs-lradc.c
@@ -912,11 +912,12 @@ static int mxs_lradc_read_raw(struct iio_dev *iio_dev,
case IIO_CHAN_INFO_OFFSET:
if (chan->type == IIO_TEMP) {
/* The calculated value from the ADC is in Kelvin, we
- * want Celsius for hwmon so the offset is
- * -272.15 * scale
+ * want Celsius for hwmon so the offset is -273.15
+ * The offset is applied before scaling so it is
+ * actually -213.15 * 4 / 1.012 = -1079.644268
*/
- *val = -1075;
- *val2 = 691699;
+ *val = -1079;
+ *val2 = 644268;

return IIO_VAL_INT_PLUS_MICRO;
}
--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/