Commit de7e6976 authored by Imre Deak's avatar Imre Deak Committed by Tony Lindgren

input: ads7846: can't disable filtering

When filtering is disabled the driver will ignore all samples and
never detect the pen up event.
Signed-off-by: default avatarImre Deak <imre.deak@nokia.com>
parent 467e1559
...@@ -472,7 +472,8 @@ static void ads7846_debounce(void *ads) ...@@ -472,7 +472,8 @@ static void ads7846_debounce(void *ads)
m = &ts->msg[ts->msg_idx]; m = &ts->msg[ts->msg_idx];
t = list_entry(m->transfers.prev, struct spi_transfer, transfer_list); t = list_entry(m->transfers.prev, struct spi_transfer, transfer_list);
val = (be16_to_cpu(*(__be16 *)t->rx_buf) >> 3) & 0x0fff; val = (be16_to_cpu(*(__be16 *)t->rx_buf) >> 3) & 0x0fff;
if (!ts->read_cnt || (abs(ts->last_read - val) > ts->debounce_tol)) { if (ts->debounce_max && (
!ts->read_cnt || (abs(ts->last_read - val) > ts->debounce_tol))) {
/* Repeat it, if this was the first read or the read /* Repeat it, if this was the first read or the read
* wasn't consistent enough. */ * wasn't consistent enough. */
if (ts->read_cnt < ts->debounce_max) { if (ts->read_cnt < ts->debounce_max) {
...@@ -702,14 +703,9 @@ static int __devinit ads7846_probe(struct spi_device *spi) ...@@ -702,14 +703,9 @@ static int __devinit ads7846_probe(struct spi_device *spi)
ts->vref_delay_usecs = pdata->vref_delay_usecs ? : 100; ts->vref_delay_usecs = pdata->vref_delay_usecs ? : 100;
ts->x_plate_ohms = pdata->x_plate_ohms ? : 400; ts->x_plate_ohms = pdata->x_plate_ohms ? : 400;
ts->pressure_max = pdata->pressure_max ? : ~0; ts->pressure_max = pdata->pressure_max ? : ~0;
if (pdata->debounce_max) {
ts->debounce_max = pdata->debounce_max; ts->debounce_max = pdata->debounce_max;
ts->debounce_tol = pdata->debounce_tol; ts->debounce_tol = pdata->debounce_tol;
ts->debounce_rep = pdata->debounce_rep; ts->debounce_rep = pdata->debounce_rep;
if (ts->debounce_rep > ts->debounce_max + 1)
ts->debounce_rep = ts->debounce_max - 1;
} else
ts->debounce_tol = ~0;
ts->get_pendown_state = pdata->get_pendown_state; ts->get_pendown_state = pdata->get_pendown_state;
snprintf(ts->phys, sizeof(ts->phys), "%s/input0", spi->dev.bus_id); snprintf(ts->phys, sizeof(ts->phys), "%s/input0", spi->dev.bus_id);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment