aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2016-05-31 17:05:27 -0400
committerJason Cooper <jason@lakedaemon.net>2016-06-04 10:16:59 -0400
commitd7e3528eed85b51ddca2f281d2d4e7d687f28d60 (patch)
treef71a13c994779813c37b604e85219dd87da08d47
parent1a695a905c18548062509178b98bc91e67510864 (diff)
irqchip: bcm2835: Avoid arch/arm-specific handle_IRQ
With commit 76ba59f8366f genirq: Add irq_domain-aware core IRQ handler architecture-specific irq handlers are no longer necessary. Update the bcm2835 irq driver to use the core irq handler. As a bonus, this allows the driver to support arm64 as well. Signed-off-by: Eric Anholt <eric@anholt.net> Acked-by: Stephen Warren <swarren@wwwdotorg.org> Link: https://lkml.kernel.org/r/1464728727-16300-1-git-send-email-eric@anholt.net [jac reworded commit message for clarity] Signed-off-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r--drivers/irqchip/irq-bcm2835.c3
-rw-r--r--drivers/irqchip/irq-bcm2836.c2
2 files changed, 2 insertions, 3 deletions
diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c
index bf9cc5f2e839..44d7c38dde47 100644
--- a/drivers/irqchip/irq-bcm2835.c
+++ b/drivers/irqchip/irq-bcm2835.c
@@ -52,7 +52,6 @@
52#include <linux/irqdomain.h> 52#include <linux/irqdomain.h>
53 53
54#include <asm/exception.h> 54#include <asm/exception.h>
55#include <asm/mach/irq.h>
56 55
57/* Put the bank and irq (32 bits) into the hwirq */ 56/* Put the bank and irq (32 bits) into the hwirq */
58#define MAKE_HWIRQ(b, n) ((b << 5) | (n)) 57#define MAKE_HWIRQ(b, n) ((b << 5) | (n))
@@ -242,7 +241,7 @@ static void __exception_irq_entry bcm2835_handle_irq(
242 u32 hwirq; 241 u32 hwirq;
243 242
244 while ((hwirq = get_next_armctrl_hwirq()) != ~0) 243 while ((hwirq = get_next_armctrl_hwirq()) != ~0)
245 handle_IRQ(irq_linear_revmap(intc.domain, hwirq), regs); 244 handle_domain_irq(intc.domain, hwirq, regs);
246} 245}
247 246
248static void bcm2836_chained_handle_irq(struct irq_desc *desc) 247static void bcm2836_chained_handle_irq(struct irq_desc *desc)
diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c
index 72ff1d5c5de6..27875982657e 100644
--- a/drivers/irqchip/irq-bcm2836.c
+++ b/drivers/irqchip/irq-bcm2836.c
@@ -180,7 +180,7 @@ __exception_irq_entry bcm2836_arm_irqchip_handle_irq(struct pt_regs *regs)
180 } else if (stat) { 180 } else if (stat) {
181 u32 hwirq = ffs(stat) - 1; 181 u32 hwirq = ffs(stat) - 1;
182 182
183 handle_IRQ(irq_linear_revmap(intc.domain, hwirq), regs); 183 handle_domain_irq(intc.domain, hwirq, regs);
184 } 184 }
185} 185}
186 186