[PATCH 11/42] remoteproc: mtk_scp: Use devm_of_reserved_mem_device_init()
Mukesh Ojha <[email protected]> Sat, 4 Jul 2026 01:08:24 +0530
| Newsgroups | org.ozlabs.lists.linux-aspeed,dev.linux.lists.imx,dev.linux.lists.linux-staging,dev.linux.lists.linux-sunxi,org.freedesktop.lists.dri-devel,org.infradead.lists.linux-mediatek,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-media,org.kernel.vger.linux-mips,org.kernel.vger.linux-mmc,org.kernel.vger.linux-remoteproc,org.kernel.vger.linux-sound,org.kernel.vger.linux-tegra,org.ozlabs.lists.linuxppc-dev,org.ozlabs.lists.openbmc |
|---|---|
| Message-ID | <[email protected]> |
Switch to devm_of_reserved_mem_device_init() so the reserved memory region is released automatically when the device is unbound. Remove the explicit of_reserved_mem_device_release() call from scp_unmap_memory_region(). The DMA coherent buffer is still freed explicitly there before devres releases the reserved memory region, preserving the correct teardown order. Signed-off-by: Mukesh Ojha <[email protected]> --- drivers/remoteproc/mtk_scp.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/remoteproc/mtk_scp.c b/drivers/remoteproc/mtk_scp.c index 85a74c9ec521..a4387649ad7f 100644 --- a/drivers/remoteproc/mtk_scp.c +++ b/drivers/remoteproc/mtk_scp.c @@ -1027,7 +1027,7 @@ static int scp_map_memory_region(struct mtk_scp *scp) int ret; const struct mtk_scp_sizes_data *scp_sizes; - ret = of_reserved_mem_device_init(scp->dev); + ret = devm_of_reserved_mem_device_init(scp->dev); /* reserved memory is optional. */ if (ret == -ENODEV) { @@ -1060,7 +1060,6 @@ static void scp_unmap_memory_region(struct mtk_scp *scp) dma_free_coherent(scp->dev, scp_sizes->max_dram_size, scp->cpu_addr, scp->dma_addr); - of_reserved_mem_device_release(scp->dev); } static int scp_register_ipi(struct platform_device *pdev, u32 id, -- 2.53.0