diff options
author | Paul Burton <paul.burton@imgtec.com> | 2015-05-24 16:11:28 +0100 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2015-06-21 21:53:05 +0200 |
commit | 3aa94590e7bf82680ccba5ce65f3946c5b374ac4 (patch) | |
tree | 2887627b5172326a666e3b5061c9c3bc0b78e2aa /arch/mips/jz4740 | |
parent | ad68f8d3c2a1f61ce98665d6d0c1a2e52a75ea77 (diff) | |
download | linux-3aa94590e7bf82680ccba5ce65f3946c5b374ac4.tar.gz linux-3aa94590e7bf82680ccba5ce65f3946c5b374ac4.tar.bz2 linux-3aa94590e7bf82680ccba5ce65f3946c5b374ac4.zip |
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.c | 9 |
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 */ |