Re: [PATCH] cdx: Fix missing GENERIC_MSI_IRQ on compile test
From: Alex Williamson
Date: Thu Jul 17 2025 - 15:34:12 EST
On Wed, 16 Jul 2025 08:49:04 +0200
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote:
> CDX_BUS driver uses msi_setup_device_data() which is selected by
> GENERIC_MSI_IRQ, thus compile testing without the latter failed:
>
> /usr/bin/ld: drivers/cdx/cdx.o: in function `cdx_probe':
> build/drivers/cdx/cdx.c:314: undefined reference to `msi_setup_device_data'
>
> Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Closes: https://lore.kernel.org/all/b2c54a12-480c-448a-8b90-333cb03d9c14@xxxxxxxxxxxxx/
> Fixes: 7f81907b7e3f ("cdx: Enable compile testing")
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
> ---
> drivers/cdx/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/cdx/Kconfig b/drivers/cdx/Kconfig
> index 1f1e360507d7..3af41f51cf38 100644
> --- a/drivers/cdx/Kconfig
> +++ b/drivers/cdx/Kconfig
> @@ -8,6 +8,7 @@
> config CDX_BUS
> bool "CDX Bus driver"
> depends on OF && ARM64 || COMPILE_TEST
> + select GENERIC_MSI_IRQ
> help
> Driver to enable Composable DMA Transfer(CDX) Bus. CDX bus
> exposes Fabric devices which uses composable DMA IP to the
This looks incomplete to me. The Makefile has:
ifdef CONFIG_GENERIC_MSI_IRQ
obj-$(CONFIG_CDX_BUS) += cdx_msi.o
endif
The call to msi_setup_device_data(), the conditional inclusion of
cdx_msi.o, and cdx_msi.c itself were added in 0e439ba38e61 ("cdx: add
MSI support for CDX bus"). That's the source of the issue, not the
Kconfig update to build under COMPILE_TEST, but also the Makefile
should be updated to statically include cdx_msi.o. Thanks,
Alex