mirror of https://gitee.com/openkylin/linux.git
iio: pressure: bmp280: fix temp compensation
Temperature reads on bmp280 device always return 0, due to a missing step in the compensation formula (data->tfine is never initialized). Initialize data->tfine value so we get correct temperature and pressure values. Signed-off-by: Irina Tirdea <irina.tirdea@intel.com> Reviewed-by: Vlad Dogaru <vlad.dogaru@intel.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:
parent
c610f7f772
commit
abad398337
|
@ -172,6 +172,7 @@ static s32 bmp280_compensate_temp(struct bmp280_data *data,
|
|||
var2 = (((((adc_temp >> 4) - ((s32)le16_to_cpu(buf[T1]))) *
|
||||
((adc_temp >> 4) - ((s32)le16_to_cpu(buf[T1])))) >> 12) *
|
||||
((s32)(s16)le16_to_cpu(buf[T3]))) >> 14;
|
||||
data->t_fine = var1 + var2;
|
||||
|
||||
return (data->t_fine * 5 + 128) >> 8;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue