|
|
@@ -0,0 +1,30 @@
|
|
|
+From 9b84ad676e248a3e3c81db7f5d39e1739b3780aa Mon Sep 17 00:00:00 2001
|
|
|
+From: Christian Lamparter <[email protected]>
|
|
|
+Date: Sat, 15 Jun 2019 16:35:26 +0200
|
|
|
+Subject: [PATCH] powerpc/4xx/uic: clear pending interrupt after irq type/pol
|
|
|
+ change
|
|
|
+
|
|
|
+When testing out gpio-keys with a button, a spurious
|
|
|
+interrupt (and therefore a key press or release event)
|
|
|
+gets triggered as soon as the driver enables the irq
|
|
|
+line for the first time.
|
|
|
+
|
|
|
+This patch clears any potential bogus generated interrupt
|
|
|
+that was caused by the switching of the associated irq's
|
|
|
+type and polarity.
|
|
|
+
|
|
|
+Signed-off-by: Christian Lamparter <[email protected]>
|
|
|
+---
|
|
|
+ arch/powerpc/platforms/4xx/uic.c | 1 +
|
|
|
+ 1 file changed, 1 insertion(+)
|
|
|
+
|
|
|
+--- a/arch/powerpc/platforms/4xx/uic.c
|
|
|
++++ b/arch/powerpc/platforms/4xx/uic.c
|
|
|
+@@ -158,6 +158,7 @@ static int uic_set_irq_type(struct irq_d
|
|
|
+
|
|
|
+ mtdcr(uic->dcrbase + UIC_PR, pr);
|
|
|
+ mtdcr(uic->dcrbase + UIC_TR, tr);
|
|
|
++ mtdcr(uic->dcrbase + UIC_SR, ~mask);
|
|
|
+
|
|
|
+ raw_spin_unlock_irqrestore(&uic->lock, flags);
|
|
|
+
|