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: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
47026b25fc
commit
1d02ad4362
1 changed files with 7 additions and 0 deletions
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in a new issue