[PATCH v2 5/9] mm: cma: Export cma_alloc and cma_release

Maxime Ripard posted 9 patches 1 month, 1 week ago
There is a newer version of this series
[PATCH v2 5/9] mm: cma: Export cma_alloc and cma_release
Posted by Maxime Ripard 1 month, 1 week ago
The CMA dma-buf heap uses cma_alloc() and cma_release() to allocate and
free, respectively, its CMA buffers.

However, these functions are not exported. Since we want to turn the CMA
heap into a module, let's export them both.

Reviewed-by: T.J. Mercier <tjmercier@google.com>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
---
 mm/cma.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mm/cma.c b/mm/cma.c
index 94b5da468a7d719e5144d33b06bcc7619c0fbcc9..be142b473f3bd41b9c7d8ba4397f018f6993d962 100644
--- a/mm/cma.c
+++ b/mm/cma.c
@@ -949,10 +949,11 @@ struct page *cma_alloc(struct cma *cma, unsigned long count,
 	if (page)
 		set_pages_refcounted(page, count);
 
 	return page;
 }
+EXPORT_SYMBOL_GPL(cma_alloc);
 
 static struct cma_memrange *find_cma_memrange(struct cma *cma,
 		const struct page *pages, unsigned long count)
 {
 	struct cma_memrange *cmr = NULL;
@@ -1025,10 +1026,11 @@ bool cma_release(struct cma *cma, const struct page *pages,
 
 	__cma_release_frozen(cma, cmr, pages, count);
 
 	return true;
 }
+EXPORT_SYMBOL_GPL(cma_release);
 
 bool cma_release_frozen(struct cma *cma, const struct page *pages,
 		unsigned long count)
 {
 	struct cma_memrange *cmr;

-- 
2.53.0
Re: [PATCH v2 5/9] mm: cma: Export cma_alloc and cma_release
Posted by David Hildenbrand (Arm) 1 month, 1 week ago
On 2/27/26 14:15, Maxime Ripard wrote:
> The CMA dma-buf heap uses cma_alloc() and cma_release() to allocate and
> free, respectively, its CMA buffers.
> 
> However, these functions are not exported. Since we want to turn the CMA
> heap into a module, let's export them both.
> 
> Reviewed-by: T.J. Mercier <tjmercier@google.com>
> Signed-off-by: Maxime Ripard <mripard@kernel.org>
> ---
>  mm/cma.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/mm/cma.c b/mm/cma.c
> index 94b5da468a7d719e5144d33b06bcc7619c0fbcc9..be142b473f3bd41b9c7d8ba4397f018f6993d962 100644
> --- a/mm/cma.c
> +++ b/mm/cma.c
> @@ -949,10 +949,11 @@ struct page *cma_alloc(struct cma *cma, unsigned long count,
>  	if (page)
>  		set_pages_refcounted(page, count);
>  
>  	return page;
>  }
> +EXPORT_SYMBOL_GPL(cma_alloc);
>  
>  static struct cma_memrange *find_cma_memrange(struct cma *cma,
>  		const struct page *pages, unsigned long count)
>  {
>  	struct cma_memrange *cmr = NULL;
> @@ -1025,10 +1026,11 @@ bool cma_release(struct cma *cma, const struct page *pages,
>  
>  	__cma_release_frozen(cma, cmr, pages, count);
>  
>  	return true;
>  }
> +EXPORT_SYMBOL_GPL(cma_release);
>  
>  bool cma_release_frozen(struct cma *cma, const struct page *pages,
>  		unsigned long count)
>  {
>  	struct cma_memrange *cmr;
> 

Acked-by: David Hildenbrand (Arm) <david@kernel.org>

-- 
Cheers,

David