aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/i2c
diff options
context:
space:
mode:
authorThierry Reding <thierry.reding@avionic-design.de>2011-05-17 09:31:01 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2011-05-17 09:38:39 -0700
commit84005eb5ea2939d448047fcf6924b3b9b6ed974d (patch)
tree3a31ceef0058d784461c5b69b38ca4c23fe42d5a /include/linux/i2c
parentInput: tsc2007 - debounce pressure measurement (diff)
downloadlinux-dev-84005eb5ea2939d448047fcf6924b3b9b6ed974d.tar.xz
linux-dev-84005eb5ea2939d448047fcf6924b3b9b6ed974d.zip
Input: tsc2007 - add max_rt parameter to platform data
Finger touch events or very quick stylus events on low-quality panels can cause the tsc2007 to read bogus values. Looking at oscilloscope snapshots, this seems to be caused by the touch event disappearing during the measurements. These bogus values result in misclicks, where the X and Y values deviate from the real position. Most of these misclicks can be filtered out by setting a low enough threshold for the maximum resistance (which is loosely the inverse of the pressure) allowed to consider a set of values valid. Since this behaviour is largely dependent on the type and quality of the panel, this commit introduces the max_rt parameter. The default value is kept at MAX_12BIT. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'include/linux/i2c')
-rw-r--r--include/linux/i2c/tsc2007.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/i2c/tsc2007.h b/include/linux/i2c/tsc2007.h
index c6361fbb7bf9..d95f11347314 100644
--- a/include/linux/i2c/tsc2007.h
+++ b/include/linux/i2c/tsc2007.h
@@ -6,6 +6,7 @@
struct tsc2007_platform_data {
u16 model; /* 2007. */
u16 x_plate_ohms;
+ u16 max_rt; /* max. resistance above which samples are ignored */
int (*get_pendown_state)(void);
void (*clear_penirq)(void); /* If needed, clear 2nd level