]> git.baikalelectronics.ru Git - kernel.git/commitdiff
iio: light: apds9960: fix wrong register for gesture gain
authorAlejandro Concepción Rodríguez <asconcepcion@acoro.eu>
Sun, 6 Nov 2022 01:56:51 +0000 (01:56 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Dec 2022 10:22:59 +0000 (11:22 +0100)
commit c754e4348f291ba98a62ce754a91b748f3bd0bf7 upstream.

Gesture Gain Control is in REG_GCONF_2 (0xa3), not in REG_CONFIG_2 (0x90).

Fixes: 42fb64cb5678 ("iio: light: add APDS9960 ALS + promixity driver")
Signed-off-by: Alejandro Concepcion-Rodriguez <asconcepcion@acoro.eu>
Acked-by: Matt Ranostay <matt.ranostay@konsulko.com>
Cc: <Stable@vger.kernel.org>
Link: https://lore.kernel.org/r/EaT-NKC-H4DNX5z4Lg9B6IWPD5TrTrYBr5DYB784wfDKQkTmzPXkoYqyUOrOgJH-xvTsEkFLcVkeAPZRUODEFI5dGziaWXwjpfBNLeNGfNc=@acoro.eu
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iio/light/apds9960.c

index c5dfb9a6b5a1129091421441a0c9a8a22ef9c528..2403911fdbd9996d61683a1c45c16906df0a159d 100644 (file)
@@ -55,9 +55,6 @@
 #define APDS9960_REG_CONTROL_PGAIN_MASK_SHIFT  2
 
 #define APDS9960_REG_CONFIG_2  0x90
-#define APDS9960_REG_CONFIG_2_GGAIN_MASK       0x60
-#define APDS9960_REG_CONFIG_2_GGAIN_MASK_SHIFT 5
-
 #define APDS9960_REG_ID                0x92
 
 #define APDS9960_REG_STATUS    0x93
@@ -78,6 +75,9 @@
 #define APDS9960_REG_GCONF_1_GFIFO_THRES_MASK_SHIFT    6
 
 #define APDS9960_REG_GCONF_2   0xa3
+#define APDS9960_REG_GCONF_2_GGAIN_MASK                        0x60
+#define APDS9960_REG_GCONF_2_GGAIN_MASK_SHIFT          5
+
 #define APDS9960_REG_GOFFSET_U 0xa4
 #define APDS9960_REG_GOFFSET_D 0xa5
 #define APDS9960_REG_GPULSE    0xa6
@@ -397,9 +397,9 @@ static int apds9960_set_pxs_gain(struct apds9960_data *data, int val)
                        }
 
                        ret = regmap_update_bits(data->regmap,
-                               APDS9960_REG_CONFIG_2,
-                               APDS9960_REG_CONFIG_2_GGAIN_MASK,
-                               idx << APDS9960_REG_CONFIG_2_GGAIN_MASK_SHIFT);
+                               APDS9960_REG_GCONF_2,
+                               APDS9960_REG_GCONF_2_GGAIN_MASK,
+                               idx << APDS9960_REG_GCONF_2_GGAIN_MASK_SHIFT);
                        if (!ret)
                                data->pxs_gain = idx;
                        mutex_unlock(&data->lock);