Messages in this thread | | | Date | Sat, 5 Mar 2022 00:45:43 +1000 | Subject | Re: [PATCH] m68k: tweak coldfire/device.c for COMPILE_TEST | From | Greg Ungerer <> |
| |
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.
Regards Greg
> > static const struct dma_slave_map mcf_edma_map[] = { > { "dreq0", "rx-tx", MCF_EDMA_FILTER_PARAM(0) }, > @@ -552,7 +552,7 @@ static struct platform_device mcf_edma = > .platform_data = &mcf_edma_data, > } > }; > -#endif /* IS_ENABLED(CONFIG_MCF_EDMA) */ > +#endif /* IS_ENABLED(CONFIG_MCF_EDMA) && IS_ENABLED(CONFIG_M5441x) */ > > #ifdef MCFSDHC_BASE > static struct mcf_esdhc_platform_data mcf_esdhc_data = { > @@ -651,7 +651,7 @@ static struct platform_device *mcf_devic > &mcf_i2c5, > #endif > #endif > -#if IS_ENABLED(CONFIG_MCF_EDMA) > +#if IS_ENABLED(CONFIG_MCF_EDMA) && IS_ENABLED(CONFIG_M5441x) > &mcf_edma, > #endif > #ifdef MCFSDHC_BASE
| |