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 |
