Messages in this thread | | | Date | Wed, 22 Nov 2023 01:05:41 +0530 | Subject | Re: [PATCH] iio: light: ltrf216a: Return floating point values | From | Shreeya Patel <> |
| |
On 08/11/23 00:50, Shreeya Patel wrote: > For better precision of input light intesity, return floating point > values through sysfs instead of an integer value
Hi Jonathan,
Gentle ping for this patch. I am not sure if you got time to look at the patches after LPC but just making sure it doesn't get lost between bunch of others :)
Thanks, Shreeya Patel
> > Signed-off-by: Shreeya Patel <shreeya.patel@collabora.com> > --- > drivers/iio/light/ltrf216a.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/iio/light/ltrf216a.c b/drivers/iio/light/ltrf216a.c > index 8de4dd849936..68dc48420a88 100644 > --- a/drivers/iio/light/ltrf216a.c > +++ b/drivers/iio/light/ltrf216a.c > @@ -234,7 +234,7 @@ static int ltrf216a_read_data(struct ltrf216a_data *data, u8 addr) > static int ltrf216a_get_lux(struct ltrf216a_data *data) > { > int ret, greendata; > - u64 lux, div; > + u64 lux; > > ret = ltrf216a_set_power_state(data, true); > if (ret) > @@ -246,10 +246,9 @@ static int ltrf216a_get_lux(struct ltrf216a_data *data) > > ltrf216a_set_power_state(data, false); > > - lux = greendata * 45 * LTRF216A_WIN_FAC * 100; > - div = data->als_gain_fac * data->int_time_fac * 100; > + lux = greendata * 45 * LTRF216A_WIN_FAC; > > - return div_u64(lux, div); > + return lux; > } > > static int ltrf216a_read_raw(struct iio_dev *indio_dev, > @@ -279,7 +278,8 @@ static int ltrf216a_read_raw(struct iio_dev *indio_dev, > if (ret < 0) > return ret; > *val = ret; > - return IIO_VAL_INT; > + *val2 = data->als_gain_fac * data->int_time_fac; > + return IIO_VAL_FRACTIONAL; > case IIO_CHAN_INFO_INT_TIME: > mutex_lock(&data->lock); > ret = ltrf216a_get_int_time(data, val, val2);
| |