diff options
author | Kevin Cernekee <cernekee@gmail.com> | 2014-11-07 01:44:20 -0500 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2014-11-08 23:02:10 -0500 |
commit | 05f1275745f11c48760c8b6a58751d5bd1a8c0d8 (patch) | |
tree | 726cfb4a7bc04c1c003f53dcd8033219e5aad8d7 | |
parent | b79055952badbd73710685643bab44104f2509ea (diff) |
irqchip: brcmstb-l2: Eliminate dependency on ARM code
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@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Link: https://lkml.kernel.org/r/1415342669-30640-6-git-send-email-cernekee@gmail.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r-- | drivers/irqchip/irq-brcmstb-l2.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/irqchip/irq-brcmstb-l2.c b/drivers/irqchip/irq-brcmstb-l2.c index c15c840987d2..c9bdf2087c2a 100644 --- a/drivers/irqchip/irq-brcmstb-l2.c +++ b/drivers/irqchip/irq-brcmstb-l2.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/slab.h> | 19 | #include <linux/slab.h> |
20 | #include <linux/module.h> | 20 | #include <linux/module.h> |
21 | #include <linux/platform_device.h> | 21 | #include <linux/platform_device.h> |
22 | #include <linux/spinlock.h> | ||
22 | #include <linux/of.h> | 23 | #include <linux/of.h> |
23 | #include <linux/of_irq.h> | 24 | #include <linux/of_irq.h> |
24 | #include <linux/of_address.h> | 25 | #include <linux/of_address.h> |
@@ -30,8 +31,6 @@ | |||
30 | #include <linux/irqchip.h> | 31 | #include <linux/irqchip.h> |
31 | #include <linux/irqchip/chained_irq.h> | 32 | #include <linux/irqchip/chained_irq.h> |
32 | 33 | ||
33 | #include <asm/mach/irq.h> | ||
34 | |||
35 | #include "irqchip.h" | 34 | #include "irqchip.h" |
36 | 35 | ||
37 | /* Register offsets in the L2 interrupt controller */ | 36 | /* 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) | |||
63 | ~(__raw_readl(b->base + CPU_MASK_STATUS)); | 62 | ~(__raw_readl(b->base + CPU_MASK_STATUS)); |
64 | 63 | ||
65 | if (status == 0) { | 64 | if (status == 0) { |
66 | do_bad_IRQ(irq, desc); | 65 | raw_spin_lock(&desc->lock); |
66 | handle_bad_irq(irq, desc); | ||
67 | raw_spin_unlock(&desc->lock); | ||
67 | goto out; | 68 | goto out; |
68 | } | 69 | } |
69 | 70 | ||