Re: [PATCH] m68k: tweak coldfire/device.c for COMPILE_TEST

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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@xxxxxxxxxxxxx>
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Link: lore.kernel.org/r/202203030252.P752DK46-lkp@xxxxxxxxx
Cc: Angelo Dureghello <angelo@xxxxxxxx>
Cc: Greg Ungerer <gerg@xxxxxxxxxx>
Cc: Greg Ungerer <gerg@xxxxxxxxxxxxxx>
Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Cc: linux-m68k@xxxxxxxxxxxxxxxxxxxx
Cc: uclinux-dev@xxxxxxxxxxx
---
  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



[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux