diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2013-01-14 13:39:31 +0100 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2013-03-26 17:02:23 +0100 |
commit | e851b58cb77b47a5c14267723bd6b76655d21840 (patch) | |
tree | 19fbccd2ee863b6739947fa748e623afebf386c1 /arch/arm64/kernel/irq.c | |
parent | arm64: psci: Use the MPIDR values from cpu_logical_map for cpu ids. (diff) | |
download | linux-e851b58cb77b47a5c14267723bd6b76655d21840.tar.xz linux-e851b58cb77b47a5c14267723bd6b76655d21840.zip |
arm64: Use irqchip_init() for interrupt controller initialisation
This patch uses the generic irqchip_init() function for initialising the
interrupt controller on arm64. It also adds several definitions required
by the ARM GIC irqchip driver but does not enable ARM_GIC yet.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
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 0373c6609eaf..ecb3354292ed 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."); } |