Re: [PATCH] irqchip: build IMX_MU_MSI only on ARM

From: Geert Uytterhoeven
Date: Thu Dec 15 2022 - 14:47:45 EST


Hi Arnd,

On Thu, Dec 15, 2022 at 5:41 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> compile-testing IMX_MU_MSI on x86 without PCI_MSI support results
> in a build failure:
>
> arch/x86/kernel/hpet.c:520:46: error: 'msi_alloc_info_t' {aka 'struct irq_alloc_info'} has no member named 'hwirq'
> 520 | irq_domain_set_info(domain, virq, arg->hwirq, info->chip, NULL,
> | ^~
> arch/x86/kernel/hpet.c:521:49: error: 'msi_alloc_info_t' {aka 'struct irq_alloc_info'} has no member named 'data'
> 521 | handle_edge_irq, arg->data, "edge");
> | ^~
> arch/x86/kernel/hpet.c: In function 'hpet_create_irq_domain':
> arch/x86/kernel/hpet.c:550:13: error: 'x86_vector_domain' undeclared (first use in this function)
> 550 | if (x86_vector_domain == NULL)
> | ^~~~~~~~~~~~~~~~~
> arch/x86/kernel/hpet.c:550:13: note: each undeclared identifier is reported only once for each function it appears in
> arch/x86/kernel/hpet.c: In function 'hpet_assign_irq':
> arch/x86/kernel/hpet.c:600:9: error: implicit declaration of function 'init_irq_alloc_info' [-Werror=implicit-function-declaration]
> 600 | init_irq_alloc_info(&info, NULL);
>
> Tighten the dependency further to only allow compile testing on Arm.
> This could be refined further to allow certain x86 configs.

Thanks for your patch!

> Fixes: 6c9f7434159b ("irqchip: IMX_MU_MSI should depend on ARCH_MXC")

This is not the commit that introduced the issue.

Fixes: 70afdab904d2d1e6 ("irqchip: Add IMX MU MSI controller driver")

> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> drivers/irqchip/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
> index caa952c40ff9..4ebf4d566e6f 100644
> --- a/drivers/irqchip/Kconfig
> +++ b/drivers/irqchip/Kconfig
> @@ -484,7 +484,7 @@ config IMX_INTMUX
> config IMX_MU_MSI
> tristate "i.MX MU used as MSI controller"
> depends on OF && HAS_IOMEM
> - depends on ARCH_MXC || COMPILE_TEST
> + depends on ARCH_MXC || ((ARM || ARM64) && COMPILE_TEST)

I think adding a separate line

depends on ARM || ARM64

is easier to read (and easier to extend).

> default m if ARCH_MXC
> select IRQ_DOMAIN
> select IRQ_DOMAIN_HIERARCHY

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds