• Arnd Bergmann's avatar
    ASoC: ti: fix davinci_mcasp_probe dependencies · d8cc1030
    Arnd Bergmann authored
    [ Upstream commit 7d7b25d0 ]
    
    The SND_SOC_DAVINCI_MCASP driver can use either edma or sdma as
    a back-end, and it takes the presence of the respective dma engine
    drivers in the configuration as an indication to which ones should be
    built. However, this is flawed in multiple ways:
    
    - With CONFIG_TI_EDMA=m and CONFIG_SND_SOC_DAVINCI_MCASP=y,
      is enabled as =m, and we get a link error:
      sound/soc/ti/davinci-mcasp.o: In function `davinci_mcasp_probe':
      davinci-mcasp.c:(.text+0x930): undefined reference to `edma_pcm_platform_register'
    
    - When CONFIG_SND_SOC_DAVINCI_MCASP=m has already been selected by
      another driver, the same link error appears even if CONFIG_TI_EDMA
      is disabled
    
    There are possibly other issues here, but it seems that the only reasonable
    solution is to always build both SND_SOC_TI_EDMA_PCM and
    SND_SOC_TI_SDMA_PCM as a dependency here. Both are fairly small and
    do not have any other compile-time dependencies, so the cost is
    very small, and makes the configuration stage much more consistent.
    
    Fixes: f2055e14 ("ASoC: ti: Merge davinci and omap directories")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Acked-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    d8cc1030
Kconfig 6.79 KB