From c5c98fa168d0ee1eb04847c8313d44a17624d817 Mon Sep 17 00:00:00 2001 From: John Stultz Date: Fri, 30 Oct 2020 06:49:41 +0000 Subject: [PATCH 1/2] ANDROID: dma: Rework so dev_get_cma_area() can be called from a module Export dma_contiguous_default_area so dev_get_cma_area() can be called from a module. This allows the CMA dma-buf heap to be configured and built as a module. Signed-off-by: John Stultz Change-Id: I8ae944c147ff83dcd8d42a39efa6769dae4039b7 Bug: 155218010 Link: https://lore.kernel.org/lkml/20191025234834.28214-2-john.stultz@linaro.org/ Signed-off-by: Hridya Valsaraju --- kernel/dma/contiguous.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/dma/contiguous.c b/kernel/dma/contiguous.c index 6ea80ae42622..d06c5982c2c0 100644 --- a/kernel/dma/contiguous.c +++ b/kernel/dma/contiguous.c @@ -58,6 +58,7 @@ #endif struct cma *dma_contiguous_default_area; +EXPORT_SYMBOL_GPL(dma_contiguous_default_area); /* * Default global CMA area size can be defined in kernel's .config. From a97d21ab42d5a4d772c6180230bb37bbca550005 Mon Sep 17 00:00:00 2001 From: Sandeep Patil Date: Fri, 13 Sep 2019 14:50:38 -0700 Subject: [PATCH 2/2] ANDROID: GKI: export cma symbols for cma heap as a module Bug: 140294230 Test: builds Change-Id: I04c12174934c24a704d5c1e5be3e7e948c777a78 Signed-off-by: Sandeep Patil --- mm/cma.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mm/cma.c b/mm/cma.c index c22af5f8b8a3..583c27dedf86 100644 --- a/mm/cma.c +++ b/mm/cma.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -53,6 +54,7 @@ const char *cma_get_name(const struct cma *cma) { return cma->name; } +EXPORT_SYMBOL_GPL(cma_get_name); static unsigned long cma_bitmap_aligned_mask(const struct cma *cma, unsigned int align_order) @@ -542,6 +544,7 @@ out: return page; } +EXPORT_SYMBOL_GPL(cma_alloc); bool cma_pages_valid(struct cma *cma, const struct page *pages, unsigned long count) @@ -592,6 +595,7 @@ bool cma_release(struct cma *cma, const struct page *pages, return true; } +EXPORT_SYMBOL_GPL(cma_release); #ifdef CONFIG_NO_GKI unsigned long cma_used_pages(void) @@ -626,3 +630,4 @@ int cma_for_each_area(int (*it)(struct cma *cma, void *data), void *data) return 0; } +EXPORT_SYMBOL_GPL(cma_for_each_area);