On Wed, Aug 28, 2013 at 12:42:11PM +0200, Sebastian Andrzej Siewior wrote:
* Zubair Lutfullah | 2013-08-25 23:45:23 [+0100]:
quoted
diff --git a/drivers/input/touchscreen/ti_am335x_tsc.c b/drivers/input/touchscreen/ti_am335x_tsc.c
index e1c5300..4124e580 100644
--- a/drivers/input/touchscreen/ti_am335x_tsc.c
+++ b/drivers/input/touchscreen/ti_am335x_tsc.c
@@ -315,11 +321,17 @@ static irqreturn_t titsc_irq(int irq, void *dev)
...
quoted
+ /* If any IRQ flags left, return none. So ADC can handle its IRQs */
+ status = titsc_readl(ts_dev, REG_IRQSTATUS);
+ if (status == false)
+ return IRQ_HANDLED;
+ else
+ return IRQ_NONE;
If I understand this correctly you return IRQ_NONE the TSC interrupt has
been handled and no ADC interrupt is outstanding.
Its actually the opposite. TSC handler checks if there are any ADC IRQ flags
outstanding.
If there is no outstanding, then IRQ_HANDLED is returned.
If there is ADC IRQ outstanding, then IRQ_NONE is returned.
ZubairLK