summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>2014-01-23 23:38:04 +0100
committerJason Cooper <jason@lakedaemon.net>2014-02-06 18:03:08 +0000
commit7b119fd1bdc59a8060df5b659b9f7a70e0169fd6 (patch)
tree67a60f34b3439dd74d7499bdd28c7630a5d13910
parent38dbfb59d1175ef458d006556061adeaa8751b72 (diff)
downloadblackbird-op-linux-7b119fd1bdc59a8060df5b659b9f7a70e0169fd6.tar.gz
blackbird-op-linux-7b119fd1bdc59a8060df5b659b9f7a70e0169fd6.zip
irqchip: orion: clear bridge cause register on init
It is good practice to mask and clear pending irqs on init. We already mask all irqs, so also clear the bridge irq cause register. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Tested-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Cc: <stable@vger.kernel.org> # v3.10+ Signed-off-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r--drivers/irqchip/irq-orion.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/irqchip/irq-orion.c b/drivers/irqchip/irq-orion.c
index e51d40031884..4137c3d15284 100644
--- a/drivers/irqchip/irq-orion.c
+++ b/drivers/irqchip/irq-orion.c
@@ -180,8 +180,9 @@ static int __init orion_bridge_irq_init(struct device_node *np,
gc->chip_types[0].chip.irq_mask = irq_gc_mask_clr_bit;
gc->chip_types[0].chip.irq_unmask = irq_gc_mask_set_bit;
- /* mask all interrupts */
+ /* mask and clear all interrupts */
writel(0, gc->reg_base + ORION_BRIDGE_IRQ_MASK);
+ writel(0, gc->reg_base + ORION_BRIDGE_IRQ_CAUSE);
irq_set_handler_data(irq, domain);
irq_set_chained_handler(irq, orion_bridge_irq_handler);
OpenPOWER on IntegriCloud