diff options
author | Eric Anholt <eric@anholt.net> | 2016-05-31 17:05:27 -0400 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2016-06-04 10:16:59 -0400 |
commit | d7e3528eed85b51ddca2f281d2d4e7d687f28d60 (patch) | |
tree | f71a13c994779813c37b604e85219dd87da08d47 | |
parent | 1a695a905c18548062509178b98bc91e67510864 (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.c | 3 | ||||
-rw-r--r-- | drivers/irqchip/irq-bcm2836.c | 2 |
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 | ||
248 | static void bcm2836_chained_handle_irq(struct irq_desc *desc) | 247 | static 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 | ||