diff options
Diffstat (limited to 'arch/arm64/kernel/irq.c')
| -rw-r--r-- | arch/arm64/kernel/irq.c | 19 | 
1 files changed, 9 insertions, 10 deletions
diff --git a/arch/arm64/kernel/irq.c b/arch/arm64/kernel/irq.c index 0373c6609ea..ecb3354292e 100644 --- a/arch/arm64/kernel/irq.c +++ b/arch/arm64/kernel/irq.c @@ -25,7 +25,7 @@  #include <linux/irq.h>  #include <linux/smp.h>  #include <linux/init.h> -#include <linux/of_irq.h> +#include <linux/irqchip.h>  #include <linux/seq_file.h>  #include <linux/ratelimit.h> @@ -67,18 +67,17 @@ void handle_IRQ(unsigned int irq, struct pt_regs *regs)  	set_irq_regs(old_regs);  } -/* - * Interrupt controllers supported by the kernel. - */ -static const struct of_device_id intctrl_of_match[] __initconst = { -	/* IRQ controllers { .compatible, .data } info to go here */ -	{} -}; +void __init set_handle_irq(void (*handle_irq)(struct pt_regs *)) +{ +	if (handle_arch_irq) +		return; + +	handle_arch_irq = handle_irq; +}  void __init init_IRQ(void)  { -	of_irq_init(intctrl_of_match); - +	irqchip_init();  	if (!handle_arch_irq)  		panic("No interrupt controller found.");  }  |