]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iio: light: apds9306: fix max_scale_nano values
authorJavier Carrasco <javier.carrasco.cruz@gmail.com>
Sun, 12 Jan 2025 00:08:11 +0000 (01:08 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 3 Feb 2025 19:30:10 +0000 (19:30 +0000)
The two provided max_scale_nano values must be multiplied by 100 and 10
respectively to achieve nano units. According to the comments:

Max scale for apds0306 is 16.326432 → the fractional part is 0.326432,
which is 326432000 in NANO. The current value is 3264320.

Max scale for apds0306-065 is 14.09721 → the fractional part is 0.09712,
which is 97120000 in NANO. The current value is 9712000.

Update max_scale_nano initialization to use the right NANO fractional
parts.

Cc: stable@vger.kernel.org
Fixes: 620d1e6c7a3f ("iio: light: Add support for APDS9306 Light Sensor")
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Tested-by: subhajit.ghosh@tweaklogic.com
Link: https://patch.msgid.link/20250112-apds9306_nano_vals-v1-1-82fb145d0b16@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/light/apds9306.c

index 69a0d609cffc91cc3daba160f309f511270be385..5ed7e17f49e76206609aba83c85e8144c536d17d 100644 (file)
@@ -108,11 +108,11 @@ static const struct part_id_gts_multiplier apds9306_gts_mul[] = {
        {
                .part_id = 0xB1,
                .max_scale_int = 16,
-               .max_scale_nano = 3264320,
+               .max_scale_nano = 326432000,
        }, {
                .part_id = 0xB3,
                .max_scale_int = 14,
-               .max_scale_nano = 9712000,
+               .max_scale_nano = 97120000,
        },
 };