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)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 6 Nov 2022 17:33:48 +0000 (17:33 +0000)
Gesture Gain Control is in REG_GCONF_2 (0xa3), not in REG_CONFIG_2 (0x90).

Fixes: aff268cd532e ("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>
drivers/iio/light/apds9960.c

index b62c139baf414c518a5be684e6f34d6b92322a4a..38d4c7644befc71031aca0f75d4b93b9c01dd274 100644 (file)
@@ -54,9 +54,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
@@ -77,6 +74,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
@@ -396,9 +396,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);