diff options
author | Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> | 2014-01-23 17:38:05 -0500 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2014-02-06 13:03:22 -0500 |
commit | 5f40067fc86f0e49329ad4a852c278998ff4394e (patch) | |
tree | 2dc3352f96364a1aed191943b6ae6665793c1c23 /drivers/irqchip | |
parent | 7b119fd1bdc59a8060df5b659b9f7a70e0169fd6 (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.c | 2 |
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; |