| From 530688e39c644543b71bdd9cb45fdfb458a28eaa Mon Sep 17 00:00:00 2001 |
| From: Emil Gedenryd <emil.gedenryd@axis.com> |
| Date: Fri, 13 Sep 2024 11:57:02 +0200 |
| Subject: iio: light: opt3001: add missing full-scale range value |
| |
| From: Emil Gedenryd <emil.gedenryd@axis.com> |
| |
| commit 530688e39c644543b71bdd9cb45fdfb458a28eaa upstream. |
| |
| 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> |
| Cc: <Stable@vger.kernel.org> |
| Link: https://patch.msgid.link/20240913-add_opt3002-v2-1-69e04f840360@axis.com |
| Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/iio/light/opt3001.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| --- a/drivers/iio/light/opt3001.c |
| +++ b/drivers/iio/light/opt3001.c |
| @@ -146,6 +146,10 @@ static const struct opt3001_scale opt300 |
| .val2 = 400000, |
| }, |
| { |
| + .val = 41932, |
| + .val2 = 800000, |
| + }, |
| + { |
| .val = 83865, |
| .val2 = 600000, |
| }, |