diff options
author | Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> | 2014-01-23 23:38:05 +0100 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2014-02-06 18:03:22 +0000 |
commit | 5f40067fc86f0e49329ad4a852c278998ff4394e (patch) | |
tree | 2dc3352f96364a1aed191943b6ae6665793c1c23 | |
parent | 7b119fd1bdc59a8060df5b659b9f7a70e0169fd6 (diff) | |
download | blackbird-op-linux-5f40067fc86f0e49329ad4a852c278998ff4394e.tar.gz blackbird-op-linux-5f40067fc86f0e49329ad4a852c278998ff4394e.zip |
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>
-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, } ret = irq_alloc_domain_generic_chips(domain, nrirqs, 1, np->name, - handle_level_irq, clr, 0, IRQ_GC_INIT_MASK_CACHE); + handle_edge_irq, clr, 0, IRQ_GC_INIT_MASK_CACHE); if (ret) { pr_err("%s: unable to alloc irq domain gc\n", np->name); return ret; |