summaryrefslogtreecommitdiff
path: root/drivers/irqchip
diff options
context:
space:
mode:
authorSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>2014-01-23 22:38:04 (GMT)
committerJiri Slaby <jslaby@suse.cz>2014-03-05 16:13:52 (GMT)
commitdd14a330306a608820bb7eb4983443e6145483c7 (patch)
treeacc5feedb15089f723ea0684c53a03e0b697a9ad /drivers/irqchip
parentde77ab8e1e55506d0e8759a13416935f5d0c8bc6 (diff)
downloadlinux-fsl-qoriq-dd14a330306a608820bb7eb4983443e6145483c7.tar.xz
irqchip: orion: clear bridge cause register on init
commit 7b119fd1bdc59a8060df5b659b9f7a70e0169fd6 upstream. 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> Signed-off-by: Jason Cooper <jason@lakedaemon.net> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'drivers/irqchip')
-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 e51d400..4137c3d 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);