|
From: <sle...@us...> - 2007-09-11 09:03:18
|
Revision: 1304
http://hackndev.svn.sourceforge.net/hackndev/?rev=1304&view=rev
Author: sleep_walker
Date: 2007-09-11 02:03:13 -0700 (Tue, 11 Sep 2007)
Log Message:
-----------
palmtt3: bugfix #41 candidate
Modified Paths:
--------------
linux4palm/linux/trunk/drivers/mfd/tsc2101.c
Modified: linux4palm/linux/trunk/drivers/mfd/tsc2101.c
===================================================================
--- linux4palm/linux/trunk/drivers/mfd/tsc2101.c 2007-09-10 08:13:39 UTC (rev 1303)
+++ linux4palm/linux/trunk/drivers/mfd/tsc2101.c 2007-09-11 09:03:13 UTC (rev 1304)
@@ -687,19 +687,22 @@
spin_lock_irqsave(&devdata->lock, flags);
- //if (!tsc2101_ts_penup(devdata)) {
if (devdata->platform->pendown()) {
+ /* if touchscreen is just touched */
devdata->pendown = 1;
tsc2101_readdata(devdata, &ts_data);
- tsc2101_ts_report(devdata, ts_data.x, ts_data.y, ts_data.p, 1);
+ tsc2101_ts_report(devdata, ts_data.x, ts_data.y, ts_data.p, /*1*/ !!ts_data.p);
mod_timer(&(devdata->ts_timer), jiffies + HZ / 100);
} else if (devdata->pendown > 0 && devdata->pendown < 3) {
+ /* if touchscreen was touched short time ago and it's possible that it's only surface indirectness */
mod_timer(&(devdata->ts_timer), jiffies + HZ / 100);
devdata->pendown++;
} else {
- if (devdata->pendown)
+ /* if touchscreen was touched long time ago - it was probably released */
+ if (devdata->pendown) {
+ tsc2101_readdata(devdata, &ts_data);
tsc2101_ts_report(devdata, 0, 0, 0, 0);
-
+ }
devdata->pendown = 0;
set_irq_type(devdata->platform->irq,IRQT_FALLING);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|