Takashi Iwai 961b9d
From 0aa60ff5d996d4ecdd4a62699c01f6d00f798d59 Mon Sep 17 00:00:00 2001
Takashi Iwai 961b9d
From: =?UTF-8?q?Alejandro=20Concepci=C3=B3n=20Rodr=C3=ADguez?= <asconcepcion@acoro.eu>
Takashi Iwai 961b9d
Date: Sun, 6 Nov 2022 01:56:51 +0000
Takashi Iwai 961b9d
Subject: [PATCH] iio: light: apds9960: fix wrong register for gesture gain
Takashi Iwai 961b9d
Git-commit: 0aa60ff5d996d4ecdd4a62699c01f6d00f798d59
Takashi Iwai 961b9d
Patch-mainline: v6.1-rc7
Takashi Iwai 961b9d
References: git-fixes
Takashi Iwai 961b9d
Takashi Iwai 961b9d
Gesture Gain Control is in REG_GCONF_2 (0xa3), not in REG_CONFIG_2 (0x90).
Takashi Iwai 961b9d
Takashi Iwai 961b9d
Fixes: aff268cd532e ("iio: light: add APDS9960 ALS + promixity driver")
Takashi Iwai 961b9d
Signed-off-by: Alejandro Concepcion-Rodriguez <asconcepcion@acoro.eu>
Takashi Iwai 961b9d
Acked-by: Matt Ranostay <matt.ranostay@konsulko.com>
Takashi Iwai 961b9d
Cc: <Stable@vger.kernel.org>
Takashi Iwai 961b9d
Link: https://lore.kernel.org/r/EaT-NKC-H4DNX5z4Lg9B6IWPD5TrTrYBr5DYB784wfDKQkTmzPXkoYqyUOrOgJH-xvTsEkFLcVkeAPZRUODEFI5dGziaWXwjpfBNLeNGfNc=@acoro.eu
Takashi Iwai 961b9d
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Takashi Iwai 961b9d
Acked-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 961b9d
Takashi Iwai 961b9d
---
Takashi Iwai 961b9d
 drivers/iio/light/apds9960.c | 12 ++++++------
Takashi Iwai 961b9d
 1 file changed, 6 insertions(+), 6 deletions(-)
Takashi Iwai 961b9d
Takashi Iwai 961b9d
diff --git a/drivers/iio/light/apds9960.c b/drivers/iio/light/apds9960.c
Takashi Iwai 961b9d
index b62c139baf41..38d4c7644bef 100644
Takashi Iwai 961b9d
--- a/drivers/iio/light/apds9960.c
Takashi Iwai 961b9d
+++ b/drivers/iio/light/apds9960.c
Takashi Iwai 961b9d
@@ -54,9 +54,6 @@
Takashi Iwai 961b9d
 #define APDS9960_REG_CONTROL_PGAIN_MASK_SHIFT	2
Takashi Iwai 961b9d
 
Takashi Iwai 961b9d
 #define APDS9960_REG_CONFIG_2	0x90
Takashi Iwai 961b9d
-#define APDS9960_REG_CONFIG_2_GGAIN_MASK	0x60
Takashi Iwai 961b9d
-#define APDS9960_REG_CONFIG_2_GGAIN_MASK_SHIFT	5
Takashi Iwai 961b9d
-
Takashi Iwai 961b9d
 #define APDS9960_REG_ID		0x92
Takashi Iwai 961b9d
 
Takashi Iwai 961b9d
 #define APDS9960_REG_STATUS	0x93
Takashi Iwai 961b9d
@@ -77,6 +74,9 @@
Takashi Iwai 961b9d
 #define APDS9960_REG_GCONF_1_GFIFO_THRES_MASK_SHIFT	6
Takashi Iwai 961b9d
 
Takashi Iwai 961b9d
 #define APDS9960_REG_GCONF_2	0xa3
Takashi Iwai 961b9d
+#define APDS9960_REG_GCONF_2_GGAIN_MASK			0x60
Takashi Iwai 961b9d
+#define APDS9960_REG_GCONF_2_GGAIN_MASK_SHIFT		5
Takashi Iwai 961b9d
+
Takashi Iwai 961b9d
 #define APDS9960_REG_GOFFSET_U	0xa4
Takashi Iwai 961b9d
 #define APDS9960_REG_GOFFSET_D	0xa5
Takashi Iwai 961b9d
 #define APDS9960_REG_GPULSE	0xa6
Takashi Iwai 961b9d
@@ -396,9 +396,9 @@ static int apds9960_set_pxs_gain(struct apds9960_data *data, int val)
Takashi Iwai 961b9d
 			}
Takashi Iwai 961b9d
 
Takashi Iwai 961b9d
 			ret = regmap_update_bits(data->regmap,
Takashi Iwai 961b9d
-				APDS9960_REG_CONFIG_2,
Takashi Iwai 961b9d
-				APDS9960_REG_CONFIG_2_GGAIN_MASK,
Takashi Iwai 961b9d
-				idx << APDS9960_REG_CONFIG_2_GGAIN_MASK_SHIFT);
Takashi Iwai 961b9d
+				APDS9960_REG_GCONF_2,
Takashi Iwai 961b9d
+				APDS9960_REG_GCONF_2_GGAIN_MASK,
Takashi Iwai 961b9d
+				idx << APDS9960_REG_GCONF_2_GGAIN_MASK_SHIFT);
Takashi Iwai 961b9d
 			if (!ret)
Takashi Iwai 961b9d
 				data->pxs_gain = idx;
Takashi Iwai 961b9d
 			mutex_unlock(&data->lock);
Takashi Iwai 961b9d
-- 
Takashi Iwai 961b9d
2.35.3
Takashi Iwai 961b9d