Arnaud, Daniel, Iuliana, Andrew and Tanmay - please test this patchset
on the platforms you are working on.
Thanks,
Mathieu
On Wed, 23 Apr 2025 at 13:42, Rob Herring (Arm) <robh@xxxxxxxxxx> wrote:
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-robh@xxxxxxxxxx
[1] git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git dt/memory-region
Signed-off-by: Rob Herring (Arm) <robh@xxxxxxxxxx>
---
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) <robh@xxxxxxxxxx>