> Subject: [PATCH] dmaengine: fsl-edma: avoid linking both modules > > From: Arnd Bergmann <arnd@xxxxxxxx> > > Kbuild does not support having a source file compiled multiple times and > linked into distinct modules, or built-in and modular at the same time. For fs- > edma, there are two common components that are linked into the fsl- > edma.ko for Arm and PowerPC, plus the mcf-edma.ko module on Coldfire. > This violates the rule for compile-testing: > > scripts/Makefile.build:236: drivers/dma/Makefile: fsl-edma-common.o is > added to multiple modules: fsl-edma mcf-edma > scripts/Makefile.build:236: drivers/dma/Makefile: fsl-edma-trace.o is added > to multiple modules: fsl-edma mcf-edma > > I tried splitting out the common parts into a separate modules, but that adds > back the complexity that a cleanup patch removed, and it gets harder with > the addition of the tracepoints. > > As a minimal workaround, address it at the Kconfig level, by disallowing the > broken configurations. > > Link: > https://lore.ke/ > rnel.org%2Flkml%2F20240110232255.1099757-1- > arnd%40kernel.org%2F&data=05%7C02%7Cpeng.fan%40nxp.com%7Cfb9b0e > 6533054fee3d0d08dc7f0cfbe4%7C686ea1d3bc2b4c6fa92cd99c5c301635%7 > C0%7C0%7C638524940949353893%7CUnknown%7CTWFpbGZsb3d8eyJWIj > oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0 > %7C%7C%7C&sdata=88jDqMK7okvOsZaMXT02p7coSRTr2r%2FArF1rbAp9P4 > w%3D&reserved=0 > Fixes: 66aac8ea0a6c ("dmaengine: fsl-edma: clean up EXPORT_SYMBOL_GPL > in fsl-edma-common.c") > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Peng Fan <peng.fan@xxxxxxx> > --- > drivers/dma/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig index > 965fa49668ff..b3873d01a2ab 100644 > --- a/drivers/dma/Kconfig > +++ b/drivers/dma/Kconfig > @@ -394,7 +394,7 @@ config LS2X_APB_DMA > > config MCF_EDMA > tristate "Freescale eDMA engine support, ColdFire mcf5441x SoCs" > - depends on M5441x || COMPILE_TEST > + depends on M5441x || (COMPILE_TEST && FSL_EDMA=n) > select DMA_ENGINE > select DMA_VIRTUAL_CHANNELS > help > -- > 2.39.2