On Tue, Feb 12, 2019 at 03:25:49PM +0100, Mike Looijmans wrote:
> Standard unit for temperature is millidegrees Celcius, whereas this driver
> was reporting in degrees. Fix the scale factor in the driver.
>
> Signed-off-by: Mike Looijmans <[email protected]>
> ---
>  drivers/iio/gyro/bmg160_core.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iio/gyro/bmg160_core.c b/drivers/iio/gyro/bmg160_core.c
> index 63ca316..ad7f8cb 100644
> --- a/drivers/iio/gyro/bmg160_core.c
> +++ b/drivers/iio/gyro/bmg160_core.c
> @@ -585,8 +585,9 @@ static int bmg160_read_raw(struct iio_dev *indio_dev,
>               *val = 0;
>               switch (chan->type) {
>               case IIO_TEMP:
> -                     *val2 = 500000;
> -                     return IIO_VAL_INT_PLUS_MICRO;
> +                     *val = 500;
> +                     *val2 = 0;
> +                     return IIO_VAL_INT;

You are returning integer type to iio so there's no point in touching
val2. iio will ignore it anyway.

>               case IIO_ANGL_VEL:
>               {
>                       int i;
> --
> 1.9.1
>

Reply via email to