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: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx --- Changes in v4: - None. Changes in v3: - Rebase. Changes in v2: - None. --- arch/mips/boot/dts/ingenic/jz4740.dtsi | 7 +++++++ arch/mips/jz4740/irq.c | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/arch/mips/boot/dts/ingenic/jz4740.dtsi b/arch/mips/boot/dts/ingenic/jz4740.dtsi index c538691f..2d64765c 100644 --- a/arch/mips/boot/dts/ingenic/jz4740.dtsi +++ b/arch/mips/boot/dts/ingenic/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 97206b3..3ec90875 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> #include <asm/mach-jz4740/irq.h> @@ -84,7 +84,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); -- 2.3.5