diff options
-rw-r--r-- | drivers/input/touchscreen/tsc2007.c | 4 | ||||
-rw-r--r-- | include/linux/i2c/tsc2007.h | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/input/touchscreen/tsc2007.c b/drivers/input/touchscreen/tsc2007.c index df4ae354969d..8c48a91a6783 100644 --- a/drivers/input/touchscreen/tsc2007.c +++ b/drivers/input/touchscreen/tsc2007.c | |||
@@ -75,6 +75,7 @@ struct tsc2007 { | |||
75 | 75 | ||
76 | u16 model; | 76 | u16 model; |
77 | u16 x_plate_ohms; | 77 | u16 x_plate_ohms; |
78 | u16 max_rt; | ||
78 | 79 | ||
79 | bool pendown; | 80 | bool pendown; |
80 | int irq; | 81 | int irq; |
@@ -185,7 +186,7 @@ static void tsc2007_work(struct work_struct *work) | |||
185 | tsc2007_read_values(ts, &tc); | 186 | tsc2007_read_values(ts, &tc); |
186 | 187 | ||
187 | rt = tsc2007_calculate_pressure(ts, &tc); | 188 | rt = tsc2007_calculate_pressure(ts, &tc); |
188 | if (rt > MAX_12BIT) { | 189 | if (rt > ts->max_rt) { |
189 | /* | 190 | /* |
190 | * Sample found inconsistent by debouncing or pressure is | 191 | * Sample found inconsistent by debouncing or pressure is |
191 | * beyond the maximum. Don't report it to user space, | 192 | * beyond the maximum. Don't report it to user space, |
@@ -294,6 +295,7 @@ static int __devinit tsc2007_probe(struct i2c_client *client, | |||
294 | 295 | ||
295 | ts->model = pdata->model; | 296 | ts->model = pdata->model; |
296 | ts->x_plate_ohms = pdata->x_plate_ohms; | 297 | ts->x_plate_ohms = pdata->x_plate_ohms; |
298 | ts->max_rt = pdata->max_rt ? : MAX_12BIT; | ||
297 | ts->get_pendown_state = pdata->get_pendown_state; | 299 | ts->get_pendown_state = pdata->get_pendown_state; |
298 | ts->clear_penirq = pdata->clear_penirq; | 300 | ts->clear_penirq = pdata->clear_penirq; |
299 | 301 | ||
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 @@ | |||
6 | struct tsc2007_platform_data { | 6 | struct tsc2007_platform_data { |
7 | u16 model; /* 2007. */ | 7 | u16 model; /* 2007. */ |
8 | u16 x_plate_ohms; | 8 | u16 x_plate_ohms; |
9 | u16 max_rt; /* max. resistance above which samples are ignored */ | ||
9 | 10 | ||
10 | int (*get_pendown_state)(void); | 11 | int (*get_pendown_state)(void); |
11 | void (*clear_penirq)(void); /* If needed, clear 2nd level | 12 | void (*clear_penirq)(void); /* If needed, clear 2nd level |