Skip to content

Commit b3707be

Browse files
mripardmszyprow
authored andcommitted
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
1 parent 25bd735 commit b3707be

2 files changed

Lines changed: 9 additions & 6 deletions

File tree

include/linux/dma-map-ops.h

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,12 +93,7 @@ static inline void set_dma_ops(struct device *dev,
9393
#ifdef CONFIG_DMA_CMA
9494
extern struct cma *dma_contiguous_default_area;
9595

96-
static inline struct cma *dev_get_cma_area(struct device *dev)
97-
{
98-
if (dev && dev->cma_area)
99-
return dev->cma_area;
100-
return dma_contiguous_default_area;
101-
}
96+
struct cma *dev_get_cma_area(struct device *dev);
10297
struct cma *dma_contiguous_get_area_by_idx(unsigned int idx);
10398

10499
void dma_contiguous_reserve(phys_addr_t addr_limit);

kernel/dma/contiguous.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,14 @@ bool __init cma_skip_dt_default_reserved_mem(void)
131131
return size_cmdline != -1;
132132
}
133133

134+
struct cma *dev_get_cma_area(struct device *dev)
135+
{
136+
if (dev && dev->cma_area)
137+
return dev->cma_area;
138+
139+
return dma_contiguous_default_area;
140+
}
141+
134142
#ifdef CONFIG_DMA_NUMA_CMA
135143

136144
static struct cma *dma_contiguous_numa_area[MAX_NUMNODES];

0 commit comments

Comments
 (0)