| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
| From: Prasad Sodagudi <psodagud@codeaurora.org> |
| Date: Mon, 21 Dec 2020 13:09:29 -0800 |
| Subject: NOUPSTREAM: ANDROID: mm: Memory Management Exports |
| |
| per_cpu_ptr_to_phys symbols is needed for vendor loadable modules |
| to find the per cpu physical address of symbols. |
| |
| [CPNOTE: 01/07/21] Lee: Vendor GKI export |
| |
| Squash: |
| |
| NOUPSTREAM: ANDROID: mm/memory.c: export mm_trace_rss_stat |
| NOUPSTREAM: ANDROID: mm/memblock: export memblock_end_of_DRAM |
| NOUPSTREAM: ANDROID: GKI: export cma symbols for cma heap as a module |
| |
| Bug: 176125613 |
| Bug: 171499373 |
| Bug: 140294230 |
| Change-Id: Ifc23a8a9cae8eb11c94107eb9b9237a838f830bc |
| Signed-off-by: Lee Jones <lee.jones@linaro.org> |
| --- |
| mm/cma.c | 5 +++++ |
| mm/memblock.c | 1 + |
| mm/memory.c | 1 + |
| mm/percpu.c | 1 + |
| 4 files changed, 8 insertions(+) |
| |
| diff --git a/mm/cma.c b/mm/cma.c |
| --- 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/sizes.h> |
| #include <linux/slab.h> |
| #include <linux/log2.h> |
| @@ -54,6 +55,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) |
| @@ -547,6 +549,7 @@ struct page *cma_alloc(struct cma *cma, unsigned long count, |
| |
| return page; |
| } |
| +EXPORT_SYMBOL_GPL(cma_alloc); |
| |
| bool cma_pages_valid(struct cma *cma, const struct page *pages, |
| unsigned long count) |
| @@ -597,6 +600,7 @@ bool cma_release(struct cma *cma, const struct page *pages, |
| |
| return true; |
| } |
| +EXPORT_SYMBOL_GPL(cma_release); |
| |
| int cma_for_each_area(int (*it)(struct cma *cma, void *data), void *data) |
| { |
| @@ -611,3 +615,4 @@ int cma_for_each_area(int (*it)(struct cma *cma, void *data), void *data) |
| |
| return 0; |
| } |
| +EXPORT_SYMBOL_GPL(cma_for_each_area); |
| diff --git a/mm/memblock.c b/mm/memblock.c |
| --- a/mm/memblock.c |
| +++ b/mm/memblock.c |
| @@ -1648,6 +1648,7 @@ phys_addr_t __init_memblock memblock_end_of_DRAM(void) |
| |
| return (memblock.memory.regions[idx].base + memblock.memory.regions[idx].size); |
| } |
| +EXPORT_SYMBOL_GPL(memblock_end_of_DRAM); |
| |
| static phys_addr_t __init_memblock __find_max_addr(phys_addr_t limit) |
| { |
| diff --git a/mm/memory.c b/mm/memory.c |
| --- a/mm/memory.c |
| +++ b/mm/memory.c |
| @@ -172,6 +172,7 @@ void mm_trace_rss_stat(struct mm_struct *mm, int member, long count) |
| { |
| trace_rss_stat(mm, member, count); |
| } |
| +EXPORT_SYMBOL_GPL(mm_trace_rss_stat); |
| |
| #if defined(SPLIT_RSS_COUNTING) |
| |
| diff --git a/mm/percpu.c b/mm/percpu.c |
| --- a/mm/percpu.c |
| +++ b/mm/percpu.c |
| @@ -2419,6 +2419,7 @@ phys_addr_t per_cpu_ptr_to_phys(void *addr) |
| return page_to_phys(pcpu_addr_to_page(addr)) + |
| offset_in_page(addr); |
| } |
| +EXPORT_SYMBOL_GPL(per_cpu_ptr_to_phys); |
| |
| /** |
| * pcpu_alloc_alloc_info - allocate percpu allocation info |