Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1d02ad43 authored by Michael Hennerich's avatar Michael Hennerich Committed by Dmitry Torokhov
Browse files

Input: ad7877 - filter events where pressure is beyond the maximum



Suppress events where pressure > pressure_max.
These events come typically along with inaccurate X and Y samples.

Signed-off-by: default avatarMichael Hennerich <michael.hennerich@analog.com>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent 47026b25
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -360,6 +360,13 @@ static int ad7877_rx(struct ad7877 *ts)
		Rt /= z1;
		Rt = (Rt + 2047) >> 12;

		/*
		 * Sample found inconsistent, pressure is beyond
		 * the maximum. Don't report it to user space.
		 */
		if (Rt > ts->pressure_max)
			return -EINVAL;

		if (!timer_pending(&ts->timer))
			input_report_key(input_dev, BTN_TOUCH, 1);