irqchip: bcm7120-l2: Make sure all register accesses use base+offset
authorKevin Cernekee <cernekee@gmail.com>
Fri, 7 Nov 2014 06:44:23 +0000 (22:44 -0800)
committerJason Cooper <jason@lakedaemon.net>
Sun, 9 Nov 2014 04:02:45 +0000 (04:02 +0000)
A couple of accesses to IRQEN (base+0x00) just used "base" directly, so
they would break if IRQEN ever became nonzero.  Make sure that all
reads/writes specify the register offset constant.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lkml.kernel.org/r/1415342669-30640-9-git-send-email-cernekee@gmail.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
drivers/irqchip/irq-bcm7120-l2.c

index 7086fe0..22d3fa1 100644 (file)
@@ -66,10 +66,10 @@ static void bcm7120_l2_intc_suspend(struct irq_data *d)
 
        irq_gc_lock(gc);
        /* Save the current mask and the interrupt forward mask */
-       b->saved_mask = __raw_readl(b->base) | b->irq_fwd_mask;
+       b->saved_mask = __raw_readl(b->base + IRQEN) | b->irq_fwd_mask;
        if (b->can_wake) {
                reg = b->saved_mask | gc->wake_active;
-               __raw_writel(reg, b->base);
+               __raw_writel(reg, b->base + IRQEN);
        }
        irq_gc_unlock(gc);
 }
@@ -81,7 +81,7 @@ static void bcm7120_l2_intc_resume(struct irq_data *d)
 
        /* Restore the saved mask */
        irq_gc_lock(gc);
-       __raw_writel(b->saved_mask, b->base);
+       __raw_writel(b->saved_mask, b->base + IRQEN);
        irq_gc_unlock(gc);
 }