[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230126105227.47648-4-l.ellero@asem.it>
Date: Thu, 26 Jan 2023 11:52:27 +0100
From: Luca Ellero <l.ellero@...m.it>
To: dmitry.torokhov@...il.com, daniel@...que.org,
m.felsch@...gutronix.de, andriy.shevchenko@...ux.intel.com,
u.kleine-koenig@...gutronix.de, mkl@...gutronix.de,
miquel.raynal@...tlin.com, imre.deak@...ia.com,
luca.ellero@...ckedbrain.com
Cc: linux-input@...r.kernel.org, linux-kernel@...r.kernel.org,
Luca Ellero <l.ellero@...m.it>
Subject: [PATCH 3/3] Input: ads7846 - don't check penirq immediately for 7845
To discard false readings, one should use "ti,penirq-recheck-delay-usecs".
Checking get_pendown_state() at the beginning, most of the time fails
causing malfunctioning.
Fixes: ffa458c1bd9b ("spi: ads7846 driver")
Signed-off-by: Luca Ellero <l.ellero@...m.it>
---
drivers/input/touchscreen/ads7846.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
index 15da1047a577..17f11bce8113 100644
--- a/drivers/input/touchscreen/ads7846.c
+++ b/drivers/input/touchscreen/ads7846.c
@@ -843,14 +843,8 @@ static void ads7846_report_state(struct ads7846 *ts)
if (x == MAX_12BIT)
x = 0;
- if (ts->model == 7843) {
+ if (ts->model == 7843 || ts->model == 7845) {
Rt = ts->pressure_max / 2;
- } else if (ts->model == 7845) {
- if (get_pendown_state(ts))
- Rt = ts->pressure_max / 2;
- else
- Rt = 0;
- dev_vdbg(&ts->spi->dev, "x/y: %d/%d, PD %d\n", x, y, Rt);
} else if (likely(x && z1)) {
/* compute touch pressure resistance using equation #2 */
Rt = z2;
--
2.25.1
Powered by blists - more mailing lists