[RFC][PATCH 1/2] mm: cma: Export cma symbols for cma heap as a module
John Stultz
john.stultz at linaro.org
Fri Oct 25 23:48:33 UTC 2019
From: Sandeep Patil <sspatil at google.com>
Export cma_get_name, cma_alloc, cma_release, cma_for_each_area
and dma_contiguous_default_area so that we can use these from
the dmabuf cma heap when it is built as module.
Cc: Laura Abbott <labbott at redhat.com>
Cc: Benjamin Gaignard <benjamin.gaignard at linaro.org>
Cc: Sumit Semwal <sumit.semwal at linaro.org>
Cc: Liam Mark <lmark at codeaurora.org>
Cc: Pratik Patel <pratikp at codeaurora.org>
Cc: Brian Starkey <Brian.Starkey at arm.com>
Cc: Andrew F. Davis <afd at ti.com>
Cc: Andrew Morton <akpm at linux-foundation.org>
Cc: Yue Hu <huyue2 at yulong.com>
Cc: Mike Rapoport <rppt at linux.ibm.com>
Cc: Chenbo Feng <fengc at google.com>
Cc: Alistair Strachan <astrachan at google.com>
Cc: Sandeep Patil <sspatil at google.com>
Cc: Hridya Valsaraju <hridya at google.com>
Cc: dri-devel at lists.freedesktop.org
Signed-off-by: Sandeep Patil <sspatil at google.com>
[jstultz: Rewrote commit message, added
dma_contiguous_default_area to the set of exported symbols]
Signed-off-by: John Stultz <john.stultz at linaro.org>
---
kernel/dma/contiguous.c | 1 +
mm/cma.c | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/kernel/dma/contiguous.c b/kernel/dma/contiguous.c
index 69cfb4345388..ff6cba63ea6f 100644
--- a/kernel/dma/contiguous.c
+++ b/kernel/dma/contiguous.c
@@ -31,6 +31,7 @@
#endif
struct cma *dma_contiguous_default_area;
+EXPORT_SYMBOL(dma_contiguous_default_area);
/*
* Default global CMA area size can be defined in kernel's .config.
diff --git a/mm/cma.c b/mm/cma.c
index 7fe0b8356775..db4642e58058 100644
--- a/mm/cma.c
+++ b/mm/cma.c
@@ -24,6 +24,7 @@
#include <linux/memblock.h>
#include <linux/err.h>
#include <linux/mm.h>
+#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/sizes.h>
#include <linux/slab.h>
@@ -54,6 +55,7 @@ const char *cma_get_name(const struct cma *cma)
{
return cma->name ? cma->name : "(undefined)";
}
+EXPORT_SYMBOL_GPL(cma_get_name);
static unsigned long cma_bitmap_aligned_mask(const struct cma *cma,
unsigned int align_order)
@@ -500,6 +502,7 @@ struct page *cma_alloc(struct cma *cma, size_t count, unsigned int align,
pr_debug("%s(): returned %p\n", __func__, page);
return page;
}
+EXPORT_SYMBOL_GPL(cma_alloc);
/**
* cma_release() - release allocated pages
@@ -533,6 +536,7 @@ bool cma_release(struct cma *cma, const struct page *pages, unsigned int count)
return true;
}
+EXPORT_SYMBOL_GPL(cma_release);
int cma_for_each_area(int (*it)(struct cma *cma, void *data), void *data)
{
@@ -547,3 +551,4 @@ int cma_for_each_area(int (*it)(struct cma *cma, void *data), void *data)
return 0;
}
+EXPORT_SYMBOL_GPL(cma_for_each_area);
--
2.17.1
More information about the dri-devel
mailing list