diff options
| author | Marek Szyprowski <m.szyprowski@samsung.com> | 2026-03-25 10:00:19 +0100 |
|---|---|---|
| committer | Rob Herring (Arm) <robh@kernel.org> | 2026-03-26 14:12:02 -0500 |
| commit | c640cad6a5382ea08a4e052156cfefc8021c51b7 (patch) | |
| tree | a1f680b1800da267744c8747992294bfa977db41 /kernel/dma/contiguous.c | |
| parent | 9d5149b3f2e7e80378907a8d3e4f7a94dfbbbdb8 (diff) | |
| download | linux-next-c640cad6a5382ea08a4e052156cfefc8021c51b7.tar.gz linux-next-c640cad6a5382ea08a4e052156cfefc8021c51b7.zip | |
of: reserved_mem: switch to ops based OF_DECLARE()
Move init function from OF_DECLARE() argument to the given reserved
memory region ops structure and then pass that structure to the
OF_DECLARE() initializer. This node_init callback is mandatory for the
reserved mem driver. Such change makes it possible in the future to add
more functions called by the generic code before given memory region is
initialized and rmem object is created.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://patch.msgid.link/20260325090023.3175348-4-m.szyprowski@samsung.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Diffstat (limited to 'kernel/dma/contiguous.c')
| -rw-r--r-- | kernel/dma/contiguous.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/kernel/dma/contiguous.c b/kernel/dma/contiguous.c index e6fc6906b5c0..efeebda92537 100644 --- a/kernel/dma/contiguous.c +++ b/kernel/dma/contiguous.c @@ -470,11 +470,6 @@ static void rmem_cma_device_release(struct reserved_mem *rmem, dev->cma_area = NULL; } -static const struct reserved_mem_ops rmem_cma_ops = { - .device_init = rmem_cma_device_init, - .device_release = rmem_cma_device_release, -}; - static int __init rmem_cma_setup(unsigned long node, struct reserved_mem *rmem) { bool default_cma = of_get_flat_dt_prop(node, "linux,cma-default", NULL); @@ -499,7 +494,6 @@ static int __init rmem_cma_setup(unsigned long node, struct reserved_mem *rmem) if (default_cma) dma_contiguous_default_area = cma; - rmem->ops = &rmem_cma_ops; rmem->priv = cma; pr_info("Reserved memory: created CMA memory pool at %pa, size %ld MiB\n", @@ -511,5 +505,12 @@ static int __init rmem_cma_setup(unsigned long node, struct reserved_mem *rmem) return 0; } -RESERVEDMEM_OF_DECLARE(cma, "shared-dma-pool", rmem_cma_setup); + +static const struct reserved_mem_ops rmem_cma_ops = { + .node_init = rmem_cma_setup, + .device_init = rmem_cma_device_init, + .device_release = rmem_cma_device_release, +}; + +RESERVEDMEM_OF_DECLARE(cma, "shared-dma-pool", &rmem_cma_ops); #endif |
