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@xxxxxxxxxx> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx --- Changes in v5: None Changes in v4: None Changes in v3: - New patch. Changes in v2: None arch/mips/jz4740/irq.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/arch/mips/jz4740/irq.c b/arch/mips/jz4740/irq.c index 7ad6688..8b7df9a 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 */ -- 2.4.1