Commit 953c7d02 authored by Mark Brown's avatar Mark Brown Committed by Samuel Ortiz

mfd: Still check other interrupts if we get a wm831x touchscreen IRQ

It is possible that we will see another interrupt triggering at the same
time as the touchscreen interrupts so it's still worth checking other
possible sources. Almost all of the win from the fast path comes from only
needing to read the primary register and saving the I/O costs.
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent e3380333
...@@ -472,8 +472,7 @@ static irqreturn_t wm831x_irq_thread(int irq, void *data) ...@@ -472,8 +472,7 @@ static irqreturn_t wm831x_irq_thread(int irq, void *data)
handle_nested_irq(wm831x->irq_base + WM831X_IRQ_TCHPD); handle_nested_irq(wm831x->irq_base + WM831X_IRQ_TCHPD);
if (primary & WM831X_TCHDATA_INT) if (primary & WM831X_TCHDATA_INT)
handle_nested_irq(wm831x->irq_base + WM831X_IRQ_TCHDATA); handle_nested_irq(wm831x->irq_base + WM831X_IRQ_TCHDATA);
if (primary & (WM831X_TCHDATA_EINT | WM831X_TCHPD_EINT)) primary &= ~(WM831X_TCHDATA_EINT | WM831X_TCHPD_EINT);
goto out;
for (i = 0; i < ARRAY_SIZE(wm831x_irqs); i++) { for (i = 0; i < ARRAY_SIZE(wm831x_irqs); i++) {
int offset = wm831x_irqs[i].reg - 1; int offset = wm831x_irqs[i].reg - 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment