diff mbox series

[v2,1/3] iio: light: opt3001: add missing full-scale range value

Message ID 20240913-add_opt3002-v2-1-69e04f840360@axis.com (mailing list archive)
State Accepted
Headers show
Series iio: light: opt3001: add support for TI's opt3002 light sensor | expand

Commit Message

Emil Gedenryd Sept. 13, 2024, 9:57 a.m. UTC
The opt3001 driver uses predetermined full-scale range values to
determine what exponent to use for event trigger threshold values.
The problem is that one of the values specified in the datasheet is
missing from the implementation. This causes larger values to be
scaled down to an incorrect exponent, effectively reducing the
maximum settable threshold value by a factor of 2.

Add missing full-scale range array value.

Fixes: 94a9b7b1809f ("iio: light: add support for TI's opt3001 light sensor")
Signed-off-by: Emil Gedenryd <emil.gedenryd@axis.com>
---
 drivers/iio/light/opt3001.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Jonathan Cameron Sept. 14, 2024, 4:06 p.m. UTC | #1
On Fri, 13 Sep 2024 11:57:02 +0200
Emil Gedenryd <emil.gedenryd@axis.com> wrote:

> The opt3001 driver uses predetermined full-scale range values to
> determine what exponent to use for event trigger threshold values.
> The problem is that one of the values specified in the datasheet is
> missing from the implementation. This causes larger values to be
> scaled down to an incorrect exponent, effectively reducing the
> maximum settable threshold value by a factor of 2.
> 
> Add missing full-scale range array value.
> 
> Fixes: 94a9b7b1809f ("iio: light: add support for TI's opt3001 light sensor")
> Signed-off-by: Emil Gedenryd <emil.gedenryd@axis.com>
Applied to the fixes-togreg branch of iio.git and marked for stable.
I'll probably send a pull request with this in shortly after rc1.

Jonathan

> ---
>  drivers/iio/light/opt3001.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/iio/light/opt3001.c b/drivers/iio/light/opt3001.c
> index 887c4b776a86..176e54bb48c3 100644
> --- a/drivers/iio/light/opt3001.c
> +++ b/drivers/iio/light/opt3001.c
> @@ -138,6 +138,10 @@ static const struct opt3001_scale opt3001_scales[] = {
>  		.val = 20966,
>  		.val2 = 400000,
>  	},
> +	{
> +		.val = 41932,
> +		.val2 = 800000,
> +	},
>  	{
>  		.val = 83865,
>  		.val2 = 600000,
>
Emil Gedenryd Sept. 16, 2024, 7:02 a.m. UTC | #2
On Sat, 2024-09-14 at 17:06 +0100, Jonathan Cameron wrote:
> On Fri, 13 Sep 2024 11:57:02 +0200
> Emil Gedenryd <emil.gedenryd@axis.com> wrote:
> 
> > The opt3001 driver uses predetermined full-scale range values to
> > determine what exponent to use for event trigger threshold values.
> > The problem is that one of the values specified in the datasheet is
> > missing from the implementation. This causes larger values to be
> > scaled down to an incorrect exponent, effectively reducing the
> > maximum settable threshold value by a factor of 2.
> > 
> > Add missing full-scale range array value.
> > 
> > Fixes: 94a9b7b1809f ("iio: light: add support for TI's opt3001 light sensor")
> > Signed-off-by: Emil Gedenryd <emil.gedenryd@axis.com>
> Applied to the fixes-togreg branch of iio.git and marked for stable.
> I'll probably send a pull request with this in shortly after rc1.
> 
> Jonathan
> 
> 
Great, thank you.

Best Regards,
Emil
diff mbox series

Patch

diff --git a/drivers/iio/light/opt3001.c b/drivers/iio/light/opt3001.c
index 887c4b776a86..176e54bb48c3 100644
--- a/drivers/iio/light/opt3001.c
+++ b/drivers/iio/light/opt3001.c
@@ -138,6 +138,10 @@  static const struct opt3001_scale opt3001_scales[] = {
 		.val = 20966,
 		.val2 = 400000,
 	},
+	{
+		.val = 41932,
+		.val2 = 800000,
+	},
 	{
 		.val = 83865,
 		.val2 = 600000,