On Sun, May 24, 2015 at 04:11:16PM +0100, Paul Burton wrote: > Subject: [PATCH v5 06/37] MIPS: irq_cpu: declare irqchip table entry > Content-Type: text/plain > > Allow the MIPS CPU interrupt controller to be probed from DT using the > generic __irqchip_of_table for platforms which use irqchip_init. This > will avoid such platforms needing to duplicate the compatible string & > init function pointer. > > Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> > Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> > Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> > Cc: linux-mips@xxxxxxxxxxxxxx > --- > > Changes in v5: None > Changes in v4: None > Changes in v3: > - Rebase. > > Changes in v2: None > > arch/mips/kernel/irq_cpu.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/mips/kernel/irq_cpu.c b/arch/mips/kernel/irq_cpu.c > index 6eb7a3f..f96313d 100644 > --- a/arch/mips/kernel/irq_cpu.c > +++ b/arch/mips/kernel/irq_cpu.c > @@ -38,6 +38,8 @@ > #include <asm/mipsmtregs.h> > #include <asm/setup.h> > > +#include "../../drivers/irqchip/irqchip.h" > + > static inline void unmask_mips_irq(struct irq_data *d) > { > set_c0_status(0x100 << (d->irq - MIPS_CPU_IRQ_BASE)); > @@ -167,3 +169,4 @@ int __init mips_cpu_irq_of_init(struct device_node *of_node, > __mips_cpu_irq_init(of_node); > return 0; > } > +IRQCHIP_DECLARE(cpu_intc, "mti,cpu-interrupt-controller", mips_cpu_irq_of_init); Having to type "../" to get an include file should be a strong indicator something is wrong. In this case it probably means irq_cpu.c should be moved to drivers/irqchip/. The same gem also exists in arch/arc/kernel/irq.c and arch/microblaze/- kernel/intc.c. And two more files arch/arm/mach-imx/gpc.c and arch/arm/mach-omap2/omap-wakeupgen.c are avoiding the issue by coding their private variants of IRQCHIP_DECLARE. Ralf