Re: [PATCH v5 06/37] MIPS: irq_cpu: declare irqchip table entry

From: Ralf Baechle
Date: Tue May 26 2015 - 11:40:00 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/