Input: ads7846 - don't check penirq immediately for 7845
[ Upstream commitfa9f4275b2
] 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:ffa458c1bd
("spi: ads7846 driver") Signed-off-by: Luca Ellero <l.ellero@asem.it> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20230126105227.47648-4-l.ellero@asem.it Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Родитель
6a37a429b3
Коммит
8c373aa1f7
|
@ -851,14 +851,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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче