Message ID | dcf98648c16aff7649ff82438bfce6caae3e176f.1595572867.git.frank@allwinnertech.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Allwinner A100 Initial support | expand |
On Fri, Jul 24, 2020 at 03:11:42PM +0800, Frank Lee wrote: > From: Yangtao Li <frank@allwinnertech.com> > > For sun50i_h6_ths_calibrate(), the data read from nvmem needs a round of > calculation. On the other hand, the newer SOC may store other data in > the space other than 12bit sensor data. Add mask operation to read data > to avoid conversion error. > > Signed-off-by: Yangtao Li <frank@allwinnertech.com> Acked-by: Maxime Ripard <mripard@kernel.org> Maxime
diff --git a/drivers/thermal/sun8i_thermal.c b/drivers/thermal/sun8i_thermal.c index 74d73be16496..f423d44b9290 100644 --- a/drivers/thermal/sun8i_thermal.c +++ b/drivers/thermal/sun8i_thermal.c @@ -244,7 +244,7 @@ static int sun50i_h6_ths_calibrate(struct ths_device *tmdev, ft_temp = (caldata[0] & FT_TEMP_MASK) * 100; for (i = 0; i < tmdev->chip->sensor_num; i++) { - int sensor_reg = caldata[i + 1]; + int sensor_reg = caldata[i + 1] & TEMP_CALIB_MASK; int cdata, offset; int sensor_temp = tmdev->chip->calc_temp(tmdev, i, sensor_reg);