android_kernel_motorola_sm6225/drivers/input/touchscreen
Michael Hennerich b584efc9ea Input: ad7879 - prevent invalid finger data reports
Considering following scenario - the touch is present on the screen
at the beginning of the last conversion sequence, but by the time
the last sequence is finished, the finger is lift off. The AD7879 data
available interrupt signals (DAV) completion, however some X,Y values
are not valid because the screen inputs were floating during the
acquisition.

The AD7877 acts differently here, since it only asserts DAV if the
touch is still present when the conversion sequence finished.

Based on the fact that this can only happen in the last sample of the
repeated conversion sequence, we simply skip the last (short glitches
are filtered by the AD7879 internal median and average filters).
This doesn't cause noticeable side effects, since the minimum conversion
interval is 9.44ms. We receive ~100 waypoint samples per second, so we
simply delay the result by 9.44ms.

We also reject samples where pressure is greater than pressure_max.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-10-28 22:32:50 -07:00
..
88pm860x-ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ad7877.c Input: ad7877 - switch to using threaded IRQ 2010-10-18 09:35:13 -07:00
ad7879-i2c.c Input: ad7879 - use i2c_smbus_read_i2c_block_data() to lower overhead 2010-07-03 13:13:19 -07:00
ad7879-spi.c Input: ad7879 - fix spi word size to 16 bit 2010-07-03 13:13:20 -07:00
ad7879.c Input: ad7879 - prevent invalid finger data reports 2010-10-28 22:32:50 -07:00
ad7879.h Input: ad7879 - add open and close methods 2010-07-03 13:13:14 -07:00
ads7846.c Input: ads7846 - switch to using threaded IRQ 2010-10-17 21:10:28 -07:00
atmel-wm97xx.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
atmel_tsadcc.c Input: atmel_tsadcc - use platform parameters 2009-11-20 00:55:21 -08:00
bu21013_ts.c Input: add ROHM BU21013 touch panel controller support 2010-10-13 07:49:27 -07:00
cy8ctmg110_ts.c Input: cy8ctmg110 - add fuzz to ABS_X and ABS_Y to remove jitter 2010-09-06 12:49:54 -07:00
da9034-ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
dynapro.c Input: add driver for Dynapro serial touchscreen 2009-10-26 11:01:30 -07:00
eeti_ts.c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
elo.c Input: elo - switch to using dev_xxx() when printing messages 2010-01-06 23:54:40 -08:00
fujitsu_ts.c
gunze.c
h3600_ts_input.c Input: serio - don't use serio->write() directly 2009-08-05 00:43:43 -07:00
hampshire.c Input: add driver for hampshire serial touchscreens 2010-04-13 23:27:41 -07:00
hp680_ts_input.c Input: hp680_ts_input - use cancel_delayed_work_sync() 2010-10-17 21:12:00 -07:00
htcpen.c Input: add HTC Shift Touchscreen Driver 2008-06-02 00:38:35 -04:00
inexio.c Input: Add driver for iNexio serial touchscreen. 2008-06-30 09:37:32 -04:00
intel-mid-touch.c Input: mrst-touchscreen - move out of staging 2010-09-01 19:43:36 -07:00
jornada720_ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
Kconfig Input: add ROHM BU21013 touch panel controller support 2010-10-13 07:49:27 -07:00
lpc32xx_ts.c Input: add LPC32xx touchscreen controller driver 2010-08-28 22:46:18 -07:00
mainstone-wm97xx.c Input: wm97xx - provide coordinate logs for accelerated I/O 2010-01-28 22:38:30 -08:00
Makefile Input: add ROHM BU21013 touch panel controller support 2010-10-13 07:49:27 -07:00
mc13783_ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mcs5000_ts.c Input: mcs - Add MCS touchkey driver 2010-07-04 01:23:26 -07:00
migor_ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mk712.c
mtouch.c
pcap_ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
penmount.c
qt602240_ts.c Input: Add ATMEL QT602240 touchscreen driver 2010-07-14 21:58:52 -07:00
s3c2410_ts.c Input: s3c2410_ts - fix s3c2410ts_probe error path 2010-09-02 20:11:52 -07:00
stmpe-ts.c Input: stmpe-ts - return -ENOMEM when memory allocation fails 2010-09-05 12:09:12 -07:00
touchit213.c Input: add driver for Tabletkiosk Sahara TouchIT-213 touchscreen 2008-07-07 12:00:30 -04:00
touchright.c
touchwin.c
tps6507x-ts.c Input: tps6507x-ts - properly unregister input device on removal 2010-09-02 20:12:42 -07:00
tsc2007.c Input: tsc2007 - fix a redundant assignment for pdata 2010-09-02 20:14:00 -07:00
ucb1400_ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
usbtouchscreen.c Input: usbtouchscreen - implement reset_resume 2010-07-15 09:30:57 -07:00
w90p910_ts.c Input: w90p910_ts - fix call to setup_timer() 2010-07-15 23:51:03 -07:00
wacom_w8001.c Input: wacom_w8001 - add multitouch slot support 2010-08-28 22:46:14 -07:00
wm97xx-core.c Input: wm97xx-core - add retries to wm97xx_read_aux_adc 2010-09-05 12:14:36 -07:00
wm9705.c Merge branch 'next' into for-linus 2008-10-15 23:29:12 -04:00
wm9712.c Merge branch 'next' into for-linus 2008-10-15 23:29:12 -04:00
wm9713.c Merge branch 'next' into for-linus 2008-10-15 23:29:12 -04:00
zylonite-wm97xx.c Input: wm97xx - provide coordinate logs for accelerated I/O 2010-01-28 22:38:30 -08:00