|
|
@@ -0,0 +1,37 @@
|
|
|
+From 29af30435022442ec4eccf3166956b8e0b8a2134 Mon Sep 17 00:00:00 2001
|
|
|
+From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <[email protected]>
|
|
|
+Date: Mon, 5 Sep 2022 23:13:47 +0200
|
|
|
+Subject: [PATCH] gpio: mpc8xxx: Fix support for IRQ_TYPE_LEVEL_LOW flow_type
|
|
|
+ in mpc85xx
|
|
|
+MIME-Version: 1.0
|
|
|
+Content-Type: text/plain; charset=UTF-8
|
|
|
+Content-Transfer-Encoding: 8bit
|
|
|
+
|
|
|
+Commit e39d5ef67804 ("powerpc/5xxx: extend mpc8xxx_gpio driver to support
|
|
|
+mpc512x gpios") implemented support for IRQ_TYPE_LEVEL_LOW flow type in
|
|
|
+mpc512x via falling edge type. Do same for mpc85xx which support was added
|
|
|
+in commit 345e5c8a1cc3 ("powerpc: Add interrupt support to mpc8xxx_gpio").
|
|
|
+
|
|
|
+Fixes probing of lm90 hwmon driver on mpc85xx based board which use level
|
|
|
+interrupt. Without it kernel prints error and refuse lm90 to work:
|
|
|
+
|
|
|
+ [ 15.258370] genirq: Setting trigger mode 8 for irq 49 failed (mpc8xxx_irq_set_type+0x0/0xf8)
|
|
|
+ [ 15.267168] lm90 0-004c: cannot request IRQ 49
|
|
|
+ [ 15.272708] lm90: probe of 0-004c failed with error -22
|
|
|
+
|
|
|
+Fixes: 345e5c8a1cc3 ("powerpc: Add interrupt support to mpc8xxx_gpio")
|
|
|
+Signed-off-by: Pali Rohár <[email protected]>
|
|
|
+---
|
|
|
+ drivers/gpio/gpio-mpc8xxx.c | 1 +
|
|
|
+ 1 file changed, 1 insertion(+)
|
|
|
+
|
|
|
+--- a/drivers/gpio/gpio-mpc8xxx.c
|
|
|
++++ b/drivers/gpio/gpio-mpc8xxx.c
|
|
|
+@@ -169,6 +169,7 @@ static int mpc8xxx_irq_set_type(struct i
|
|
|
+
|
|
|
+ switch (flow_type) {
|
|
|
+ case IRQ_TYPE_EDGE_FALLING:
|
|
|
++ case IRQ_TYPE_LEVEL_LOW:
|
|
|
+ raw_spin_lock_irqsave(&mpc8xxx_gc->lock, flags);
|
|
|
+ gc->write_reg(mpc8xxx_gc->regs + GPIO_ICR,
|
|
|
+ gc->read_reg(mpc8xxx_gc->regs + GPIO_ICR)
|