We shouldn't include irqchip.h from outside of the drivers/irqchip directory. The irq driver should idealy be there, however this not trivial at the moment. We still need to support platforms without DT support and the interface to the DDR controller still use a custom arch specific API. For now just redefine the IRQCHIP_DECLARE macro to avoid the cross tree include. Signed-off-by: Alban Bedel <albeu@xxxxxxx> --- arch/mips/ath79/irq.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/arch/mips/ath79/irq.c b/arch/mips/ath79/irq.c index afb0096..c5ad737 100644 --- a/arch/mips/ath79/irq.c +++ b/arch/mips/ath79/irq.c @@ -17,7 +17,6 @@ #include <linux/interrupt.h> #include <linux/irqchip.h> #include <linux/of_irq.h> -#include "../../../drivers/irqchip/irqchip.h" #include <asm/irq_cpu.h> #include <asm/mipsregs.h> @@ -272,6 +271,13 @@ asmlinkage void plat_irq_dispatch(void) } #ifdef CONFIG_IRQCHIP +/* + * We cannot use the IRQCHIP_DECLARE macro that lives in + * drivers/irqchip, so we're forced to roll our own. Not very nice, + * but should do until this code is moved to drivers/irqchip. + */ +#define IRQCHIP_DECLARE(name, compat, fn) OF_DECLARE_2(irqchip, name, compat, fn) + static int misc_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hw) { irq_set_chip_and_handler(irq, &ath79_misc_irq_chip, handle_level_irq); -- 2.0.0