On Wed, Oct 02, 2019 at 02:22:48PM -0700, Mark Salyzyn wrote:
> Some drivers can not be turned into a module without cma_alloc and
> cma_release exported.  Examples include ion, and we also found some
> out of tree infiniband and camera drivers.
> 
> Signed-off-by: Mark Salyzyn <saly...@android.com>
> Cc: kernel-t...@android.com
> Cc: linux-kernel@vger.kernel.org
> ---
>  mm/cma.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/mm/cma.c b/mm/cma.c
> index 7fe0b8356775..65d830eea3b1 100644
> --- a/mm/cma.c
> +++ b/mm/cma.c
> @@ -500,6 +500,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 +534,7 @@ bool cma_release(struct cma *cma, const struct page 
> *pages, unsigned int count)
>  
>       return true;
>  }
> +EXPORT_SYMBOL_GPL(cma_release);

Aren't drivers supposed to use the DMA API for such allocations rather
than invoking cma_*() directly?

-- 
Catalin

Reply via email to