bmp280: use correct routine for division
authorVlad Dogaru <vlad.dogaru@intel.com>
Thu, 23 Oct 2014 14:52:00 +0000 (15:52 +0100)
committerJonathan Cameron <jic23@kernel.org>
Sat, 25 Oct 2014 09:44:54 +0000 (10:44 +0100)
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>
drivers/iio/pressure/bmp280.c

index fb91cb3..ce29ff9 100644 (file)
@@ -239,7 +239,7 @@ static u32 bmp280_compensate_press(struct bmp280_data *data,
                return 0;
 
        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;
        var2 = (((s64) comp->dig_p8) * p) >> 19;
        p = ((p + var1 + var2) >> 8) + (((s64) comp->dig_p7) << 4);