gpio-pxa: gpio0 and gpio1 support on dt
authorAndrew Ruder <andrew.ruder@elecsyscorp.com>
Thu, 5 Jun 2014 19:13:23 +0000 (14:13 -0500)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 7 Jul 2014 10:54:28 +0000 (12:54 +0200)
pxa_gpio_probe() has some issues supporting the gpio0 and gpio1
interrupts under device-tree - it never actually sets up the chain
handler to get interrupts on edge detect for GPIO0 and GPIO1.

Signed-off-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-pxa.c

index 52bbda0b5510bd990c282e2014539b94a91ab474..ad3feec0075ed97c54b90f11e84234be9da945d9 100644 (file)
@@ -649,6 +649,11 @@ static int pxa_gpio_probe(struct platform_device *pdev)
                                                 handle_edge_irq);
                        set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
                }
+       } else {
+               if (irq0 > 0)
+                       irq_set_chained_handler(irq0, pxa_gpio_demux_handler);
+               if (irq1 > 0)
+                       irq_set_chained_handler(irq1, pxa_gpio_demux_handler);
        }
 
        irq_set_chained_handler(irq_mux, pxa_gpio_demux_handler);