• Geert Uytterhoeven's avatar
    ASoC: qcom: Drop HAS_DMA dependency to fix link failure · b6aa06de
    Geert Uytterhoeven authored
    When building on allyesconfig kernel for a NO_DMA=y platform (e.g.
    Sun-3), CONFIG_SND_SOC_QCOM_COMMON=y, but CONFIG_SND_SOC_QDSP6_AFE=n,
    leading to a link failure:
    
        sound/soc/qcom/common.o: In function `qcom_snd_parse_of':
        common.c:(.text+0x2e2): undefined reference to `q6afe_is_rx_port'
    
    While SND_SOC_QDSP6 depends on HAS_DMA, SND_SOC_MSM8996 and SND_SOC_SDM845
    don't, so the following warning is seen:
    
        WARNING: unmet direct dependencies detected for SND_SOC_QDSP6
          Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && QCOM_APR [=y] && HAS_DMA [=n]
          Selected by [y]:
          - SND_SOC_MSM8996 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && QCOM_APR [=y]
          - SND_SOC_SDM845 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && QCOM_APR [=y] && CROS_EC [=y] && I2C [=y] && SOUNDWIRE [=y]
    
    Until recently, this warning was harmless (from a compile-testing
    point-of-view), but the new user of q6afe_is_rx_port() turned this into
    a hard failure.
    
    As the QDSP6 driver itself builds fine if NO_DMA=y, and it depends on
    QCOM_APR (which in turns depends on ARCH_QCOM || COMPILE_TEST), it is
    safe to increase compile testing coverage.  Hence fix the link failure
    by dropping the HAS_DMA dependency of SND_SOC_QDSP6.
    
    Fixes: a2120089 ("ASoC: qcom: common: set correct directions for dailinks")
    Fixes: 6b1687bf ("ASoC: qcom: add sdm845 sound card support")
    Fixes: a6f933f6 ("ASoC: qcom: apq8096: Add db820c machine driver")
    Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
    Link: https://lore.kernel.org/r/20200629122443.21736-1-geert@linux-m68k.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    b6aa06de
Kconfig 2.62 KB