diff --git a/[refs] b/[refs] index 1a5c7ead3e64..9c4d63eb405f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4a1a42af0aba011e263098f107a2f45e0de2f279 +refs/heads/master: 84005eb5ea2939d448047fcf6924b3b9b6ed974d diff --git a/trunk/drivers/input/touchscreen/tsc2007.c b/trunk/drivers/input/touchscreen/tsc2007.c index df4ae354969d..8c48a91a6783 100644 --- a/trunk/drivers/input/touchscreen/tsc2007.c +++ b/trunk/drivers/input/touchscreen/tsc2007.c @@ -75,6 +75,7 @@ struct tsc2007 { u16 model; u16 x_plate_ohms; + u16 max_rt; bool pendown; int irq; @@ -185,7 +186,7 @@ static void tsc2007_work(struct work_struct *work) tsc2007_read_values(ts, &tc); rt = tsc2007_calculate_pressure(ts, &tc); - if (rt > MAX_12BIT) { + if (rt > ts->max_rt) { /* * Sample found inconsistent by debouncing or pressure is * beyond the maximum. Don't report it to user space, @@ -294,6 +295,7 @@ static int __devinit tsc2007_probe(struct i2c_client *client, ts->model = pdata->model; ts->x_plate_ohms = pdata->x_plate_ohms; + ts->max_rt = pdata->max_rt ? : MAX_12BIT; ts->get_pendown_state = pdata->get_pendown_state; ts->clear_penirq = pdata->clear_penirq; diff --git a/trunk/include/linux/i2c/tsc2007.h b/trunk/include/linux/i2c/tsc2007.h index c6361fbb7bf9..d95f11347314 100644 --- a/trunk/include/linux/i2c/tsc2007.h +++ b/trunk/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