aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/irqchip
diff options
context:
space:
mode:
authorSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>2014-01-23 17:38:05 -0500
committerJason Cooper <jason@lakedaemon.net>2014-02-06 13:03:22 -0500
commit5f40067fc86f0e49329ad4a852c278998ff4394e (patch)
tree2dc3352f96364a1aed191943b6ae6665793c1c23 /drivers/irqchip
parent7b119fd1bdc59a8060df5b659b9f7a70e0169fd6 (diff)
irqchip: orion: use handle_edge_irq on bridge irqs
Bridge irqs are edge-triggered, i.e. they get asserted on low-to-high transitions and not on the level of the downstream interrupt line. This replaces handle_level_irq by the more appropriate handle_edge_irq. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Tested-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Cc: <stable@vger.kernel.org>: f56c0738b5c2: "irqchip: orion: clear bridge cause register on init" Cc: <stable@vger.kernel.org> # v3.10+ Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'drivers/irqchip')
-rw-r--r--drivers/irqchip/irq-orion.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/irqchip/irq-orion.c b/drivers/irqchip/irq-orion.c
index 4137c3d15284..1f636f719065 100644
--- a/drivers/irqchip/irq-orion.c
+++ b/drivers/irqchip/irq-orion.c
@@ -143,7 +143,7 @@ static int __init orion_bridge_irq_init(struct device_node *np,
143 } 143 }
144 144
145 ret = irq_alloc_domain_generic_chips(domain, nrirqs, 1, np->name, 145 ret = irq_alloc_domain_generic_chips(domain, nrirqs, 1, np->name,
146 handle_level_irq, clr, 0, IRQ_GC_INIT_MASK_CACHE); 146 handle_edge_irq, clr, 0, IRQ_GC_INIT_MASK_CACHE);
147 if (ret) { 147 if (ret) {
148 pr_err("%s: unable to alloc irq domain gc\n", np->name); 148 pr_err("%s: unable to alloc irq domain gc\n", np->name);
149 return ret; 149 return ret;