aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2011-03-17 01:11:14 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2011-03-17 02:29:16 -0400
commitdacb650f125c7dc7ead9735d081bc078325b6d23 (patch)
treec26f9d00bb7c75bc8c820d5f65af1b7a4b947233 /drivers/input
parent80cc2f0c928ddf58051f2809e1c2e7d0172d0291 (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.c14
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
228static 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
239static irqreturn_t tsc2005_irq_thread(int irq, void *_ts) 228static 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);