> See page 8 of ms5607 datasheet here: > http://www.meas-spec.com/product/pressure/MS5607-ms.aspx link doesn't seem to work anymore, maybe now it's http://www.meas-spec.com/product/pressure/MS5607-02BA03.aspx computation of sens2 was wrong and is fixed by this patch, sens2 should be 2 * (t - 2000)^2 Acked-by: Peter Meerwald-Stadler <pmeerw@xxxxxxxxxx> > Signed-off-by: Gregor Boirie <gregor.boirie@xxxxxxxxxx> > --- > drivers/iio/pressure/ms5611_core.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/iio/pressure/ms5611_core.c b/drivers/iio/pressure/ms5611_core.c > index c7885f0c..a2ff89e6 100644 > --- a/drivers/iio/pressure/ms5611_core.c > +++ b/drivers/iio/pressure/ms5611_core.c > @@ -136,15 +136,15 @@ static int ms5607_temp_and_pressure_compensate(struct ms5611_chip_info *chip_inf > > t = 2000 + ((chip_info->prom[6] * dt) >> 23); > if (t < 2000) { > - s64 off2, sens2, t2; > + s64 off2, sens2, t2, tmp; > > t2 = (dt * dt) >> 31; > - off2 = (61 * (t - 2000) * (t - 2000)) >> 4; > - sens2 = off2 << 1; > + tmp = (t - 2000) * (t - 2000); > + off2 = (61 * tmp) >> 4; > + sens2 = tmp << 1; > > if (t < -1500) { > - s64 tmp = (t + 1500) * (t + 1500); > - > + tmp = (t + 1500) * (t + 1500); > off2 += 15 * tmp; > sens2 += (8 * tmp); parenthesis could be removed here > } > -- Peter Meerwald-Stadler +43-664-2444418 (mobile) -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html