summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorMaxime Ripard <mripard@kernel.org>2026-03-31 12:00:11 +0200
committerMarek Szyprowski <m.szyprowski@samsung.com>2026-03-31 13:27:20 +0200
commitb3707be95f045c4e526e419435af29dc9dd1c267 (patch)
tree08dc43c294dbf93591f1601751ea73e34c4f6705 /kernel
parent25bd73562941b04cfba1a278d8c84f2b1c69b8e9 (diff)
dma: contiguous: Make dev_get_cma_area() a proper function
As we try to enable dma-buf heaps, and the CMA one in particular, to compile as modules, we need to export dev_get_cma_area(). It's currently implemented as an inline function that returns either the content of device->cma_area or dma_contiguous_default_area. Thus, it means we need to export dma_contiguous_default_area, which isn't really something we want any module to have access to. Instead, let's make dev_get_cma_area() a proper function we will be able to export so we can avoid exporting dma_contiguous_default_area. Signed-off-by: Maxime Ripard <mripard@kernel.org> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Link: https://lore.kernel.org/r/20260331-dma-buf-heaps-as-modules-v4-2-e18fda504419@kernel.org
Diffstat (limited to 'kernel')
-rw-r--r--kernel/dma/contiguous.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/dma/contiguous.c b/kernel/dma/contiguous.c
index afa9fd313040..40a0ead24979 100644
--- a/kernel/dma/contiguous.c
+++ b/kernel/dma/contiguous.c
@@ -131,6 +131,14 @@ bool __init cma_skip_dt_default_reserved_mem(void)
return size_cmdline != -1;
}
+struct cma *dev_get_cma_area(struct device *dev)
+{
+ if (dev && dev->cma_area)
+ return dev->cma_area;
+
+ return dma_contiguous_default_area;
+}
+
#ifdef CONFIG_DMA_NUMA_CMA
static struct cma *dma_contiguous_numa_area[MAX_NUMNODES];