[PATCH] arm: dma-mapping: fix potential build error under !CMA
Chanho Min
chanho.min at lge.com
Sun Jun 1 18:45:28 PDT 2014
This patch fixes build error under !CONFIG_CMA. dev_get_cma_area can be used
when CMA is disabled when the bellow patch is appied.
"arm: dma-mapping: add checking cma area initialized"
https://lkml.org/lkml/2014/5/22/35
arch/arm/mm/dma-mapping.c: In function 'atomic_pool_init':
arch/arm/mm/dma-mapping.c:361:2: error: implicit declaration of function
'dev_get_cma_area' [-Werror=implicit-function-declaration]
Signed-off-by: Chanho Min <chanho.min at lge.com>
---
arch/arm/include/asm/dma-contiguous.h | 2 +-
include/asm-generic/dma-contiguous.h | 13 +++++++++++--
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/arch/arm/include/asm/dma-contiguous.h b/arch/arm/include/asm/dma-contiguous.h
index 3ed37b4..56c17bc 100644
--- a/arch/arm/include/asm/dma-contiguous.h
+++ b/arch/arm/include/asm/dma-contiguous.h
@@ -2,11 +2,11 @@
#define ASMARM_DMA_CONTIGUOUS_H
#ifdef __KERNEL__
-#ifdef CONFIG_CMA
#include <linux/types.h>
#include <asm-generic/dma-contiguous.h>
+#ifdef CONFIG_CMA
void dma_contiguous_early_fixup(phys_addr_t base, unsigned long size);
#endif
diff --git a/include/asm-generic/dma-contiguous.h b/include/asm-generic/dma-contiguous.h
index 294b1e7..3d48460 100644
--- a/include/asm-generic/dma-contiguous.h
+++ b/include/asm-generic/dma-contiguous.h
@@ -2,11 +2,11 @@
#define ASM_DMA_CONTIGUOUS_H
#ifdef __KERNEL__
-#ifdef CONFIG_CMA
#include <linux/device.h>
#include <linux/dma-contiguous.h>
+#ifdef CONFIG_CMA
static inline struct cma *dev_get_cma_area(struct device *dev)
{
if (dev && dev->cma_area)
@@ -22,7 +22,16 @@ static inline void dev_set_cma_area(struct device *dev, struct cma *cma)
dma_contiguous_default_area = cma;
}
-#endif
+#else
+static inline struct cma *dev_get_cma_area(struct device *dev)
+{
+ return NULL;
+}
+
+static inline void dev_set_cma_area(struct device *dev, struct cma *cma)
+{
+}
#endif
#endif
+#endif
--
1.7.9.5
More information about the linux-arm-kernel
mailing list