summaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
authorPaul Burton <paul.burton@imgtec.com>2015-05-24 17:11:19 +0200
committerRalf Baechle <ralf@linux-mips.org>2015-06-21 21:52:56 +0200
commit0e81db8f5b1abd7245e13b585458ea2fb9826bdd (patch)
tree3431b1ff7ff9b04a3fc26c46f174200401b61add /arch/mips
parentMIPS: JZ4740: use generic plat_irq_dispatch (diff)
downloadlinux-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.h2
-rw-r--r--arch/mips/jz4740/irq.c5
-rw-r--r--arch/mips/jz4740/setup.c8
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();
+}