Messages in this thread | | | Date | Fri, 4 Mar 2022 08:20:03 -0800 | Subject | Re: [PATCH] m68k: tweak coldfire/device.c for COMPILE_TEST | From | Randy Dunlap <> |
| |
On 3/4/22 06:45, Greg Ungerer wrote: > Hi Randy, > > On 4/3/22 13:35, Randy Dunlap wrote: >> When CONFIG_MCF_EDMA is set (due to COMPILE_TEST, not due to >> CONFIG_M5441x), coldfire/device.c has compile errors due to >> missing MCFEDMA_* symbols. In the .config file that was provided, >> CONFIG_M5206=y, not CONFIG_M5441x, so <asm/m5441xsim.h> is not >> included in coldfire/device.c. >> >> Only build the MCF_EDMA code in coldfire/device.c if both MCF_EDMA >> and M5441x are enabled. >> >> Fixes these build errors: >> >> ../arch/m68k/coldfire/device.c:512:35: error: 'MCFEDMA_BASE' undeclared here (not in a function); did you mean 'MCFDMA_BASE1'? >> 512 | .start = MCFEDMA_BASE, >> ../arch/m68k/coldfire/device.c:513:50: error: 'MCFEDMA_SIZE' undeclared here (not in a function) >> 513 | .end = MCFEDMA_BASE + MCFEDMA_SIZE - 1, >> ../arch/m68k/coldfire/device.c:517:35: error: 'MCFEDMA_IRQ_INTR0' undeclared here (not in a function) >> 517 | .start = MCFEDMA_IRQ_INTR0, >> ../arch/m68k/coldfire/device.c:523:35: error: 'MCFEDMA_IRQ_INTR16' undeclared here (not in a function) >> 523 | .start = MCFEDMA_IRQ_INTR16, >> ../arch/m68k/coldfire/device.c:529:35: error: 'MCFEDMA_IRQ_INTR56' undeclared here (not in a function) >> 529 | .start = MCFEDMA_IRQ_INTR56, >> ../arch/m68k/coldfire/device.c:535:35: error: 'MCFEDMA_IRQ_ERR' undeclared here (not in a function) >> 535 | .start = MCFEDMA_IRQ_ERR, >> >> Fixes: d7e9d01ac292 ("m68k: add ColdFire mcf5441x eDMA platform support") >> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> >> Reported-by: kernel test robot <lkp@intel.com> >> Link: lore.kernel.org/r/202203030252.P752DK46-lkp@intel.com >> Cc: Angelo Dureghello <angelo@sysam.it> >> Cc: Greg Ungerer <gerg@kernel.org> >> Cc: Greg Ungerer <gerg@linux-m68k.org> >> Cc: Geert Uytterhoeven <geert@linux-m68k.org> >> Cc: linux-m68k@lists.linux-m68k.org >> Cc: uclinux-dev@uclinux.org >> --- >> arch/m68k/coldfire/device.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> --- linux-next-20220303.orig/arch/m68k/coldfire/device.c >> +++ linux-next-20220303/arch/m68k/coldfire/device.c >> @@ -480,7 +480,7 @@ static struct platform_device mcf_i2c5 = >> #endif /* MCFI2C_BASE5 */ >> #endif /* IS_ENABLED(CONFIG_I2C_IMX) */ >> -#if IS_ENABLED(CONFIG_MCF_EDMA) >> +#if IS_ENABLED(CONFIG_MCF_EDMA) && IS_ENABLED(CONFIG_M5441x) > > I really try to avoid making these ColdFire SoC specific. Freescale has > a habit of using the same hardware blocks across a number of parts. > The model so far has been to let the Kconfig select these out as required > (and so not having to conditionally duplicate that here). > > I would prefer it to be conditional on !COMPILE_TEST if that is what > is ultimately causing the problem.
What is ultimately causing the problem is drivers/dma/Kconfig:
config MCF_EDMA tristate "Freescale eDMA engine support, ColdFire mcf5441x SoCs" depends on M5441x || COMPILE_TEST
Would you prefer to just remove that COMPILE_TEST?
Or do like Geert suggested -- see your previous patch: commit 322c512f476f07e9 ("m68knommu: include SDHC support only when hardware has it")
thanks.
-- ~Randy
| |