input: ti_am335x_tsc: ACK the HW_PEN irq in ISR
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Wed, 5 Jun 2013 14:23:18 +0000 (16:23 +0200)
committerSebastian Andrzej Siewior <bigeasy@linutronix.de>
Wed, 12 Jun 2013 16:50:22 +0000 (18:50 +0200)
The interrupt source IRQENB_HW_PEN is enabled in suspend and suposed to
be used as a wake up source. Once this interrupt source is unmaksed, the
devices ends up in ISR and never continues.
This change ACKs the interrupt and disables it so the system does not
freeze.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
drivers/input/touchscreen/ti_am335x_tsc.c

index 1bceb2591fc7d99f6c857a6aa50c0236f09200ea..2ba77039ab919a09ecfa2f873697b3d3fceb2089 100644 (file)
@@ -308,6 +308,12 @@ static irqreturn_t titsc_irq(int irq, void *dev)
                irqclr |= IRQENB_PENUP;
        }
 
+       if (status & IRQENB_HW_PEN) {
+
+               titsc_writel(ts_dev, REG_IRQWAKEUP, 0x00);
+               titsc_writel(ts_dev, REG_IRQCLR, IRQENB_HW_PEN);
+       }
+
        titsc_writel(ts_dev, REG_IRQSTATUS, irqclr);
 
        am335x_tsc_se_update(ts_dev->mfd_tscadc);
This page took 0.025611 seconds and 5 git commands to generate.