mmc: mmc_spi: Allow the driver to be built when CONFIG_HAS_DMA is unset
authorUlf Hansson <ulf.hansson@linaro.org>
Tue, 1 Sep 2020 15:04:38 +0000 (17:04 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 7 Sep 2020 06:57:44 +0000 (08:57 +0200)
commita395acf0f6dc6409a704dea6fc3cd71eb8e3e4ec
treed2d1ca7d6edffb3e594973da6881d7ab279fc378
parent9d5dcefb7b114d610aeb2371f6a6f119af316e43
mmc: mmc_spi: Allow the driver to be built when CONFIG_HAS_DMA is unset

The commit cd57d07b1e4e ("sh: don't allow non-coherent DMA for NOMMU") made
CONFIG_NO_DMA to be set for some platforms, for good reasons.
Consequentially, CONFIG_HAS_DMA doesn't get set, which makes the DMA
mapping interface to be built as stub functions, but also prevent the
mmc_spi driver from being built as it depends on CONFIG_HAS_DMA.

It turns out that for some odd cases, the driver still relied on the DMA
mapping interface, even if the DMA was not actively being used.

To fixup the behaviour, let's drop the build dependency for CONFIG_HAS_DMA.
Moreover, as to allow the driver to succeed probing, let's move the DMA
initializations behind "#ifdef CONFIG_HAS_DMA".

Fixes: cd57d07b1e4e ("sh: don't allow non-coherent DMA for NOMMU")
Reported-by: Rich Felker <dalias@libc.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Tested-by: Rich Felker <dalias@libc.org>
Link: https://lore.kernel.org/r/20200901150438.228887-1-ulf.hansson@linaro.org
drivers/mmc/host/Kconfig
drivers/mmc/host/mmc_spi.c