Re: [PATCH 3/3] ads7846: don't check penirq immediately for 7845

From: Andy Shevchenko
Date: Thu Jul 14 2022 - 07:35:38 EST


On Thu, Jul 14, 2022 at 10:43:19AM +0200, Luca Ellero wrote:
> From: Luca Ellero <l.ellero@xxxxxxx>
>
> 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.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>

> Signed-off-by: Luca Ellero <l.ellero@xxxxxxx>
> ---
> 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 9e15cdf6faa0..122d3a13b7c5 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
>

--
With Best Regards,
Andy Shevchenko