Re: [PATCH] iio: light: apds9960: fix wrong register for gesture gain

From: Matt Ranostay
Date: Sun Nov 06 2022 - 01:42:42 EST


On Sun, Nov 6, 2022 at 9:56 AM Alejandro Concepción Rodríguez
<asconcepcion@xxxxxxxx> wrote:
>
> Gesture Gain Control is in REG_GCONF_2 (0xa3), not in REG_CONFIG_2 (0x90).
>
> Fixes: aff268cd532e ("iio: light: add APDS9960 ALS + promixity driver")
>

Good find. Odd that nobody ran into that issue before :/

NOTE: Sorry for the double emails to some.. seems gmail dropped my
Plain Text default setting and set it to HTML *sigh*

Acked-by: Matt Ranostay <matt.ranostay@xxxxxxxxxxxx>

> Signed-off-by: Alejandro Concepcion-Rodriguez <asconcepcion@xxxxxxxx>
> ---
> drivers/iio/light/apds9960.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/iio/light/apds9960.c b/drivers/iio/light/apds9960.c
> index b62c139baf41..38d4c7644bef 100644
> --- a/drivers/iio/light/apds9960.c
> +++ b/drivers/iio/light/apds9960.c
> @@ -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);
> --
> 2.34.1