summaryrefslogtreecommitdiffstats
path: root/drivers/input
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2013-06-05 16:30:00 +0200
committerSebastian Andrzej Siewior <bigeasy@linutronix.de>2013-06-12 18:50:23 +0200
commit9a28b8834c55f7315fb1a7c487f836472fd37bf9 (patch)
tree88fb309f62d3aea502d18e992968f8d7e5818213 /drivers/input
parentinput: ti_am335x_tsc: ACK the HW_PEN irq in ISR (diff)
downloadlinux-9a28b8834c55f7315fb1a7c487f836472fd37bf9.tar.xz
linux-9a28b8834c55f7315fb1a7c487f836472fd37bf9.zip
input: ti_am335x_tsc: return IRQ_NONE if there was no IRQ for us
The previous patch ("input/ti_am335x_tsc: ACK the HW_PEN irq in ISR") acked the interrupt so we don't freeze if we don't handle an enabled interrupt source. The interrupt core has a mechanism for this and to get it work one should only say that it handled an interrupt if it is actually the case. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/touchscreen/ti_am335x_tsc.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/input/touchscreen/ti_am335x_tsc.c b/drivers/input/touchscreen/ti_am335x_tsc.c
index 2ba77039ab91..0e9f02aeae6b 100644
--- a/drivers/input/touchscreen/ti_am335x_tsc.c
+++ b/drivers/input/touchscreen/ti_am335x_tsc.c
@@ -314,10 +314,12 @@ static irqreturn_t titsc_irq(int irq, void *dev)
titsc_writel(ts_dev, REG_IRQCLR, IRQENB_HW_PEN);
}
- titsc_writel(ts_dev, REG_IRQSTATUS, irqclr);
-
- am335x_tsc_se_update(ts_dev->mfd_tscadc);
- return IRQ_HANDLED;
+ if (irqclr) {
+ titsc_writel(ts_dev, REG_IRQSTATUS, irqclr);
+ am335x_tsc_se_update(ts_dev->mfd_tscadc);
+ return IRQ_HANDLED;
+ }
+ return IRQ_NONE;
}
static int titsc_parse_dt(struct platform_device *pdev,