diff options
author | Paul Burton <paul.burton@imgtec.com> | 2015-05-24 17:11:19 +0200 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2015-06-21 21:52:56 +0200 |
commit | 0e81db8f5b1abd7245e13b585458ea2fb9826bdd (patch) | |
tree | 3431b1ff7ff9b04a3fc26c46f174200401b61add /arch/mips | |
parent | MIPS: JZ4740: use generic plat_irq_dispatch (diff) | |
download | linux-0e81db8f5b1abd7245e13b585458ea2fb9826bdd.tar.xz linux-0e81db8f5b1abd7245e13b585458ea2fb9826bdd.zip |
MIPS: JZ4740: Move arch_init_irq out of arch/mips/jz4740/irq.c
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@imgtec.com>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: Brian Norris <computersforpeace@gmail.com>
Patchwork: https://patchwork.linux-mips.org/patch/10136/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/include/asm/mach-jz4740/irq.h | 2 | ||||
-rw-r--r-- | arch/mips/jz4740/irq.c | 5 | ||||
-rw-r--r-- | 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 df50736749c1..5ce430218e42 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 a2452bb80e1d..bac1f52d327f 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 d6bb7a39fafe..480873031007 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(); +} |