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. |