• Arnd Bergmann's avatar
    ASoC: imx: fix fiq dependencies · 68f630d8
    Arnd Bergmann authored
    [ Upstream commit ea751227 ]
    
    During randconfig builds, I occasionally run into an invalid configuration
    of the freescale FIQ sound support:
    
    WARNING: unmet direct dependencies detected for SND_SOC_IMX_PCM_FIQ
      Depends on [m]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_IMX_SOC [=m]
      Selected by [y]:
      - SND_SOC_FSL_SPDIF [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && SND_IMX_SOC [=m]!=n && (MXC_TZIC [=n] || MXC_AVIC [=y])
    
    sound/soc/fsl/imx-ssi.o: In function `imx_ssi_remove':
    imx-ssi.c:(.text+0x28): undefined reference to `imx_pcm_fiq_exit'
    sound/soc/fsl/imx-ssi.o: In function `imx_ssi_probe':
    imx-ssi.c:(.text+0xa64): undefined reference to `imx_pcm_fiq_init'
    
    The Kconfig warning is a result of the symbol being defined inside of
    the "if SND_IMX_SOC" block, and is otherwise harmless. The link error
    is more tricky and happens with SND_SOC_IMX_SSI=y, which may or may not
    imply FIQ support. However, if SND_SOC_FSL_SSI is set to =m at the same
    time, that selects SND_SOC_IMX_PCM_FIQ as a loadable module dependency,
    which then causes a link failure from imx-ssi.
    
    The solution here is to make SND_SOC_IMX_PCM_FIQ built-in whenever
    one of its potential users is built-in.
    
    Fixes: ff40260f ("ASoC: fsl: refine DMA/FIQ dependencies")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    68f630d8
Kconfig 8.97 KB