diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2011-03-17 01:11:14 -0400 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2011-03-17 02:29:16 -0400 |
commit | dacb650f125c7dc7ead9735d081bc078325b6d23 (patch) | |
tree | c26f9d00bb7c75bc8c820d5f65af1b7a4b947233 /drivers/input | |
parent | 80cc2f0c928ddf58051f2809e1c2e7d0172d0291 (diff) |
Input: tsc2005 - do not rearm timer in hardirq handler
We will most likely rearm it yet again the IRQ thread so doing it here
is pointless.
Tested-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input')
-rw-r--r-- | drivers/input/touchscreen/tsc2005.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/drivers/input/touchscreen/tsc2005.c b/drivers/input/touchscreen/tsc2005.c index dc309da59fca..7a7653390187 100644 --- a/drivers/input/touchscreen/tsc2005.c +++ b/drivers/input/touchscreen/tsc2005.c | |||
@@ -225,17 +225,6 @@ static void tsc2005_update_pen_state(struct tsc2005 *ts, | |||
225 | pressure); | 225 | pressure); |
226 | } | 226 | } |
227 | 227 | ||
228 | static irqreturn_t tsc2005_irq_handler(int irq, void *dev_id) | ||
229 | { | ||
230 | struct tsc2005 *ts = dev_id; | ||
231 | |||
232 | /* update the penup timer only if it's pending */ | ||
233 | mod_timer_pending(&ts->penup_timer, | ||
234 | jiffies + msecs_to_jiffies(TSC2005_PENUP_TIME_MS)); | ||
235 | |||
236 | return IRQ_WAKE_THREAD; | ||
237 | } | ||
238 | |||
239 | static irqreturn_t tsc2005_irq_thread(int irq, void *_ts) | 228 | static irqreturn_t tsc2005_irq_thread(int irq, void *_ts) |
240 | { | 229 | { |
241 | struct tsc2005 *ts = _ts; | 230 | struct tsc2005 *ts = _ts; |
@@ -596,8 +585,7 @@ static int __devinit tsc2005_probe(struct spi_device *spi) | |||
596 | input_set_abs_params(input_dev, ABS_Y, 0, max_y, fudge_y, 0); | 585 | input_set_abs_params(input_dev, ABS_Y, 0, max_y, fudge_y, 0); |
597 | input_set_abs_params(input_dev, ABS_PRESSURE, 0, max_p, fudge_p, 0); | 586 | input_set_abs_params(input_dev, ABS_PRESSURE, 0, max_p, fudge_p, 0); |
598 | 587 | ||
599 | error = request_threaded_irq(spi->irq, | 588 | error = request_threaded_irq(spi->irq, NULL, tsc2005_irq_thread, |
600 | tsc2005_irq_handler, tsc2005_irq_thread, | ||
601 | IRQF_TRIGGER_RISING, "tsc2005", ts); | 589 | IRQF_TRIGGER_RISING, "tsc2005", ts); |
602 | if (error) { | 590 | if (error) { |
603 | dev_err(&spi->dev, "Failed to request irq, err: %d\n", error); | 591 | dev_err(&spi->dev, "Failed to request irq, err: %d\n", error); |