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

Commit 23c239be authored by Vasily Khoruzhick's avatar Vasily Khoruzhick Committed by Dmitry Torokhov
Browse files

Input: s3c24xx_ts - report touch only when stylus is down



Currently driver reports touches when it gets (1 << ts.shift) samples,
even if stylus is up, which is incorrect. We should only report coordinates
and touch condition when stylus is down.

Signed-off-by: default avatarVasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent 2f095865
Loading
Loading
Loading
Loading
+16 −14
Original line number Diff line number Diff line
@@ -128,6 +128,7 @@ static void touch_timer_fire(unsigned long data)

	down = get_down(data0, data1);

	if (down) {
		if (ts.count == (1 << ts.shift)) {
			ts.xp >>= ts.shift;
			ts.yp >>= ts.shift;
@@ -146,9 +147,10 @@ static void touch_timer_fire(unsigned long data)
			ts.count = 0;
		}

	if (down) {
		s3c_adc_start(ts.client, 0, 1 << ts.shift);
	} else {
		ts.xp = 0;
		ts.yp = 0;
		ts.count = 0;

		input_report_key(ts.input, BTN_TOUCH, 0);