dma-mapping: provide a fallback dma_default_coherent
authorJiaxun Yang <jiaxun.yang@flygoat.com>
Sat, 1 Apr 2023 09:15:29 +0000 (10:15 +0100)
committerChristoph Hellwig <hch@lst.de>
Fri, 7 Apr 2023 05:38:20 +0000 (07:38 +0200)
dma_default_coherent was decleared unconditionally at kernel/dma/mapping.c
but only decleared when any of non-coherent options is enabled in
dma-map-ops.h.

Guard the declaration in mapping.c with non-coherent options and provide
a fallback definition.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
include/linux/dma-map-ops.h
kernel/dma/mapping.c

index 41bf4bd..31f114f 100644 (file)
@@ -269,6 +269,8 @@ static inline bool dev_is_dma_coherent(struct device *dev)
        return dev->dma_coherent;
 }
 #else
+#define dma_default_coherent true
+
 static inline bool dev_is_dma_coherent(struct device *dev)
 {
        return true;
index 68106e3..80f9663 100644 (file)
 #include "debug.h"
 #include "direct.h"
 
+#if defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE) || \
+       defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU) || \
+       defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU_ALL)
 bool dma_default_coherent;
+#endif
 
 /*
  * Managed DMA API