A SoC driver selects the dmaengine driver for the platform it is made for, leading to Kconfig warnings in some configurations: WARNING: unmet direct dependencies detected for TEGRA20_APB_DMA Depends on [n]: DMADEVICES [=n] && (ARCH_TEGRA [=y] || COMPILE_TEST [=y]) Selected by [y]: - SOC_TEGRA_FUSE [=y] && ARCH_TEGRA [=y] && ARCH_TEGRA_2x_SOC [=y] WARNING: unmet direct dependencies detected for TEGRA20_APB_DMA Depends on [n]: DMADEVICES [=n] && (ARCH_TEGRA [=y] || COMPILE_TEST [=y]) Selected by [y]: - SOC_TEGRA_FUSE [=y] && ARCH_TEGRA [=y] && ARCH_TEGRA_2x_SOC [=y] Generally, no driver should 'select' a driver from a different subsystem, especially when there is no build-time dependency between the two. Remove the bogus 'select' and instead change the dmaengine driver to be default-enabled in this configuration, to let existing defconfig files continue working. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> --- drivers/dma/Kconfig | 1 + drivers/soc/tegra/Kconfig | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig index 023db6883d05..c19e25b140c5 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -619,6 +619,7 @@ config TXX9_DMAC config TEGRA20_APB_DMA tristate "NVIDIA Tegra20 APB DMA support" depends on ARCH_TEGRA || COMPILE_TEST + default SOC_TEGRA_FUSE && ARCH_TEGRA_2x_SOC select DMA_ENGINE help Support for the NVIDIA Tegra20 APB DMA controller driver. The diff --git a/drivers/soc/tegra/Kconfig b/drivers/soc/tegra/Kconfig index 3693532949b8..84bd615c4a92 100644 --- a/drivers/soc/tegra/Kconfig +++ b/drivers/soc/tegra/Kconfig @@ -126,7 +126,6 @@ config SOC_TEGRA_FUSE def_bool y depends on ARCH_TEGRA select SOC_BUS - select TEGRA20_APB_DMA if ARCH_TEGRA_2x_SOC config SOC_TEGRA_FLOWCTRL bool -- 2.26.0