Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Eric Anholt and committed by
Jason Cooper
d7e3528e 1a695a90

+2 -3
+1 -2
drivers/irqchip/irq-bcm2835.c
··· 52 52 #include <linux/irqdomain.h> 53 53 54 54 #include <asm/exception.h> 55 - #include <asm/mach/irq.h> 56 55 57 56 /* Put the bank and irq (32 bits) into the hwirq */ 58 57 #define MAKE_HWIRQ(b, n) ((b << 5) | (n)) ··· 241 242 u32 hwirq; 242 243 243 244 while ((hwirq = get_next_armctrl_hwirq()) != ~0) 244 - handle_IRQ(irq_linear_revmap(intc.domain, hwirq), regs); 245 + handle_domain_irq(intc.domain, hwirq, regs); 245 246 } 246 247 247 248 static void bcm2836_chained_handle_irq(struct irq_desc *desc)
+1 -1
drivers/irqchip/irq-bcm2836.c
··· 180 180 } else if (stat) { 181 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