The code handling non-coherent DMA depends on being able to remap code
as non-cached.  But that can't be done without an MMU, so using this
option on NOMMU builds is broken.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Rich Felker <dalias@libc.org>
        select MAY_HAVE_SPARSE_IRQ
        select MODULES_USE_ELF_RELA
        select NEED_SG_DMA_LENGTH
+       select NO_DMA if !MMU && !DMA_COHERENT
        select NO_GENERIC_PCI_IOPORT_MAP if PCI
        select OLD_SIGACTION
        select OLD_SIGSUSPEND
        bool
 
 config DMA_NONCOHERENT
-       def_bool !DMA_COHERENT
+       def_bool !NO_DMA && !DMA_COHERENT
        select ARCH_HAS_SYNC_DMA_FOR_DEVICE
 
 config PGTABLE_LEVELS