In preparation for moving the JZ4740 interrupt controller driver to drivers/irqchip, move arch_init_irq into setup.c such that everything remaining in irq.c is related to said JZ4740 interrupt controller. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> --- Changes in v3: - Rebase. Changes in v2: - None. --- arch/mips/include/asm/mach-jz4740/irq.h | 2 ++ arch/mips/jz4740/irq.c | 5 +---- arch/mips/jz4740/setup.c | 8 ++++++++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/arch/mips/include/asm/mach-jz4740/irq.h b/arch/mips/include/asm/mach-jz4740/irq.h index df50736..5ce4302 100644 --- a/arch/mips/include/asm/mach-jz4740/irq.h +++ b/arch/mips/include/asm/mach-jz4740/irq.h @@ -54,4 +54,6 @@ #define NR_IRQS (JZ4740_IRQ_ADC_BASE + 6) +extern void __init jz4740_intc_init(void); + #endif diff --git a/arch/mips/jz4740/irq.c b/arch/mips/jz4740/irq.c index a2452bb..bac1f52 100644 --- a/arch/mips/jz4740/irq.c +++ b/arch/mips/jz4740/irq.c @@ -18,7 +18,6 @@ #include <linux/types.h> #include <linux/interrupt.h> #include <linux/ioport.h> -#include <linux/irqchip.h> #include <linux/timex.h> #include <linux/slab.h> #include <linux/delay.h> @@ -78,13 +77,11 @@ static struct irqaction jz4740_cascade_action = { .name = "JZ4740 cascade interrupt", }; -void __init arch_init_irq(void) +void __init jz4740_intc_init(void) { struct irq_chip_generic *gc; struct irq_chip_type *ct; - irqchip_init(); - jz_intc_base = ioremap(JZ4740_INTC_BASE_ADDR, 0x14); /* Mask all irqs */ diff --git a/arch/mips/jz4740/setup.c b/arch/mips/jz4740/setup.c index d6bb7a3..4808730 100644 --- a/arch/mips/jz4740/setup.c +++ b/arch/mips/jz4740/setup.c @@ -16,6 +16,7 @@ #include <linux/init.h> #include <linux/io.h> +#include <linux/irqchip.h> #include <linux/kernel.h> #include <linux/of_fdt.h> #include <linux/of_platform.h> @@ -24,6 +25,7 @@ #include <asm/prom.h> #include <asm/mach-jz4740/base.h> +#include <asm/mach-jz4740/irq.h> #include "reset.h" @@ -78,3 +80,9 @@ const char *get_system_type(void) { return "JZ4740"; } + +void __init arch_init_irq(void) +{ + irqchip_init(); + jz4740_intc_init(); +} -- 2.3.5