public inbox for linux-iio@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] iio: light: ltrf216a: Return floating point values
@ 2023-11-07 19:20 Shreeya Patel
  2023-11-21 19:35 ` Shreeya Patel
  0 siblings, 1 reply; 3+ messages in thread
From: Shreeya Patel @ 2023-11-07 19:20 UTC (permalink / raw)
  To: jic23, lars; +Cc: linux-iio, linux-kernel, Shreeya Patel

For better precision of input light intesity, return floating point
values through sysfs instead of an integer value

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);
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] iio: light: ltrf216a: Return floating point values
  2023-11-07 19:20 [PATCH] iio: light: ltrf216a: Return floating point values Shreeya Patel
@ 2023-11-21 19:35 ` Shreeya Patel
  2023-11-26 18:02   ` Jonathan Cameron
  0 siblings, 1 reply; 3+ messages in thread
From: Shreeya Patel @ 2023-11-21 19:35 UTC (permalink / raw)
  To: jic23; +Cc: linux-iio, linux-kernel, lars



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);


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] iio: light: ltrf216a: Return floating point values
  2023-11-21 19:35 ` Shreeya Patel
@ 2023-11-26 18:02   ` Jonathan Cameron
  0 siblings, 0 replies; 3+ messages in thread
From: Jonathan Cameron @ 2023-11-26 18:02 UTC (permalink / raw)
  To: Shreeya Patel; +Cc: linux-iio, linux-kernel, lars

On Wed, 22 Nov 2023 01:05:41 +0530
Shreeya Patel <shreeya.patel@collabora.com> wrote:

> 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 :)
Hi Shreeya,

Getting there on catching up - for some reason this one didn't reach my inbox, but thankfully
patchwork had it.

Anyhow, applied to the togreg branch of iio.git and pushed out as testing
for all the normal reasons.

Thanks,

Jonathan

> 
> 
> 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);  
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-11-26 18:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-07 19:20 [PATCH] iio: light: ltrf216a: Return floating point values Shreeya Patel
2023-11-21 19:35 ` Shreeya Patel
2023-11-26 18:02   ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox