Commit 3d785498 authored by Mike Looijmans's avatar Mike Looijmans Committed by Stefan Bader

iio/gyro/bmg160: Use millidegrees for temperature scale

BugLink: https://bugs.launchpad.net/bugs/1828420

commit 40a7198a upstream.

Standard unit for temperature is millidegrees Celcius, whereas this driver
was reporting in degrees. Fix the scale factor in the driver.
Signed-off-by: default avatarMike Looijmans <mike.looijmans@topic.nl>
Cc: <Stable@vger.kernel.org>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarKleber Sacilotto de Souza <kleber.souza@canonical.com>
Signed-off-by: default avatarStefan Bader <stefan.bader@canonical.com>
parent e09b3fe9
...@@ -519,11 +519,10 @@ static int bmg160_read_raw(struct iio_dev *indio_dev, ...@@ -519,11 +519,10 @@ static int bmg160_read_raw(struct iio_dev *indio_dev,
} else } else
return -EINVAL; return -EINVAL;
case IIO_CHAN_INFO_SCALE: case IIO_CHAN_INFO_SCALE:
*val = 0;
switch (chan->type) { switch (chan->type) {
case IIO_TEMP: case IIO_TEMP:
*val2 = 500000; *val = 500;
return IIO_VAL_INT_PLUS_MICRO; return IIO_VAL_INT;
case IIO_ANGL_VEL: case IIO_ANGL_VEL:
{ {
int i; int i;
...@@ -531,6 +530,7 @@ static int bmg160_read_raw(struct iio_dev *indio_dev, ...@@ -531,6 +530,7 @@ static int bmg160_read_raw(struct iio_dev *indio_dev,
for (i = 0; i < ARRAY_SIZE(bmg160_scale_table); ++i) { for (i = 0; i < ARRAY_SIZE(bmg160_scale_table); ++i) {
if (bmg160_scale_table[i].dps_range == if (bmg160_scale_table[i].dps_range ==
data->dps_range) { data->dps_range) {
*val = 0;
*val2 = bmg160_scale_table[i].scale; *val2 = bmg160_scale_table[i].scale;
return IIO_VAL_INT_PLUS_MICRO; return IIO_VAL_INT_PLUS_MICRO;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment