Merge tag 'hsi-for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi
[linux-2.6-block.git] / drivers / irqchip / irq-atmel-aic5.c
index 62bb840c613f2a660966333f858426af5ab3d93e..4f0d068e1abec2bc068b5a2185bef0fd6df729ff 100644 (file)
@@ -272,9 +272,8 @@ static int aic5_irq_domain_xlate(struct irq_domain *d,
        irq_gc_lock(bgc);
        irq_reg_writel(bgc, *out_hwirq, AT91_AIC5_SSR);
        smr = irq_reg_readl(bgc, AT91_AIC5_SMR);
-       ret = aic_common_set_priority(intspec[2], &smr);
-       if (!ret)
-               irq_reg_writel(bgc, intspec[2] | smr, AT91_AIC5_SMR);
+       aic_common_set_priority(intspec[2], &smr);
+       irq_reg_writel(bgc, smr, AT91_AIC5_SMR);
        irq_gc_unlock(bgc);
 
        return ret;
@@ -312,12 +311,10 @@ static int __init aic5_of_init(struct device_node *node,
                return -EEXIST;
 
        domain = aic_common_of_init(node, &aic5_irq_ops, "atmel-aic5",
-                                   nirqs);
+                                   nirqs, aic5_irq_fixups);
        if (IS_ERR(domain))
                return PTR_ERR(domain);
 
-       aic_common_irq_fixup(aic5_irq_fixups);
-
        aic5_domain = domain;
        nchips = aic5_domain->revmap_size / 32;
        for (i = 0; i < nchips; i++) {