summaryrefslogtreecommitdiffstats
path: root/drivers/input/touchscreen
diff options
context:
space:
mode:
authorDave Gerlach <d-gerlach@ti.com>2016-01-07 11:13:34 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2016-01-07 17:26:22 -0800
commit3b7474ec0d7150044f91e3af460067f79d466522 (patch)
treee96a4d011d3548d1e10d79d4ba2d53d5988b68ce /drivers/input/touchscreen
parent7ae6cfe8d24681bea5a4a4b7a04915ac08c09ba5 (diff)
downloadlinux-3b7474ec0d7150044f91e3af460067f79d466522.tar.gz
linux-3b7474ec0d7150044f91e3af460067f79d466522.tar.bz2
linux-3b7474ec0d7150044f91e3af460067f79d466522.zip
Input: ti_am335x_tsc - fix HWPEN interrupt handling
Remove write to REG_IRQCLR and REG_IRQWAKEUP in interrupt handler for IRQENB_HW_PEN as the resume handler should and does clear REG_IRQWAKEUP. IRQENB_HW_PEN bit is set in irqclr so that all interrupts get cleared later so let IRQENB_HW_PEN be cleared by that. Without this patch wakeup events from TSC_ADC do not work because pending interrupts in TSC_ADC were causing HW_PEN interrupt, needed for wake from suspend modes, to get disabled immediately by IRQ handler after being enabled and preventing wake from happening. Signed-off-by: Dave Gerlach <d-gerlach@ti.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/touchscreen')
-rw-r--r--drivers/input/touchscreen/ti_am335x_tsc.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/input/touchscreen/ti_am335x_tsc.c b/drivers/input/touchscreen/ti_am335x_tsc.c
index 191a1b87895f..a21a07c3ab6d 100644
--- a/drivers/input/touchscreen/ti_am335x_tsc.c
+++ b/drivers/input/touchscreen/ti_am335x_tsc.c
@@ -273,8 +273,6 @@ static irqreturn_t titsc_irq(int irq, void *dev)
status = titsc_readl(ts_dev, REG_RAWIRQSTATUS);
if (status & IRQENB_HW_PEN) {
ts_dev->pen_down = true;
- titsc_writel(ts_dev, REG_IRQWAKEUP, 0x00);
- titsc_writel(ts_dev, REG_IRQCLR, IRQENB_HW_PEN);
irqclr |= IRQENB_HW_PEN;
}