summaryrefslogtreecommitdiffstats
path: root/arch/mips/jz4740
diff options
context:
space:
mode:
authorPaul Burton <paul.burton@imgtec.com>2015-05-24 16:11:28 +0100
committerRalf Baechle <ralf@linux-mips.org>2015-06-21 21:53:05 +0200
commit3aa94590e7bf82680ccba5ce65f3946c5b374ac4 (patch)
tree2887627b5172326a666e3b5061c9c3bc0b78e2aa /arch/mips/jz4740
parentad68f8d3c2a1f61ce98665d6d0c1a2e52a75ea77 (diff)
downloadlinux-3aa94590e7bf82680ccba5ce65f3946c5b374ac4.tar.gz
linux-3aa94590e7bf82680ccba5ce65f3946c5b374ac4.tar.xz
MIPS: JZ4740: read intc base address from DT
Read the base address of the SoC interrupt controller from the device tree rather than relying upon the JZ4740_INTC_BASE_ADDR macro, in order to remove the dependency on the asm/mach-jz4740/base.h header. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: Lars-Peter Clausen <lars@metafoo.de> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Jason Cooper <jason@lakedaemon.net> 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/10145/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/jz4740')
-rw-r--r--arch/mips/jz4740/irq.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/mips/jz4740/irq.c b/arch/mips/jz4740/irq.c
index 7ad6688f371b..8b7df9a581c2 100644
--- a/arch/mips/jz4740/irq.c
+++ b/arch/mips/jz4740/irq.c
@@ -18,14 +18,13 @@
#include <linux/types.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
+#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/timex.h>
#include <linux/slab.h>
#include <linux/delay.h>
#include <asm/io.h>
-
-#include <asm/mach-jz4740/base.h>
#include <asm/mach-jz4740/irq.h>
#include "irq.h"
@@ -114,7 +113,11 @@ static int __init ingenic_intc_of_init(struct device_node *node,
goto out_unmap_irq;
intc->num_chips = num_chips;
- intc->base = ioremap(JZ4740_INTC_BASE_ADDR, 0x14);
+ intc->base = of_iomap(node, 0);
+ if (!intc->base) {
+ err = -ENODEV;
+ goto out_unmap_irq;
+ }
for (i = 0; i < num_chips; i++) {
/* Mask all irqs */