diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2013-06-05 10:30:00 -0400 |
---|---|---|
committer | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2013-06-12 12:50:23 -0400 |
commit | 9a28b8834c55f7315fb1a7c487f836472fd37bf9 (patch) | |
tree | 88fb309f62d3aea502d18e992968f8d7e5818213 /drivers/input | |
parent | 00789e5deb0af08826bd0c602d21baa9016b54b5 (diff) |
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.c | 10 |
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) | |||
314 | titsc_writel(ts_dev, REG_IRQCLR, IRQENB_HW_PEN); | 314 | titsc_writel(ts_dev, REG_IRQCLR, IRQENB_HW_PEN); |
315 | } | 315 | } |
316 | 316 | ||
317 | titsc_writel(ts_dev, REG_IRQSTATUS, irqclr); | 317 | if (irqclr) { |
318 | 318 | titsc_writel(ts_dev, REG_IRQSTATUS, irqclr); | |
319 | am335x_tsc_se_update(ts_dev->mfd_tscadc); | 319 | am335x_tsc_se_update(ts_dev->mfd_tscadc); |
320 | return IRQ_HANDLED; | 320 | return IRQ_HANDLED; |
321 | } | ||
322 | return IRQ_NONE; | ||
321 | } | 323 | } |
322 | 324 | ||
323 | static int titsc_parse_dt(struct platform_device *pdev, | 325 | static int titsc_parse_dt(struct platform_device *pdev, |