While there's a common function to parse "memory-region" properties for DMA pool regions, there's not anything for driver private regions. As a result, drivers have resorted to parsing "memory-region" properties themselves repeating the same pattern over and over. To fix this, this series adds 2 functions to handle those cases: of_reserved_mem_region_to_resource() and of_reserved_mem_region_count().
I've converted the whole tree, but just including remoteproc here as it has the most cases. I intend to apply the first 3 patches for 6.16 so the driver conversions can be applied for 6.17. A git tree with all the drivers converted is here[1]. v2: - Fix of_dma_set_restricted_buffer() to maintain behavior on warning msg - Export devm_ioremap_resource_wc() - Rework handling of resource name to drop unit-address from name as it was before. - Link to v1: https://lore.kernel.org/all/20250317232426.952188-1-r...@kernel.org [1] git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git dt/memory-region Signed-off-by: Rob Herring (Arm) <r...@kernel.org> --- Rob Herring (Arm) (4): of: reserved_mem: Add functions to parse "memory-region" of: Simplify of_dma_set_restricted_buffer() to use of_for_each_phandle() devres: Export devm_ioremap_resource_wc() remoteproc: Use of_reserved_mem_region_* functions for "memory-region" drivers/of/device.c | 31 +++++------- drivers/of/of_reserved_mem.c | 80 +++++++++++++++++++++++++++++++ drivers/remoteproc/imx_dsp_rproc.c | 45 +++++++---------- drivers/remoteproc/imx_rproc.c | 68 +++++++++++--------------- drivers/remoteproc/qcom_q6v5_adsp.c | 24 ++++------ drivers/remoteproc/qcom_q6v5_mss.c | 60 ++++++++--------------- drivers/remoteproc/qcom_q6v5_pas.c | 69 ++++++++++---------------- drivers/remoteproc/qcom_q6v5_wcss.c | 25 ++++------ drivers/remoteproc/qcom_wcnss.c | 23 ++++----- drivers/remoteproc/rcar_rproc.c | 36 ++++++-------- drivers/remoteproc/st_remoteproc.c | 41 ++++++++-------- drivers/remoteproc/stm32_rproc.c | 44 ++++++++--------- drivers/remoteproc/ti_k3_dsp_remoteproc.c | 28 +++++------ drivers/remoteproc/ti_k3_m4_remoteproc.c | 28 +++++------ drivers/remoteproc/ti_k3_r5_remoteproc.c | 28 +++++------ drivers/remoteproc/xlnx_r5_remoteproc.c | 51 ++++++++------------ include/linux/of_reserved_mem.h | 26 ++++++++++ lib/devres.c | 1 + 18 files changed, 339 insertions(+), 369 deletions(-) --- base-commit: 0af2f6be1b4281385b618cb86ad946eded089ac8 change-id: 20250423-dt-memory-region-v2-a2b15caacc63 Best regards, -- Rob Herring (Arm) <r...@kernel.org>