2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-22 12:33:59 +08:00

bmp280: use correct routine for division

The proper way to divide two signed 64-bit values is to use div64_s64.

Signed-off-by: Vlad Dogaru <vlad.dogaru@intel.com>
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:
Vlad Dogaru 2014-10-23 15:52:00 +01:00 committed by Jonathan Cameron
parent d5c94568cc
commit 46ee98a206

View File

@ -239,7 +239,7 @@ static u32 bmp280_compensate_press(struct bmp280_data *data,
return 0; return 0;
p = ((((s64) 1048576 - adc_press) << 31) - var2) * 3125; p = ((((s64) 1048576 - adc_press) << 31) - var2) * 3125;
do_div(p, var1); p = div64_s64(p, var1);
var1 = (((s64) comp->dig_p9) * (p >> 13) * (p >> 13)) >> 25; var1 = (((s64) comp->dig_p9) * (p >> 13) * (p >> 13)) >> 25;
var2 = (((s64) comp->dig_p8) * p) >> 19; var2 = (((s64) comp->dig_p8) * p) >> 19;
p = ((p + var1 + var2) >> 8) + (((s64) comp->dig_p7) << 4); p = ((p + var1 + var2) >> 8) + (((s64) comp->dig_p7) << 4);