On 10/28/2014 08:58 PM, Kevin Cernekee wrote: > The irq-brcmstb-l2 driver has a single dependency on the ARM code, the > do_bad_IRQ macro. Expand this macro in-place so that the driver can be > built on non-ARM platforms. > > Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> > --- > drivers/irqchip/irq-brcmstb-l2.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/irqchip/irq-brcmstb-l2.c b/drivers/irqchip/irq-brcmstb-l2.c > index c15c840..c9bdf20 100644 > --- a/drivers/irqchip/irq-brcmstb-l2.c > +++ b/drivers/irqchip/irq-brcmstb-l2.c > @@ -19,6 +19,7 @@ > #include <linux/slab.h> > #include <linux/module.h> > #include <linux/platform_device.h> > +#include <linux/spinlock.h> > #include <linux/of.h> > #include <linux/of_irq.h> > #include <linux/of_address.h> > @@ -30,8 +31,6 @@ > #include <linux/irqchip.h> > #include <linux/irqchip/chained_irq.h> > > -#include <asm/mach/irq.h> > - > #include "irqchip.h" > > /* Register offsets in the L2 interrupt controller */ > @@ -63,7 +62,9 @@ static void brcmstb_l2_intc_irq_handle(unsigned int irq, struct irq_desc *desc) > ~(__raw_readl(b->base + CPU_MASK_STATUS)); > > if (status == 0) { > - do_bad_IRQ(irq, desc); > + raw_spin_lock(&desc->lock); > + handle_bad_irq(irq, desc); > + raw_spin_unlock(&desc->lock); > goto out; > } > >