On Sun, 24 Sep 2017 23:59:20 +0200
Stefan Brüns <stefan.bru...@rwth-aachen.de> wrote:

> The reported scale was only correct for the default settings of 100 ms
> integration time and gain 1.
> 
> This aligns the reported scale with the behaviour of any other IIO driver
> and the documented ABI, but may require userspace changes if someone uses
> non-default settings.
> 
> Signed-off-by: Stefan Brüns <stefan.bru...@rwth-aachen.de>

Applied to the togreg branch of iio.git and pushed out as testing for
the autobuilders to play with it.

Whilst this is clearly a fix, it isn't a regression.  As such the extent
of the changes mean I've queued this up for the next merge window rather
than going in quicker as a fix.

Thanks,

Jonathan

> 
> ---
> 
> Changes in v3: None
> Changes in v2: None
> 
>  drivers/iio/light/vl6180.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/iio/light/vl6180.c b/drivers/iio/light/vl6180.c
> index 49e9f92cd116..67f8beb84fc3 100644
> --- a/drivers/iio/light/vl6180.c
> +++ b/drivers/iio/light/vl6180.c
> @@ -315,9 +315,12 @@ static int vl6180_read_raw(struct iio_dev *indio_dev,
>       case IIO_CHAN_INFO_SCALE:
>               switch (chan->type) {
>               case IIO_LIGHT:
> -                     *val = 0; /* one ALS count is 0.32 Lux */
> -                     *val2 = 320000;
> -                     break;
> +                     /* one ALS count is 0.32 Lux @ gain 1, IT 100 ms */
> +                     *val = 32000; /* 0.32 * 1000 * 100 */
> +                     *val2 = data->als_gain_milli * data->als_it_ms;
> +
> +                     return IIO_VAL_FRACTIONAL;
> +
>               case IIO_DISTANCE:
>                       *val = 0; /* sensor reports mm, scale to meter */
>                       *val2 = 1000;

Reply via email to