From: Paul Burton <paul.burton@xxxxxxxxxx> Use the generic irqchip_init function to probe irqchip drivers using DT, and add the appropriate node to the jz4740 devicetree in place of the call to mips_cpu_irq_init. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> --- arch/mips/boot/dts/jz4740.dtsi | 7 +++++++ arch/mips/jz4740/irq.c | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/arch/mips/boot/dts/jz4740.dtsi b/arch/mips/boot/dts/jz4740.dtsi index c538691f..2d64765c 100644 --- a/arch/mips/boot/dts/jz4740.dtsi +++ b/arch/mips/boot/dts/jz4740.dtsi @@ -2,4 +2,11 @@ #address-cells = <1>; #size-cells = <1>; compatible = "ingenic,jz4740"; + + cpuintc: cpuintc@0 { + #address-cells = <0>; + #interrupt-cells = <1>; + interrupt-controller; + compatible = "mti,cpu-interrupt-controller"; + }; }; diff --git a/arch/mips/jz4740/irq.c b/arch/mips/jz4740/irq.c index 2531da1..9c94f7b 100644 --- a/arch/mips/jz4740/irq.c +++ b/arch/mips/jz4740/irq.c @@ -18,6 +18,7 @@ #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> @@ -27,7 +28,6 @@ #include <asm/io.h> #include <asm/mipsregs.h> -#include <asm/irq_cpu.h> #include <asm/mach-jz4740/base.h> @@ -81,7 +81,7 @@ void __init arch_init_irq(void) struct irq_chip_generic *gc; struct irq_chip_type *ct; - mips_cpu_irq_init(); + irqchip_init(); jz_intc_base = ioremap(JZ4740_INTC_BASE_ADDR, 0x14); -- 1.9.1