* [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers
@ 2026-07-03 19:38 Mukesh Ojha
2026-07-03 19:38 ` [PATCH 01/42] of: reserved_mem: Introduce devres-managed initialization functions Mukesh Ojha
` (43 more replies)
0 siblings, 44 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Drivers using of_reserved_mem_device_init() and its variants must
manually call of_reserved_mem_device_release() in their remove and
error-unwind paths. This is repetitive boilerplate that is easy to
get wrong, and several drivers have open-coded the teardown
inconsistently or skipped it entirely, leading to dangling reserved
memory references.
This series introduces devres-managed wrappers —
devm_of_reserved_mem_device_init(), devm_of_reserved_mem_device_init_by_idx(),
and devm_of_reserved_mem_device_init_by_name() — that tie the reserved
memory region lifetime to the device, releasing it automatically on
unbind. The remaining 40 patches convert drivers across the drm, media,
ASoC, remoteproc, firmware, mmc, memory and misc subsystems to use these
helpers, yielding a net reduction of ~90 lines of boilerplate.
This series depends on https://lore.kernel.org/lkml/20260703164457.4040457-1-mukesh.ojha@oss.qualcomm.com/
Konrad Dybcio (1):
of: reserved_mem: Introduce devres-managed initialization functions
Mukesh Ojha (41):
of: reserved_mem: Add devm_of_reserved_mem_device_init_by_name()
firmware: qcom: scm: Use devm_of_reserved_mem_device_init()
remoteproc: da8xx: Use devm_of_reserved_mem_device_init()
remoteproc: keystone: Use devm_of_reserved_mem_device_init()
media: synopsys: hdmirx: Use devm_of_reserved_mem_device_init()
remoteproc: omap: Use devm_of_reserved_mem_device_init()
drm: logicvc: Use devm_of_reserved_mem_device_init()
drm: hdlcd: Use devm_of_reserved_mem_device_init()
drm: pl111: Use devm_of_reserved_mem_device_init()
remoteproc: mtk_scp: Use devm_of_reserved_mem_device_init()
media: aspeed: Use devm_of_reserved_mem_device_init()
media: nuvoton: npcm-video: Use devm_of_reserved_mem_device_init()
memory: tegra210-emc: Use devm_of_reserved_mem_device_init_by_name()
drm: komeda: Use devm_of_reserved_mem_device_init()
drm: malidp: Use devm_of_reserved_mem_device_init()
drm: ingenic: Use devm_of_reserved_mem_device_init()
drm: kmb: Use devm_of_reserved_mem_device_init()
drm: sun4i: Use devm_of_reserved_mem_device_init()
drm: xlnx: zynqmp_dpsub: Use devm_of_reserved_mem_device_init()
media: arm: mali-c55: Use devm_of_reserved_mem_device_init()
media: mediatek: vpu: Use devm_of_reserved_mem_device_init()
mmc: sdhci-of-bst: Use devm_of_reserved_mem_device_init_by_idx()
remoteproc: ti_k3: Use devm_of_reserved_mem_device_init()
ASoC: mediatek: mt8192: Use devm_of_reserved_mem_device_init()
ASoC: mediatek: mt8196: Use devm_of_reserved_mem_device_init()
ASoC: mediatek: mt8183: Use devm_of_reserved_mem_device_init()
ASoC: mediatek: mt8189: Use devm_of_reserved_mem_device_init()
ASoC: SOF: imx: Use devm_of_reserved_mem_device_init_by_name()
staging: media: cedrus: Use devm_of_reserved_mem_device_init()
ASoC: cix-ipbloq: Use devm_of_reserved_mem_device_init()
drm: aspeed: Use devm_of_reserved_mem_device_init()
drm: arcpgu: Use devm_of_reserved_mem_device_init()
ASoC: mediatek: mt8173: Use devm_of_reserved_mem_device_init()
ASoC: mediatek: mt8186: Use devm_of_reserved_mem_device_init()
ASoC: mediatek: mt8188: Use devm_of_reserved_mem_device_init()
ASoC: mediatek: mt8195: Use devm_of_reserved_mem_device_init()
ASoC: SOF: mediatek: mt8186: Use devm_of_reserved_mem_device_init()
ASoC: SOF: mediatek: mt8195: Use devm_of_reserved_mem_device_init()
misc: fastrpc: Use devm_of_reserved_mem_device_init()
ASoC: fsl: imx-rpmsg: Use devm_of_reserved_mem_device_init_by_idx()
ASoC: sprd: Use devm_of_reserved_mem_device_init()
drivers/firmware/qcom/qcom_scm.c | 22 +++------
.../gpu/drm/arm/display/komeda/komeda_dev.c | 4 +-
drivers/gpu/drm/arm/hdlcd_drv.c | 6 +--
drivers/gpu/drm/arm/malidp_drv.c | 4 +-
drivers/gpu/drm/aspeed/aspeed_gfx_drv.c | 2 +-
drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 13 +-----
drivers/gpu/drm/kmb/kmb_drv.c | 12 +----
drivers/gpu/drm/logicvc/logicvc_drm.c | 21 ++++-----
drivers/gpu/drm/pl111/pl111_drv.c | 4 +-
drivers/gpu/drm/sun4i/sun4i_drv.c | 4 +-
drivers/gpu/drm/tiny/arcpgu.c | 2 +-
drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 4 +-
.../platform/arm/mali-c55/mali-c55-core.c | 12 ++---
drivers/media/platform/aspeed/aspeed-video.c | 12 ++---
drivers/media/platform/mediatek/vpu/mtk_vpu.c | 3 +-
drivers/media/platform/nuvoton/npcm-video.c | 9 +---
.../platform/synopsys/hdmirx/snps_hdmirx.c | 16 +------
drivers/memory/tegra/tegra210-emc-core.c | 21 ++++-----
drivers/misc/fastrpc.c | 2 +-
drivers/mmc/host/sdhci-of-bst.c | 7 +--
drivers/of/of_reserved_mem.c | 41 +++++++++++++++++
drivers/remoteproc/da8xx_remoteproc.c | 10 +---
drivers/remoteproc/keystone_remoteproc.c | 16 +------
drivers/remoteproc/mtk_scp.c | 3 +-
drivers/remoteproc/omap_remoteproc.c | 13 +-----
drivers/remoteproc/ti_k3_common.c | 13 +-----
drivers/remoteproc/ti_k3_common.h | 1 -
.../staging/media/sunxi/cedrus/cedrus_hw.c | 6 +--
include/linux/of_reserved_mem.h | 46 +++++++++++++++++++
sound/hda/controllers/cix-ipbloq.c | 2 +-
sound/soc/fsl/imx-rpmsg.c | 2 +-
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 2 +-
sound/soc/mediatek/mt8183/mt8183-afe-pcm.c | 13 +-----
sound/soc/mediatek/mt8186/mt8186-afe-pcm.c | 2 +-
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c | 2 +-
sound/soc/mediatek/mt8189/mt8189-afe-pcm.c | 16 +------
sound/soc/mediatek/mt8192/mt8192-afe-pcm.c | 11 +----
sound/soc/mediatek/mt8195/mt8195-afe-pcm.c | 2 +-
sound/soc/mediatek/mt8196/mt8196-afe-pcm.c | 14 +-----
sound/soc/sof/imx/imx-common.c | 9 ++--
sound/soc/sof/mediatek/mt8186/mt8186.c | 2 +-
sound/soc/sof/mediatek/mt8195/mt8195.c | 2 +-
sound/soc/sprd/sprd-pcm-dma.c | 3 +-
43 files changed, 162 insertions(+), 249 deletions(-)
--
2.53.0
^ permalink raw reply [flat|nested] 60+ messages in thread
* [PATCH 01/42] of: reserved_mem: Introduce devres-managed initialization functions
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 02/42] of: reserved_mem: Add devm_of_reserved_mem_device_init_by_name() Mukesh Ojha
` (42 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Konrad Dybcio, Mukesh Ojha
From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Introduce devres-based helpers for of_reserved_mem_device_init(_by_idx)
to help fight dangling references and ever so slightly reduce the
number of boilerplate deinitialization calls.
Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/of/of_reserved_mem.c | 41 +++++++++++++++++++++++++++++++++
include/linux/of_reserved_mem.h | 25 ++++++++++++++++++++
2 files changed, 66 insertions(+)
diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c
index 82222bd45ac6..b35541e9fbe8 100644
--- a/drivers/of/of_reserved_mem.c
+++ b/drivers/of/of_reserved_mem.c
@@ -787,6 +787,47 @@ void of_reserved_mem_device_release(struct device *dev)
}
EXPORT_SYMBOL_GPL(of_reserved_mem_device_release);
+static void devm_of_reserved_mem_device_release(struct device *dev, void *res)
+{
+ of_reserved_mem_device_release(*(struct device **)res);
+}
+
+/**
+ * devm_of_reserved_mem_device_init_by_idx() - Resource managed of_reserved_mem_device_init_by_idx()
+ * @dev: Pointer to the device to configure
+ * @np: Pointer to the device node with 'memory-region' property
+ * @idx: Index of selected region
+ *
+ * This is a resource managed version of of_reserved_mem_device_init_by_idx().
+ * The reserved memory region will be released automatically when the device
+ * is unbound.
+ *
+ * Returns: Negative errno on failure or zero on success.
+ */
+int devm_of_reserved_mem_device_init_by_idx(struct device *dev,
+ struct device_node *np, int idx)
+{
+ struct device **ptr;
+ int ret;
+
+ ptr = devres_alloc(devm_of_reserved_mem_device_release, sizeof(*ptr),
+ GFP_KERNEL);
+ if (!ptr)
+ return -ENOMEM;
+
+ ret = of_reserved_mem_device_init_by_idx(dev, np, idx);
+ if (ret) {
+ devres_free(ptr);
+ return ret;
+ }
+
+ *ptr = dev;
+ devres_add(dev, ptr);
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(devm_of_reserved_mem_device_init_by_idx);
+
/**
* of_reserved_mem_lookup() - acquire reserved_mem from a device node
* @np: node pointer of the desired reserved-memory region
diff --git a/include/linux/of_reserved_mem.h b/include/linux/of_reserved_mem.h
index e8b20b29fa68..b9fd78123d77 100644
--- a/include/linux/of_reserved_mem.h
+++ b/include/linux/of_reserved_mem.h
@@ -40,6 +40,9 @@ int of_reserved_mem_device_init_by_name(struct device *dev,
const char *name);
void of_reserved_mem_device_release(struct device *dev);
+int devm_of_reserved_mem_device_init_by_idx(struct device *dev,
+ struct device_node *np, int idx);
+
struct reserved_mem *of_reserved_mem_lookup(struct device_node *np);
int of_reserved_mem_region_to_resource(const struct device_node *np,
unsigned int idx, struct resource *res);
@@ -68,6 +71,13 @@ static inline int of_reserved_mem_device_init_by_name(struct device *dev,
static inline void of_reserved_mem_device_release(struct device *pdev) { }
+static inline int devm_of_reserved_mem_device_init_by_idx(struct device *dev,
+ struct device_node *np,
+ int idx)
+{
+ return -EOPNOTSUPP;
+}
+
static inline struct reserved_mem *of_reserved_mem_lookup(struct device_node *np)
{
return NULL;
@@ -108,4 +118,19 @@ static inline int of_reserved_mem_device_init(struct device *dev)
return of_reserved_mem_device_init_by_idx(dev, dev->of_node, 0);
}
+/**
+ * devm_of_reserved_mem_device_init() - Resource managed version of of_reserved_mem_device_init()
+ * @dev: Pointer to the device to configure
+ *
+ * This is a resource managed version of of_reserved_mem_device_init().
+ * The reserved memory region will be released automatically when the device
+ * is unbound.
+ *
+ * Returns error code or zero on success.
+ */
+static inline int devm_of_reserved_mem_device_init(struct device *dev)
+{
+ return devm_of_reserved_mem_device_init_by_idx(dev, dev->of_node, 0);
+}
+
#endif /* __OF_RESERVED_MEM_H */
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 02/42] of: reserved_mem: Add devm_of_reserved_mem_device_init_by_name()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
2026-07-03 19:38 ` [PATCH 01/42] of: reserved_mem: Introduce devres-managed initialization functions Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 03/42] firmware: qcom: scm: Use devm_of_reserved_mem_device_init() Mukesh Ojha
` (41 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Add a resource managed inline wrapper for
of_reserved_mem_device_init_by_name() to complement the existing
devm_of_reserved_mem_device_init_by_idx() and
devm_of_reserved_mem_device_init() helpers.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
include/linux/of_reserved_mem.h | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/include/linux/of_reserved_mem.h b/include/linux/of_reserved_mem.h
index b9fd78123d77..52aacdbf432c 100644
--- a/include/linux/of_reserved_mem.h
+++ b/include/linux/of_reserved_mem.h
@@ -133,4 +133,25 @@ static inline int devm_of_reserved_mem_device_init(struct device *dev)
return devm_of_reserved_mem_device_init_by_idx(dev, dev->of_node, 0);
}
+/**
+ * devm_of_reserved_mem_device_init_by_name() - Resource managed of_reserved_mem_device_init_by_name
+ * @dev: Pointer to the device to configure
+ * @np: Pointer to the device node with 'memory-region' property
+ * @name: Name of the selected memory region
+ *
+ * This is a resource managed version of of_reserved_mem_device_init_by_name().
+ * The reserved memory region will be released automatically when the device
+ * is unbound.
+ *
+ * Returns error code or zero on success.
+ */
+static inline int devm_of_reserved_mem_device_init_by_name(struct device *dev,
+ struct device_node *np,
+ const char *name)
+{
+ int idx = of_property_match_string(np, "memory-region-names", name);
+
+ return devm_of_reserved_mem_device_init_by_idx(dev, np, idx);
+}
+
#endif /* __OF_RESERVED_MEM_H */
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 03/42] firmware: qcom: scm: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
2026-07-03 19:38 ` [PATCH 01/42] of: reserved_mem: Introduce devres-managed initialization functions Mukesh Ojha
2026-07-03 19:38 ` [PATCH 02/42] of: reserved_mem: Add devm_of_reserved_mem_device_init_by_name() Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 23:12 ` Dmitry Baryshkov
2026-07-06 8:32 ` Konrad Dybcio
2026-07-03 19:38 ` [PATCH 04/42] remoteproc: da8xx: " Mukesh Ojha
` (40 subsequent siblings)
43 siblings, 2 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Switch from of_reserved_mem_device_init() to the new resource managed
devm_of_reserved_mem_device_init() so that the reserved memory region
is released automatically on probe failure or device unbind. This
eliminates the err_rmem cleanup label and the need to call
of_reserved_mem_device_release() explicitly on error paths.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/firmware/qcom/qcom_scm.c | 22 +++++++---------------
1 file changed, 7 insertions(+), 15 deletions(-)
diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_scm.c
index 26bf87247afa..0f9559b9cc53 100644
--- a/drivers/firmware/qcom/qcom_scm.c
+++ b/drivers/firmware/qcom/qcom_scm.c
@@ -2779,17 +2779,15 @@ static int qcom_scm_probe(struct platform_device *pdev)
if (ret)
return ret;
- ret = of_reserved_mem_device_init(scm->dev);
+ ret = devm_of_reserved_mem_device_init(scm->dev);
if (ret && ret != -ENODEV)
return dev_err_probe(scm->dev, ret,
"Failed to setup the reserved memory region for TZ mem\n");
ret = qcom_tzmem_enable(scm->dev);
- if (ret) {
- ret = dev_err_probe(scm->dev, ret,
- "Failed to enable the TrustZone memory allocator\n");
- goto err_rmem;
- }
+ if (ret)
+ return dev_err_probe(scm->dev, ret,
+ "Failed to enable the TrustZone memory allocator\n");
memset(&pool_config, 0, sizeof(pool_config));
pool_config.initial_size = 0;
@@ -2797,11 +2795,9 @@ static int qcom_scm_probe(struct platform_device *pdev)
pool_config.max_size = SZ_256K;
scm->mempool = devm_qcom_tzmem_pool_new(scm->dev, &pool_config);
- if (IS_ERR(scm->mempool)) {
- ret = dev_err_probe(scm->dev, PTR_ERR(scm->mempool),
- "Failed to create the SCM memory pool\n");
- goto err_rmem;
- }
+ if (IS_ERR(scm->mempool))
+ return dev_err_probe(scm->dev, PTR_ERR(scm->mempool),
+ "Failed to create the SCM memory pool\n");
ret = qcom_scm_query_waitq_count(scm);
scm->wq_cnt = ret < 0 ? QCOM_SCM_DEFAULT_WAITQ_COUNT : ret;
@@ -2872,10 +2868,6 @@ static int qcom_scm_probe(struct platform_device *pdev)
qcom_scm_gunyah_wdt_init(scm);
return 0;
-
-err_rmem:
- of_reserved_mem_device_release(scm->dev);
- return ret;
}
static void qcom_scm_shutdown(struct platform_device *pdev)
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 04/42] remoteproc: da8xx: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (2 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 03/42] firmware: qcom: scm: Use devm_of_reserved_mem_device_init() Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 05/42] remoteproc: keystone: " Mukesh Ojha
` (39 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Replace the hand-rolled da8xx_rproc_mem_release() devres action with
devm_of_reserved_mem_device_init(), which handles the cleanup
automatically. This removes both the wrapper function and the
devm_add_action_or_reset() call.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/remoteproc/da8xx_remoteproc.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/drivers/remoteproc/da8xx_remoteproc.c b/drivers/remoteproc/da8xx_remoteproc.c
index 23fca7176539..cd9a8f2b3163 100644
--- a/drivers/remoteproc/da8xx_remoteproc.c
+++ b/drivers/remoteproc/da8xx_remoteproc.c
@@ -230,13 +230,6 @@ static int da8xx_rproc_get_internal_memories(struct platform_device *pdev,
return 0;
}
-static void da8xx_rproc_mem_release(void *data)
-{
- struct device *dev = data;
-
- of_reserved_mem_device_release(dev);
-}
-
static int da8xx_rproc_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
@@ -267,10 +260,9 @@ static int da8xx_rproc_probe(struct platform_device *pdev)
"unable to get reset control\n");
if (dev->of_node) {
- ret = of_reserved_mem_device_init(dev);
+ ret = devm_of_reserved_mem_device_init(dev);
if (ret)
return dev_err_probe(dev, ret, "device does not have specific CMA pool\n");
- devm_add_action_or_reset(&pdev->dev, da8xx_rproc_mem_release, &pdev->dev);
}
ret = da8xx_rproc_get_internal_memories(pdev, drproc);
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 05/42] remoteproc: keystone: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (3 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 04/42] remoteproc: da8xx: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 06/42] media: synopsys: hdmirx: " Mukesh Ojha
` (38 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Replace the hand-rolled keystone_rproc_mem_release() devres action with
devm_of_reserved_mem_device_init(), which handles the cleanup
automatically. This removes both the wrapper function and the
devm_add_action_or_reset() call.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/remoteproc/keystone_remoteproc.c | 16 ++--------------
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/drivers/remoteproc/keystone_remoteproc.c b/drivers/remoteproc/keystone_remoteproc.c
index 83763d640c4e..7834a50da209 100644
--- a/drivers/remoteproc/keystone_remoteproc.c
+++ b/drivers/remoteproc/keystone_remoteproc.c
@@ -330,13 +330,6 @@ static int keystone_rproc_of_get_dev_syscon(struct platform_device *pdev,
return 0;
}
-static void keystone_rproc_mem_release(void *data)
-{
- struct device *dev = data;
-
- of_reserved_mem_device_release(dev);
-}
-
static void keystone_rproc_pm_runtime_put(void *data)
{
struct device *dev = data;
@@ -426,14 +419,9 @@ static int keystone_rproc_probe(struct platform_device *pdev)
if (ret)
return dev_err_probe(dev, ret, "failed to get gpio for virtio kicks\n");
- ret = of_reserved_mem_device_init(dev);
- if (ret) {
+ ret = devm_of_reserved_mem_device_init(dev);
+ if (ret)
dev_warn(dev, "device does not have specific CMA pool\n");
- } else {
- ret = devm_add_action_or_reset(dev, keystone_rproc_mem_release, dev);
- if (ret)
- return ret;
- }
/* ensure the DSP is in reset before loading firmware */
ret = reset_control_status(ksproc->reset);
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 06/42] media: synopsys: hdmirx: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (4 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 05/42] remoteproc: keystone: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-06 15:00 ` Dmitry Osipenko
2026-07-03 19:38 ` [PATCH 07/42] remoteproc: omap: " Mukesh Ojha
` (37 subsequent siblings)
43 siblings, 1 reply; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Replace the hand-rolled devm_hdmirx_of_reserved_mem_device_release()
devres action with devm_of_reserved_mem_device_init(), which handles the
cleanup automatically. This removes both the wrapper function and the
devm_add_action_or_reset() call.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
.../media/platform/synopsys/hdmirx/snps_hdmirx.c | 16 ++--------------
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
index 25f8ca0d6d94..7c6acc6d7e88 100644
--- a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
+++ b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
@@ -2265,11 +2265,6 @@ static const struct hdmirx_cec_ops hdmirx_cec_ops = {
.read = hdmirx_readl,
};
-static void devm_hdmirx_of_reserved_mem_device_release(void *dev)
-{
- of_reserved_mem_device_release(dev);
-}
-
static int hdmirx_parse_dt(struct snps_hdmirx_dev *hdmirx_dev)
{
struct device *dev = hdmirx_dev->dev;
@@ -2316,16 +2311,9 @@ static int hdmirx_parse_dt(struct snps_hdmirx_dev *hdmirx_dev)
if (!device_property_read_bool(dev, "hpd-is-active-low"))
hdmirx_dev->hpd_trigger_level_high = true;
- ret = of_reserved_mem_device_init(dev);
- if (ret) {
+ ret = devm_of_reserved_mem_device_init(dev);
+ if (ret)
dev_warn(dev, "no reserved memory for HDMIRX, use default CMA\n");
- } else {
- ret = devm_add_action_or_reset(dev,
- devm_hdmirx_of_reserved_mem_device_release,
- dev);
- if (ret)
- return ret;
- }
return 0;
}
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 07/42] remoteproc: omap: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (5 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 06/42] media: synopsys: hdmirx: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 08/42] drm: logicvc: " Mukesh Ojha
` (36 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Replace the hand-rolled omap_rproc_mem_release() devres action with
devm_of_reserved_mem_device_init(), which handles the cleanup
automatically. This removes both the wrapper function and the
devm_add_action_or_reset() call.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/remoteproc/omap_remoteproc.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/drivers/remoteproc/omap_remoteproc.c b/drivers/remoteproc/omap_remoteproc.c
index 6ed0f28edac9..74262f873d40 100644
--- a/drivers/remoteproc/omap_remoteproc.c
+++ b/drivers/remoteproc/omap_remoteproc.c
@@ -1276,13 +1276,6 @@ static int omap_rproc_of_get_timers(struct platform_device *pdev,
return 0;
}
-static void omap_rproc_mem_release(void *data)
-{
- struct device *dev = data;
-
- of_reserved_mem_device_release(dev);
-}
-
static int omap_rproc_probe(struct platform_device *pdev)
{
struct device_node *np = pdev->dev.of_node;
@@ -1359,15 +1352,11 @@ static int omap_rproc_probe(struct platform_device *pdev)
if (IS_ERR(oproc->fck))
return PTR_ERR(oproc->fck);
- ret = of_reserved_mem_device_init(&pdev->dev);
- if (ret) {
+ if (devm_of_reserved_mem_device_init(&pdev->dev)) {
dev_warn(&pdev->dev, "device does not have specific CMA pool.\n");
dev_warn(&pdev->dev, "Typically this should be provided,\n");
dev_warn(&pdev->dev, "only omit if you know what you are doing.\n");
}
- ret = devm_add_action_or_reset(&pdev->dev, omap_rproc_mem_release, &pdev->dev);
- if (ret)
- return ret;
platform_set_drvdata(pdev, rproc);
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 08/42] drm: logicvc: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (6 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 07/42] remoteproc: omap: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-07 14:10 ` Paul Kocialkowski
2026-07-03 19:38 ` [PATCH 09/42] drm: hdlcd: " Mukesh Ojha
` (35 subsequent siblings)
43 siblings, 1 reply; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Switch to devm_of_reserved_mem_device_init() so the reserved memory
region is released automatically on probe failure or device unbind.
Replace all error paths that jumped to error_reserved_mem: with
error_early: since the manual cleanup label is no longer needed, and
remove the explicit of_reserved_mem_device_release() call in the remove
function.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/gpu/drm/logicvc/logicvc_drm.c | 21 ++++++++-------------
1 file changed, 8 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/logicvc/logicvc_drm.c b/drivers/gpu/drm/logicvc/logicvc_drm.c
index bbebf4fc7f51..d6dbe52ff0a9 100644
--- a/drivers/gpu/drm/logicvc/logicvc_drm.c
+++ b/drivers/gpu/drm/logicvc/logicvc_drm.c
@@ -306,7 +306,7 @@ static int logicvc_drm_probe(struct platform_device *pdev)
int irq;
int ret;
- ret = of_reserved_mem_device_init(dev);
+ ret = devm_of_reserved_mem_device_init(dev);
if (ret && ret != -ENODEV) {
dev_err(dev, "Failed to init memory region\n");
goto error_early;
@@ -327,14 +327,14 @@ static int logicvc_drm_probe(struct platform_device *pdev)
ret = of_address_to_resource(of_node, 0, &res);
if (ret) {
dev_err(dev, "Failed to get resource from address\n");
- goto error_reserved_mem;
+ goto error_early;
}
base = devm_ioremap_resource(dev, &res);
if (IS_ERR(base)) {
dev_err(dev, "Failed to map I/O base\n");
ret = PTR_ERR(base);
- goto error_reserved_mem;
+ goto error_early;
}
logicvc_drm_regmap_config.max_register = resource_size(&res) -
@@ -345,21 +345,21 @@ static int logicvc_drm_probe(struct platform_device *pdev)
if (IS_ERR(regmap)) {
dev_err(dev, "Failed to create regmap for I/O\n");
ret = PTR_ERR(regmap);
- goto error_reserved_mem;
+ goto error_early;
}
}
irq = platform_get_irq(pdev, 0);
if (irq < 0) {
ret = -ENODEV;
- goto error_reserved_mem;
+ goto error_early;
}
logicvc = devm_drm_dev_alloc(dev, &logicvc_drm_driver,
struct logicvc_drm, drm_dev);
if (IS_ERR(logicvc)) {
ret = PTR_ERR(logicvc);
- goto error_reserved_mem;
+ goto error_early;
}
platform_set_drvdata(pdev, logicvc);
@@ -371,7 +371,7 @@ static int logicvc_drm_probe(struct platform_device *pdev)
caps = logicvc_drm_caps_match(logicvc);
if (!caps) {
ret = -EINVAL;
- goto error_reserved_mem;
+ goto error_early;
}
logicvc->caps = caps;
@@ -382,7 +382,7 @@ static int logicvc_drm_probe(struct platform_device *pdev)
ret = logicvc_clocks_prepare(logicvc);
if (ret) {
drm_err(drm_dev, "Failed to prepare clocks\n");
- goto error_reserved_mem;
+ goto error_early;
}
ret = devm_request_irq(dev, irq, logicvc_drm_irq_handler, 0,
@@ -450,9 +450,6 @@ static int logicvc_drm_probe(struct platform_device *pdev)
error_clocks:
logicvc_clocks_unprepare(logicvc);
-error_reserved_mem:
- of_reserved_mem_device_release(dev);
-
error_early:
return ret;
}
@@ -469,8 +466,6 @@ static void logicvc_drm_remove(struct platform_device *pdev)
logicvc_mode_fini(logicvc);
logicvc_clocks_unprepare(logicvc);
-
- of_reserved_mem_device_release(dev);
}
static void logicvc_drm_shutdown(struct platform_device *pdev)
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 09/42] drm: hdlcd: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (7 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 08/42] drm: logicvc: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 10/42] drm: pl111: " Mukesh Ojha
` (34 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Switch to devm_of_reserved_mem_device_init() so the reserved memory
region is released automatically on probe failure or device unbind.
Remove the three explicit of_reserved_mem_device_release() calls in
the setup_fail error path, the bind error path, and hdlcd_drm_unbind().
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/gpu/drm/arm/hdlcd_drv.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c
index 81d45f2dd6a7..67466fd441d5 100644
--- a/drivers/gpu/drm/arm/hdlcd_drv.c
+++ b/drivers/gpu/drm/arm/hdlcd_drv.c
@@ -134,7 +134,7 @@ static int hdlcd_load(struct drm_device *drm, unsigned long flags)
version & HDLCD_VERSION_MINOR_MASK);
/* Get the optional framebuffer memory resource */
- ret = of_reserved_mem_device_init(drm->dev);
+ ret = devm_of_reserved_mem_device_init(drm->dev);
if (ret && ret != -ENODEV)
return ret;
@@ -164,8 +164,6 @@ static int hdlcd_load(struct drm_device *drm, unsigned long flags)
irq_fail:
drm_crtc_cleanup(&hdlcd->crtc);
setup_fail:
- of_reserved_mem_device_release(drm->dev);
-
return ret;
}
@@ -316,7 +314,6 @@ static int hdlcd_drm_bind(struct device *dev)
of_node_put(hdlcd->crtc.port);
hdlcd->crtc.port = NULL;
hdlcd_irq_uninstall(hdlcd);
- of_reserved_mem_device_release(drm->dev);
err_free:
dev_set_drvdata(dev, NULL);
return ret;
@@ -338,7 +335,6 @@ static void hdlcd_drm_unbind(struct device *dev)
pm_runtime_put(dev);
if (pm_runtime_enabled(dev))
pm_runtime_disable(dev);
- of_reserved_mem_device_release(dev);
dev_set_drvdata(dev, NULL);
}
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 10/42] drm: pl111: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (8 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 09/42] drm: hdlcd: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 11/42] remoteproc: mtk_scp: " Mukesh Ojha
` (33 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Switch to devm_of_reserved_mem_device_init() so the reserved memory
region is released automatically on probe failure or device removal.
Remove the explicit of_reserved_mem_device_release() calls in the
dev_put error path and pl111_amba_remove().
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/gpu/drm/pl111/pl111_drv.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/pl111/pl111_drv.c b/drivers/gpu/drm/pl111/pl111_drv.c
index ac7b1d12a0f5..25ce37a4e8bf 100644
--- a/drivers/gpu/drm/pl111/pl111_drv.c
+++ b/drivers/gpu/drm/pl111/pl111_drv.c
@@ -254,7 +254,7 @@ static int pl111_amba_probe(struct amba_device *amba_dev,
drm->dev_private = priv;
priv->variant = variant;
- ret = of_reserved_mem_device_init(dev);
+ ret = devm_of_reserved_mem_device_init(dev);
if (!ret) {
drm_info(drm, "using device-specific reserved memory\n");
priv->use_device_memory = true;
@@ -313,7 +313,6 @@ static int pl111_amba_probe(struct amba_device *amba_dev,
dev_put:
drm_dev_put(drm);
- of_reserved_mem_device_release(dev);
return ret;
}
@@ -329,7 +328,6 @@ static void pl111_amba_remove(struct amba_device *amba_dev)
if (priv->panel)
drm_panel_bridge_remove(priv->bridge);
drm_dev_put(drm);
- of_reserved_mem_device_release(dev);
}
static void pl111_amba_shutdown(struct amba_device *amba_dev)
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 11/42] remoteproc: mtk_scp: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (9 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 10/42] drm: pl111: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 12/42] media: aspeed: " Mukesh Ojha
` (32 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
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 <mukesh.ojha@oss.qualcomm.com>
---
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
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 12/42] media: aspeed: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (10 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 11/42] remoteproc: mtk_scp: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 13/42] media: nuvoton: npcm-video: " Mukesh Ojha
` (31 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Switch to devm_of_reserved_mem_device_init() so the reserved memory
region is released automatically on probe failure or device removal.
Remove the three explicit of_reserved_mem_device_release() calls and
rename the error label from err_release_reserved_mem to
err_unprepare_vclk to reflect that it now only unwinds clock state.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/media/platform/aspeed/aspeed-video.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/drivers/media/platform/aspeed/aspeed-video.c b/drivers/media/platform/aspeed/aspeed-video.c
index a292275f6b7b..7ba9314fdbd2 100644
--- a/drivers/media/platform/aspeed/aspeed-video.c
+++ b/drivers/media/platform/aspeed/aspeed-video.c
@@ -2267,19 +2267,19 @@ static int aspeed_video_init(struct aspeed_video *video)
if (rc)
goto err_unprepare_eclk;
- of_reserved_mem_device_init(dev);
+ devm_of_reserved_mem_device_init(dev);
rc = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32));
if (rc) {
dev_err(dev, "Failed to set DMA mask\n");
- goto err_release_reserved_mem;
+ goto err_unprepare_vclk;
}
if (!aspeed_video_alloc_buf(video, &video->jpeg,
VE_JPEG_HEADER_SIZE)) {
dev_err(dev, "Failed to allocate DMA for JPEG header\n");
rc = -ENOMEM;
- goto err_release_reserved_mem;
+ goto err_unprepare_vclk;
}
dev_info(video->dev, "alloc mem size(%d) at %pad for jpeg header\n",
VE_JPEG_HEADER_SIZE, &video->jpeg.dma);
@@ -2288,8 +2288,7 @@ static int aspeed_video_init(struct aspeed_video *video)
return 0;
-err_release_reserved_mem:
- of_reserved_mem_device_release(dev);
+err_unprepare_vclk:
clk_unprepare(video->vclk);
err_unprepare_eclk:
clk_unprepare(video->eclk);
@@ -2343,7 +2342,6 @@ static int aspeed_video_probe(struct platform_device *pdev)
rc = aspeed_video_setup_video(video);
if (rc) {
aspeed_video_free_buf(video, &video->jpeg);
- of_reserved_mem_device_release(&pdev->dev);
clk_unprepare(video->vclk);
clk_unprepare(video->eclk);
return rc;
@@ -2374,8 +2372,6 @@ static void aspeed_video_remove(struct platform_device *pdev)
v4l2_device_unregister(v4l2_dev);
aspeed_video_free_buf(video, &video->jpeg);
-
- of_reserved_mem_device_release(dev);
}
static struct platform_driver aspeed_video_driver = {
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 13/42] media: nuvoton: npcm-video: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (11 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 12/42] media: aspeed: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 14/42] memory: tegra210-emc: Use devm_of_reserved_mem_device_init_by_name() Mukesh Ojha
` (30 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Switch to devm_of_reserved_mem_device_init() so the reserved memory
region is released automatically on probe failure or device removal.
Remove the four explicit of_reserved_mem_device_release() calls and
collapse the now-empty err_release_mem label into err_free.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/media/platform/nuvoton/npcm-video.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/drivers/media/platform/nuvoton/npcm-video.c b/drivers/media/platform/nuvoton/npcm-video.c
index 52505af35c08..6786736c8f07 100644
--- a/drivers/media/platform/nuvoton/npcm-video.c
+++ b/drivers/media/platform/nuvoton/npcm-video.c
@@ -1715,17 +1715,15 @@ static int npcm_video_init(struct npcm_video *video)
return rc;
}
- of_reserved_mem_device_init(dev);
+ devm_of_reserved_mem_device_init(dev);
rc = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32));
if (rc) {
dev_err(dev, "Failed to set DMA mask\n");
- of_reserved_mem_device_release(dev);
return rc;
}
rc = npcm_video_ece_init(video);
if (rc) {
- of_reserved_mem_device_release(dev);
dev_err(dev, "Failed to initialize ECE\n");
return rc;
}
@@ -1789,13 +1787,11 @@ static int npcm_video_probe(struct platform_device *pdev)
rc = npcm_video_setup_video(video);
if (rc)
- goto err_release_mem;
+ goto err_free;
dev_info(video->dev, "NPCM video driver probed\n");
return 0;
-err_release_mem:
- of_reserved_mem_device_release(&pdev->dev);
err_free:
kfree(video);
return rc;
@@ -1814,7 +1810,6 @@ static void npcm_video_remove(struct platform_device *pdev)
if (video->ece.enable)
npcm_video_ece_stop(video);
kfree(video);
- of_reserved_mem_device_release(dev);
}
static const struct of_device_id npcm_video_match[] = {
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 14/42] memory: tegra210-emc: Use devm_of_reserved_mem_device_init_by_name()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (12 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 13/42] media: nuvoton: npcm-video: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 15/42] drm: komeda: Use devm_of_reserved_mem_device_init() Mukesh Ojha
` (29 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Switch to the new devm_of_reserved_mem_device_init_by_name() for both
the nominal and derated reserved memory regions so they are released
automatically on probe failure or device removal.
All six goto release paths in the probe function precede clock attach
and debugfs initialization, so they become plain return statements.
The release: label and its explicit of_reserved_mem_device_release()
calls in both the probe error path and tegra210_emc_remove() are
removed.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/memory/tegra/tegra210-emc-core.c | 21 +++++++++------------
1 file changed, 9 insertions(+), 12 deletions(-)
diff --git a/drivers/memory/tegra/tegra210-emc-core.c b/drivers/memory/tegra/tegra210-emc-core.c
index e8d4cd8fdec2..07c7654dac63 100644
--- a/drivers/memory/tegra/tegra210-emc-core.c
+++ b/drivers/memory/tegra/tegra210-emc-core.c
@@ -1847,16 +1847,16 @@ static int tegra210_emc_probe(struct platform_device *pdev)
np = pdev->dev.of_node;
/* attach to the nominal and (optional) derated tables */
- err = of_reserved_mem_device_init_by_name(emc->dev, np, "nominal");
+ err = devm_of_reserved_mem_device_init_by_name(emc->dev, np, "nominal");
if (err < 0) {
dev_err(emc->dev, "failed to get nominal EMC table: %d\n", err);
return err;
}
- err = of_reserved_mem_device_init_by_name(emc->dev, np, "derated");
+ err = devm_of_reserved_mem_device_init_by_name(emc->dev, np, "derated");
if (err < 0 && err != -ENODEV) {
dev_err(emc->dev, "failed to get derated EMC table: %d\n", err);
- goto release;
+ return err;
}
/* validate the tables */
@@ -1864,14 +1864,14 @@ static int tegra210_emc_probe(struct platform_device *pdev)
err = tegra210_emc_validate_timings(emc, emc->nominal,
emc->num_timings);
if (err < 0)
- goto release;
+ return err;
}
if (emc->derated) {
err = tegra210_emc_validate_timings(emc, emc->derated,
emc->num_timings);
if (err < 0)
- goto release;
+ return err;
}
/* default to the nominal table */
@@ -1891,7 +1891,7 @@ static int tegra210_emc_probe(struct platform_device *pdev)
dev_err(emc->dev, "no EMC table entry found for %lu kHz\n",
current_rate);
err = -ENOENT;
- goto release;
+ return err;
}
/* pick a compatible clock change sequence for the EMC table */
@@ -1909,7 +1909,7 @@ static int tegra210_emc_probe(struct platform_device *pdev)
dev_err(&pdev->dev, "sequence %u not supported\n",
emc->timings[0].revision);
err = -ENOTSUPP;
- goto release;
+ return err;
}
emc->offsets = &tegra210_emc_table_register_offsets;
@@ -1924,7 +1924,7 @@ static int tegra210_emc_probe(struct platform_device *pdev)
GFP_KERNEL);
if (!emc->provider.configs) {
err = -ENOMEM;
- goto release;
+ return err;
}
emc->provider.num_configs = emc->num_timings;
@@ -1949,7 +1949,7 @@ static int tegra210_emc_probe(struct platform_device *pdev)
err = tegra210_clk_emc_attach(emc->clk, &emc->provider);
if (err < 0) {
dev_err(&pdev->dev, "failed to attach to EMC clock: %d\n", err);
- goto release;
+ return err;
}
emc->clkchange_delay = 100;
@@ -1979,8 +1979,6 @@ static int tegra210_emc_probe(struct platform_device *pdev)
detach:
debugfs_remove_recursive(emc->debugfs.root);
tegra210_clk_emc_detach(emc->clk);
-release:
- of_reserved_mem_device_release(emc->dev);
return err;
}
@@ -1991,7 +1989,6 @@ static void tegra210_emc_remove(struct platform_device *pdev)
debugfs_remove_recursive(emc->debugfs.root);
tegra210_clk_emc_detach(emc->clk);
- of_reserved_mem_device_release(emc->dev);
}
static int __maybe_unused tegra210_emc_suspend(struct device *dev)
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 15/42] drm: komeda: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (13 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 14/42] memory: tegra210-emc: Use devm_of_reserved_mem_device_init_by_name() Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 16/42] drm: malidp: " Mukesh Ojha
` (28 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() instead of
the manual of_reserved_mem_device_init()/of_reserved_mem_device_release()
pair, letting the device resource manager handle cleanup automatically.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/gpu/drm/arm/display/komeda/komeda_dev.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_dev.c b/drivers/gpu/drm/arm/display/komeda/komeda_dev.c
index 9aad1d1d28ec..8016f5a68cba 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_dev.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_dev.c
@@ -145,7 +145,7 @@ static int komeda_parse_dt(struct device *dev, struct komeda_dev *mdev)
}
/* Get the optional framebuffer memory resource */
- ret = of_reserved_mem_device_init(dev);
+ ret = devm_of_reserved_mem_device_init(dev);
if (ret && ret != -ENODEV)
return ret;
@@ -292,8 +292,6 @@ void komeda_dev_destroy(struct komeda_dev *mdev)
mdev->n_pipelines = 0;
- of_reserved_mem_device_release(dev);
-
if (funcs && funcs->cleanup)
funcs->cleanup(mdev);
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 16/42] drm: malidp: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (14 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 15/42] drm: komeda: Use devm_of_reserved_mem_device_init() Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 17/42] drm: ingenic: " Mukesh Ojha
` (27 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() instead of
the manual of_reserved_mem_device_init()/of_reserved_mem_device_release()
pair, letting the device resource manager handle cleanup automatically.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/gpu/drm/arm/malidp_drv.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
index 23fa942ae4bb..3e17513c3114 100644
--- a/drivers/gpu/drm/arm/malidp_drv.c
+++ b/drivers/gpu/drm/arm/malidp_drv.c
@@ -758,7 +758,7 @@ static int malidp_bind(struct device *dev)
return PTR_ERR(hwdev->pxlclk);
/* Get the optional framebuffer memory resource */
- ret = of_reserved_mem_device_init(dev);
+ ret = devm_of_reserved_mem_device_init(dev);
if (ret && ret != -ENODEV)
return ret;
@@ -887,7 +887,6 @@ static int malidp_bind(struct device *dev)
else
malidp_runtime_pm_suspend(dev);
dev_set_drvdata(dev, NULL);
- of_reserved_mem_device_release(dev);
return ret;
}
@@ -913,7 +912,6 @@ static void malidp_unbind(struct device *dev)
else
malidp_runtime_pm_suspend(dev);
dev_set_drvdata(dev, NULL);
- of_reserved_mem_device_release(dev);
}
static const struct component_master_ops malidp_master_ops = {
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 17/42] drm: ingenic: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (15 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 16/42] drm: malidp: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 18/42] drm: kmb: " Mukesh Ojha
` (26 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Replace the hand-rolled devm wrapper (ingenic_drm_release_rmem +
devm_add_action_or_reset) with the standard
devm_of_reserved_mem_device_init(), letting the device resource
manager handle cleanup automatically.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
index 7e569af22391..990c3b4625fa 100644
--- a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
+++ b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
@@ -1060,11 +1060,6 @@ static void ingenic_drm_unbind_all(void *d)
component_unbind_all(priv->dev, &priv->drm);
}
-static void __maybe_unused ingenic_drm_release_rmem(void *d)
-{
- of_reserved_mem_device_release(d);
-}
-
static void ingenic_drm_configure_hwdesc(struct ingenic_drm *priv,
unsigned int hwdesc,
unsigned int next_hwdesc, u32 id)
@@ -1127,16 +1122,10 @@ static int ingenic_drm_bind(struct device *dev, bool has_components)
}
if (IS_ENABLED(CONFIG_OF_RESERVED_MEM)) {
- ret = of_reserved_mem_device_init(dev);
+ ret = devm_of_reserved_mem_device_init(dev);
if (ret && ret != -ENODEV)
dev_warn(dev, "Failed to get reserved memory: %d\n", ret);
-
- if (!ret) {
- ret = devm_add_action_or_reset(dev, ingenic_drm_release_rmem, dev);
- if (ret)
- return ret;
- }
}
priv = devm_drm_dev_alloc(dev, &ingenic_drm_driver_data,
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 18/42] drm: kmb: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (16 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 17/42] drm: ingenic: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 19/42] drm: sun4i: " Mukesh Ojha
` (25 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() instead of
the manual of_reserved_mem_device_init()/of_reserved_mem_device_release()
pair, letting the device resource manager handle cleanup automatically.
Also simplify the IRQ error path since the release before init was a no-op.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/gpu/drm/kmb/kmb_drv.c | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/kmb/kmb_drv.c b/drivers/gpu/drm/kmb/kmb_drv.c
index 7c2eb1152fc2..88fe377940f3 100644
--- a/drivers/gpu/drm/kmb/kmb_drv.c
+++ b/drivers/gpu/drm/kmb/kmb_drv.c
@@ -140,13 +140,12 @@ static int kmb_hw_init(struct drm_device *drm, unsigned long flags)
/* Allocate LCD interrupt resources */
irq_lcd = platform_get_irq(pdev, 0);
if (irq_lcd < 0) {
- ret = irq_lcd;
drm_err(&kmb->drm, "irq_lcd not found");
- goto setup_fail;
+ return irq_lcd;
}
/* Get the optional framebuffer memory resource */
- ret = of_reserved_mem_device_init(drm->dev);
+ ret = devm_of_reserved_mem_device_init(drm->dev);
if (ret && ret != -ENODEV)
return ret;
@@ -155,11 +154,6 @@ static int kmb_hw_init(struct drm_device *drm, unsigned long flags)
kmb->irq_lcd = irq_lcd;
return 0;
-
- setup_fail:
- of_reserved_mem_device_release(drm->dev);
-
- return ret;
}
static const struct drm_mode_config_funcs kmb_mode_config_funcs = {
@@ -465,8 +459,6 @@ static void kmb_remove(struct platform_device *pdev)
pm_runtime_put_sync(drm->dev);
pm_runtime_disable(drm->dev);
- of_reserved_mem_device_release(drm->dev);
-
/* Release clks */
kmb_display_clk_disable(kmb);
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 19/42] drm: sun4i: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (17 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 18/42] drm: kmb: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 20/42] drm: xlnx: zynqmp_dpsub: " Mukesh Ojha
` (24 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() instead of
the manual of_reserved_mem_device_init()/of_reserved_mem_device_release()
pair, letting the device resource manager handle cleanup automatically.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/gpu/drm/sun4i/sun4i_drv.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c
index 8a409eee1dca..5ca7b6f4764b 100644
--- a/drivers/gpu/drm/sun4i/sun4i_drv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
@@ -80,7 +80,7 @@ static int sun4i_drv_bind(struct device *dev)
INIT_LIST_HEAD(&drv->engine_list);
INIT_LIST_HEAD(&drv->tcon_list);
- ret = of_reserved_mem_device_init(dev);
+ ret = devm_of_reserved_mem_device_init(dev);
if (ret && ret != -ENODEV) {
dev_err(drm->dev, "Couldn't claim our memory region\n");
goto free_drm;
@@ -125,7 +125,6 @@ static int sun4i_drv_bind(struct device *dev)
component_unbind_all(dev, NULL);
cleanup_mode_config:
drm_mode_config_cleanup(drm);
- of_reserved_mem_device_release(dev);
free_drm:
drm_dev_put(drm);
return ret;
@@ -142,7 +141,6 @@ static void sun4i_drv_unbind(struct device *dev)
drm_mode_config_cleanup(drm);
component_unbind_all(dev, NULL);
- of_reserved_mem_device_release(dev);
drm_dev_put(drm);
}
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 20/42] drm: xlnx: zynqmp_dpsub: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (18 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 19/42] drm: sun4i: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-07 9:13 ` Pandey, Radhey Shyam
2026-07-03 19:38 ` [PATCH 21/42] media: arm: mali-c55: " Mukesh Ojha
` (23 subsequent siblings)
43 siblings, 1 reply; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() instead of
the manual of_reserved_mem_device_init()/of_reserved_mem_device_release()
pair, letting the device resource manager handle cleanup automatically.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
index 53ab1a2a5aaf..e93a7a299b52 100644
--- a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
@@ -203,7 +203,7 @@ static int zynqmp_dpsub_probe(struct platform_device *pdev)
dma_set_max_seg_size(&pdev->dev, DMA_BIT_MASK(32));
/* Try the reserved memory. Proceed if there's none. */
- of_reserved_mem_device_init(&pdev->dev);
+ devm_of_reserved_mem_device_init(&pdev->dev);
ret = zynqmp_dpsub_init_clocks(dpsub);
if (ret < 0)
@@ -255,7 +255,6 @@ static int zynqmp_dpsub_probe(struct platform_device *pdev)
pm_runtime_disable(&pdev->dev);
clk_disable_unprepare(dpsub->apb_clk);
err_mem:
- of_reserved_mem_device_release(&pdev->dev);
if (!dpsub->drm)
zynqmp_dpsub_release(dpsub);
return ret;
@@ -276,7 +275,6 @@ static void zynqmp_dpsub_remove(struct platform_device *pdev)
pm_runtime_disable(&pdev->dev);
clk_disable_unprepare(dpsub->apb_clk);
- of_reserved_mem_device_release(&pdev->dev);
if (!dpsub->drm)
zynqmp_dpsub_release(dpsub);
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 21/42] media: arm: mali-c55: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (19 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 20/42] drm: xlnx: zynqmp_dpsub: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 22/42] media: mediatek: vpu: " Mukesh Ojha
` (22 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() instead of
the manual of_reserved_mem_device_init()/of_reserved_mem_device_release()
pair, letting the device resource manager handle cleanup automatically.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/media/platform/arm/mali-c55/mali-c55-core.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/drivers/media/platform/arm/mali-c55/mali-c55-core.c b/drivers/media/platform/arm/mali-c55/mali-c55-core.c
index 94a389b3f833..afbec11f69f8 100644
--- a/drivers/media/platform/arm/mali-c55/mali-c55-core.c
+++ b/drivers/media/platform/arm/mali-c55/mali-c55-core.c
@@ -801,14 +801,12 @@ static int mali_c55_probe(struct platform_device *pdev)
if (ret)
return dev_err_probe(dev, ret, "failed to acquire resets\n");
- of_reserved_mem_device_init(dev);
+ devm_of_reserved_mem_device_init(dev);
vb2_dma_contig_set_max_seg_size(dev, UINT_MAX);
ret = __mali_c55_power_on(mali_c55);
- if (ret) {
- dev_err_probe(dev, ret, "failed to power on\n");
- goto err_release_mem;
- }
+ if (ret)
+ return dev_err_probe(dev, ret, "failed to power on\n");
ret = mali_c55_check_hwcfg(mali_c55);
if (ret)
@@ -847,9 +845,6 @@ static int mali_c55_probe(struct platform_device *pdev)
kfree(mali_c55->context.registers);
err_power_off:
__mali_c55_power_off(mali_c55);
-err_release_mem:
- of_reserved_mem_device_release(dev);
-
return ret;
}
@@ -864,7 +859,6 @@ static void mali_c55_remove(struct platform_device *pdev)
}
pm_runtime_disable(&pdev->dev);
kfree(mali_c55->context.registers);
- of_reserved_mem_device_release(&pdev->dev);
}
static const struct of_device_id mali_c55_of_match[] = {
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 22/42] media: mediatek: vpu: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (20 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 21/42] media: arm: mali-c55: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 23/42] mmc: sdhci-of-bst: Use devm_of_reserved_mem_device_init_by_idx() Mukesh Ojha
` (21 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() instead of
the manual of_reserved_mem_device_init()/of_reserved_mem_device_release()
pair, letting the device resource manager handle cleanup automatically.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/media/platform/mediatek/vpu/mtk_vpu.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/media/platform/mediatek/vpu/mtk_vpu.c b/drivers/media/platform/mediatek/vpu/mtk_vpu.c
index 8d8319f0cd22..557bffb2c2f1 100644
--- a/drivers/media/platform/mediatek/vpu/mtk_vpu.c
+++ b/drivers/media/platform/mediatek/vpu/mtk_vpu.c
@@ -888,7 +888,7 @@ static int mtk_vpu_probe(struct platform_device *pdev)
dev_info(dev, "4GB mode %u\n", vpu->enable_4GB);
if (vpu->enable_4GB) {
- ret = of_reserved_mem_device_init(dev);
+ ret = devm_of_reserved_mem_device_init(dev);
if (ret)
dev_info(dev, "init reserved memory failed\n");
/* continue to use dynamic allocation if failed */
@@ -930,7 +930,6 @@ static int mtk_vpu_probe(struct platform_device *pdev)
free_d_mem:
vpu_free_ext_mem(vpu, D_FW);
remove_debugfs:
- of_reserved_mem_device_release(dev);
#ifdef CONFIG_DEBUG_FS
debugfs_remove(vpu_debugfs);
#endif
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 23/42] mmc: sdhci-of-bst: Use devm_of_reserved_mem_device_init_by_idx()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (21 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 22/42] media: mediatek: vpu: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 24/42] remoteproc: ti_k3: Use devm_of_reserved_mem_device_init() Mukesh Ojha
` (20 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init_by_idx() instead
of the manual of_reserved_mem_device_init_by_idx()/
of_reserved_mem_device_release() pair, letting the device resource
manager handle cleanup automatically.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/mmc/host/sdhci-of-bst.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/mmc/host/sdhci-of-bst.c b/drivers/mmc/host/sdhci-of-bst.c
index f8d3df715e1a..304554ced690 100644
--- a/drivers/mmc/host/sdhci-of-bst.c
+++ b/drivers/mmc/host/sdhci-of-bst.c
@@ -405,7 +405,6 @@ static void sdhci_bst_free_bounce_buffer(struct sdhci_host *host)
host->bounce_buffer, host->bounce_addr);
host->bounce_buffer = NULL;
}
- of_reserved_mem_device_release(mmc_dev(host->mmc));
}
static int sdhci_bst_alloc_bounce_buffer(struct sdhci_host *host)
@@ -417,7 +416,7 @@ static int sdhci_bst_alloc_bounce_buffer(struct sdhci_host *host)
/* Fixed SRAM bounce size to 32KB: verified config under 32-bit DMA addressing limit */
bounce_size = SZ_32K;
- ret = of_reserved_mem_device_init_by_idx(mmc_dev(mmc), mmc_dev(mmc)->of_node, 0);
+ ret = devm_of_reserved_mem_device_init_by_idx(mmc_dev(mmc), mmc_dev(mmc)->of_node, 0);
if (ret) {
dev_err(mmc_dev(mmc), "Failed to initialize reserved memory\n");
return ret;
@@ -425,10 +424,8 @@ static int sdhci_bst_alloc_bounce_buffer(struct sdhci_host *host)
host->bounce_buffer = dma_alloc_coherent(mmc_dev(mmc), bounce_size,
&host->bounce_addr, GFP_KERNEL);
- if (!host->bounce_buffer) {
- of_reserved_mem_device_release(mmc_dev(mmc));
+ if (!host->bounce_buffer)
return -ENOMEM;
- }
host->bounce_buffer_size = bounce_size;
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 24/42] remoteproc: ti_k3: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (22 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 23/42] mmc: sdhci-of-bst: Use devm_of_reserved_mem_device_init_by_idx() Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-03 19:38 ` [PATCH 25/42] ASoC: mediatek: mt8192: " Mukesh Ojha
` (19 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Replace the hand-rolled devm wrapper (k3_mem_release +
devm_add_action_or_reset) with the standard
devm_of_reserved_mem_device_init(), letting the device resource
manager handle cleanup automatically. Remove the now-unused k3_mem_release
exported symbol.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/remoteproc/ti_k3_common.c | 13 +------------
drivers/remoteproc/ti_k3_common.h | 1 -
2 files changed, 1 insertion(+), 13 deletions(-)
diff --git a/drivers/remoteproc/ti_k3_common.c b/drivers/remoteproc/ti_k3_common.c
index 3cb8ae5d72f6..f08b9e373220 100644
--- a/drivers/remoteproc/ti_k3_common.c
+++ b/drivers/remoteproc/ti_k3_common.c
@@ -458,14 +458,6 @@ int k3_rproc_of_get_memories(struct platform_device *pdev,
}
EXPORT_SYMBOL_GPL(k3_rproc_of_get_memories);
-void k3_mem_release(void *data)
-{
- struct device *dev = data;
-
- of_reserved_mem_device_release(dev);
-}
-EXPORT_SYMBOL_GPL(k3_mem_release);
-
int k3_reserved_mem_init(struct k3_rproc *kproc)
{
struct device *dev = kproc->dev;
@@ -486,14 +478,11 @@ int k3_reserved_mem_init(struct k3_rproc *kproc)
}
/* use reserved memory region 0 for vring DMA allocations */
- ret = of_reserved_mem_device_init_by_idx(dev, np, 0);
+ ret = devm_of_reserved_mem_device_init(dev);
if (ret) {
dev_err(dev, "device cannot initialize DMA pool (%d)\n", ret);
return ret;
}
- ret = devm_add_action_or_reset(dev, k3_mem_release, dev);
- if (ret)
- return ret;
num_rmems--;
kproc->rmem = devm_kcalloc(dev, num_rmems, sizeof(*kproc->rmem), GFP_KERNEL);
diff --git a/drivers/remoteproc/ti_k3_common.h b/drivers/remoteproc/ti_k3_common.h
index aee3c28dbe51..9a58aeb3867c 100644
--- a/drivers/remoteproc/ti_k3_common.h
+++ b/drivers/remoteproc/ti_k3_common.h
@@ -112,7 +112,6 @@ void *k3_rproc_da_to_va(struct rproc *rproc, u64 da, size_t len,
bool *is_iomem);
int k3_rproc_of_get_memories(struct platform_device *pdev,
struct k3_rproc *kproc);
-void k3_mem_release(void *data);
int k3_reserved_mem_init(struct k3_rproc *kproc);
void k3_release_tsp(void *data);
#endif /* REMOTEPROC_TI_K3_COMMON_H */
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 25/42] ASoC: mediatek: mt8192: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (23 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 24/42] remoteproc: ti_k3: Use devm_of_reserved_mem_device_init() Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-06 12:16 ` Mark Brown
2026-07-03 19:38 ` [PATCH 26/42] ASoC: mediatek: mt8196: " Mukesh Ojha
` (18 subsequent siblings)
43 siblings, 1 reply; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Replace the hand-rolled devm wrapper (mt8192_afe_release_reserved_mem +
devm_add_action_or_reset) with the standard
devm_of_reserved_mem_device_init(), letting the device resource manager
handle cleanup automatically.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
sound/soc/mediatek/mt8192/mt8192-afe-pcm.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c b/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c
index db0ae44a86af..e4ecd23df180 100644
--- a/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c
+++ b/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c
@@ -2155,11 +2155,6 @@ static const dai_register_cb dai_register_cbs[] = {
mt8192_dai_memif_register,
};
-static void mt8192_afe_release_reserved_mem(void *data)
-{
- of_reserved_mem_device_release(data);
-}
-
static int mt8192_afe_pcm_dev_probe(struct platform_device *pdev)
{
struct mtk_base_afe *afe;
@@ -2185,14 +2180,10 @@ static int mt8192_afe_pcm_dev_probe(struct platform_device *pdev)
afe->dev = dev;
- ret = of_reserved_mem_device_init(dev);
+ ret = devm_of_reserved_mem_device_init(dev);
if (ret) {
dev_info(dev, "no reserved memory found, pre-allocating buffers instead\n");
afe->preallocate_buffers = true;
- } else {
- ret = devm_add_action_or_reset(dev, mt8192_afe_release_reserved_mem, dev);
- if (ret)
- return ret;
}
/* init audio related clock */
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 26/42] ASoC: mediatek: mt8196: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (24 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 25/42] ASoC: mediatek: mt8192: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-06 12:16 ` Mark Brown
2026-07-03 19:38 ` [PATCH 27/42] ASoC: mediatek: mt8183: " Mukesh Ojha
` (17 subsequent siblings)
43 siblings, 1 reply; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Replace the hand-rolled devm wrapper (mt8196_afe_release_reserved_mem +
devm_add_action_or_reset) with the standard
devm_of_reserved_mem_device_init(), letting the device resource manager
handle cleanup automatically.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
sound/soc/mediatek/mt8196/mt8196-afe-pcm.c | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
diff --git a/sound/soc/mediatek/mt8196/mt8196-afe-pcm.c b/sound/soc/mediatek/mt8196/mt8196-afe-pcm.c
index a1ae8322d8b6..dcee037991aa 100644
--- a/sound/soc/mediatek/mt8196/mt8196-afe-pcm.c
+++ b/sound/soc/mediatek/mt8196/mt8196-afe-pcm.c
@@ -2309,11 +2309,6 @@ static const struct reg_sequence mt8196_cg_patch[] = {
{ AUDIO_TOP_CON4, 0x361c },
};
-static void mt8196_afe_release_reserved_mem(void *data)
-{
- of_reserved_mem_device_release(data);
-}
-
static int mt8196_afe_pcm_dev_probe(struct platform_device *pdev)
{
int ret, i;
@@ -2327,14 +2322,9 @@ static int mt8196_afe_pcm_dev_probe(struct platform_device *pdev)
if (ret)
return ret;
- ret = of_reserved_mem_device_init(dev);
- if (ret) {
+ ret = devm_of_reserved_mem_device_init(dev);
+ if (ret)
dev_err(dev, "failed to assign memory region: %d\n", ret);
- } else {
- ret = devm_add_action_or_reset(dev, mt8196_afe_release_reserved_mem, dev);
- if (ret)
- return ret;
- }
afe = devm_kzalloc(dev, sizeof(*afe), GFP_KERNEL);
if (!afe)
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 27/42] ASoC: mediatek: mt8183: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (25 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 26/42] ASoC: mediatek: mt8196: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-06 12:17 ` Mark Brown
2026-07-03 19:38 ` [PATCH 28/42] ASoC: mediatek: mt8189: " Mukesh Ojha
` (16 subsequent siblings)
43 siblings, 1 reply; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Replace the hand-rolled devm wrapper (mt8183_afe_release_reserved_mem +
devm_add_action_or_reset) with the standard
devm_of_reserved_mem_device_init(), letting the device resource manager
handle cleanup automatically.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
sound/soc/mediatek/mt8183/mt8183-afe-pcm.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c b/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c
index 2634699534db..6ad396e3b10d 100644
--- a/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c
+++ b/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c
@@ -766,11 +766,6 @@ static const dai_register_cb dai_register_cbs[] = {
mt8183_dai_memif_register,
};
-static void mt8183_afe_release_reserved_mem(void *data)
-{
- of_reserved_mem_device_release(data);
-}
-
static int mt8183_afe_pcm_dev_probe(struct platform_device *pdev)
{
struct mtk_base_afe *afe;
@@ -795,16 +790,10 @@ static int mt8183_afe_pcm_dev_probe(struct platform_device *pdev)
afe_priv = afe->platform_priv;
afe->dev = dev;
- ret = of_reserved_mem_device_init(dev);
+ ret = devm_of_reserved_mem_device_init(dev);
if (ret) {
dev_info(dev, "no reserved memory found, pre-allocating buffers instead\n");
afe->preallocate_buffers = true;
- } else {
- ret = devm_add_action_or_reset(dev,
- mt8183_afe_release_reserved_mem,
- dev);
- if (ret)
- return ret;
}
/* initial audio related clock */
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 28/42] ASoC: mediatek: mt8189: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (26 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 27/42] ASoC: mediatek: mt8183: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-06 12:18 ` Mark Brown
2026-07-03 19:38 ` [PATCH 29/42] ASoC: SOF: imx: Use devm_of_reserved_mem_device_init_by_name() Mukesh Ojha
` (15 subsequent siblings)
43 siblings, 1 reply; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Replace the hand-rolled devm wrapper (mt8189_afe_release_reserved_mem +
devm_add_action_or_reset) with the standard
devm_of_reserved_mem_device_init(), letting the device resource manager
handle cleanup automatically.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
sound/soc/mediatek/mt8189/mt8189-afe-pcm.c | 16 ++--------------
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/sound/soc/mediatek/mt8189/mt8189-afe-pcm.c b/sound/soc/mediatek/mt8189/mt8189-afe-pcm.c
index 77cf2b604f6c..04baf7d9132a 100644
--- a/sound/soc/mediatek/mt8189/mt8189-afe-pcm.c
+++ b/sound/soc/mediatek/mt8189/mt8189-afe-pcm.c
@@ -2421,11 +2421,6 @@ static const struct reg_sequence mt8189_cg_patch[] = {
{ AUDIO_TOP_CON4, 0x361c },
};
-static void mt8189_afe_release_reserved_mem(void *data)
-{
- of_reserved_mem_device_release(data);
-}
-
static int mt8189_afe_pcm_dev_probe(struct platform_device *pdev)
{
int ret, i;
@@ -2439,16 +2434,9 @@ static int mt8189_afe_pcm_dev_probe(struct platform_device *pdev)
if (ret)
return ret;
- ret = of_reserved_mem_device_init(dev);
- if (ret) {
+ ret = devm_of_reserved_mem_device_init(dev);
+ if (ret)
dev_warn(dev, "failed to assign memory region: %d\n", ret);
- } else {
- ret = devm_add_action_or_reset(dev,
- mt8189_afe_release_reserved_mem,
- dev);
- if (ret)
- return ret;
- }
afe = devm_kzalloc(dev, sizeof(*afe), GFP_KERNEL);
if (!afe)
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 29/42] ASoC: SOF: imx: Use devm_of_reserved_mem_device_init_by_name()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (27 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 28/42] ASoC: mediatek: mt8189: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-06 12:19 ` Mark Brown
2026-07-03 19:38 ` [PATCH 30/42] staging: media: cedrus: Use devm_of_reserved_mem_device_init() Mukesh Ojha
` (14 subsequent siblings)
43 siblings, 1 reply; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init_by_name()
instead of the manual of_reserved_mem_device_init_by_name()/
of_reserved_mem_device_release() pair, letting the device resource
manager handle cleanup automatically.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
sound/soc/sof/imx/imx-common.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/sound/soc/sof/imx/imx-common.c b/sound/soc/sof/imx/imx-common.c
index 7a03c8cc5dd4..29314022c11f 100644
--- a/sound/soc/sof/imx/imx-common.c
+++ b/sound/soc/sof/imx/imx-common.c
@@ -330,9 +330,6 @@ static void imx_unregister_action(void *data)
sdev = data;
common = sdev->pdata->hw_pdata;
- if (get_chip_info(sdev)->has_dma_reserved)
- of_reserved_mem_device_release(sdev->dev);
-
platform_device_unregister(common->ipc_dev);
}
@@ -362,9 +359,9 @@ static int imx_probe(struct snd_sof_dev *sdev)
"failed to create IPC device\n");
if (get_chip_info(sdev)->has_dma_reserved) {
- ret = of_reserved_mem_device_init_by_name(sdev->dev,
- pdev->dev.of_node,
- "dma");
+ ret = devm_of_reserved_mem_device_init_by_name(sdev->dev,
+ pdev->dev.of_node,
+ "dma");
if (ret) {
platform_device_unregister(common->ipc_dev);
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 30/42] staging: media: cedrus: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (28 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 29/42] ASoC: SOF: imx: Use devm_of_reserved_mem_device_init_by_name() Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-07 14:05 ` Paul Kocialkowski
2026-07-03 19:38 ` [PATCH 31/42] ASoC: cix-ipbloq: " Mukesh Ojha
` (13 subsequent siblings)
43 siblings, 1 reply; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() instead of
the manual of_reserved_mem_device_init()/of_reserved_mem_device_release()
pair, letting the device resource manager handle cleanup automatically.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/staging/media/sunxi/cedrus/cedrus_hw.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_hw.c b/drivers/staging/media/sunxi/cedrus/cedrus_hw.c
index 444fb53878d1..7b5aa94064a1 100644
--- a/drivers/staging/media/sunxi/cedrus/cedrus_hw.c
+++ b/drivers/staging/media/sunxi/cedrus/cedrus_hw.c
@@ -266,7 +266,7 @@ int cedrus_hw_probe(struct cedrus_dev *dev)
return ret;
}
- ret = of_reserved_mem_device_init(dev->dev);
+ ret = devm_of_reserved_mem_device_init(dev->dev);
if (ret && ret != -ENODEV) {
dev_err(dev->dev, "Failed to reserve memory\n");
@@ -341,8 +341,6 @@ int cedrus_hw_probe(struct cedrus_dev *dev)
err_sram:
sunxi_sram_release(dev->dev);
err_mem:
- of_reserved_mem_device_release(dev->dev);
-
return ret;
}
@@ -353,6 +351,4 @@ void cedrus_hw_remove(struct cedrus_dev *dev)
cedrus_hw_suspend(dev->dev);
sunxi_sram_release(dev->dev);
-
- of_reserved_mem_device_release(dev->dev);
}
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 31/42] ASoC: cix-ipbloq: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (29 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 30/42] staging: media: cedrus: Use devm_of_reserved_mem_device_init() Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-06 12:20 ` Mark Brown
2026-07-07 1:34 ` Gary Yang
2026-07-03 19:38 ` [PATCH 32/42] drm: aspeed: " Mukesh Ojha
` (12 subsequent siblings)
43 siblings, 2 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() to ensure
the reserved memory region is released on device removal, fixing a
missing cleanup in the original code.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
sound/hda/controllers/cix-ipbloq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/hda/controllers/cix-ipbloq.c b/sound/hda/controllers/cix-ipbloq.c
index c1084a915c13..815932e5c58b 100644
--- a/sound/hda/controllers/cix-ipbloq.c
+++ b/sound/hda/controllers/cix-ipbloq.c
@@ -257,7 +257,7 @@ static int cix_ipbloq_hda_probe(struct platform_device *pdev)
dma_set_mask_and_coherent(hda->dev, DMA_BIT_MASK(32));
- err = of_reserved_mem_device_init(hda->dev);
+ err = devm_of_reserved_mem_device_init(hda->dev);
if (err < 0 && err != -ENODEV) {
dev_err(hda->dev,
"failed to init reserved mem for DMA, err = %d\n", err);
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 32/42] drm: aspeed: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (30 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 31/42] ASoC: cix-ipbloq: " Mukesh Ojha
@ 2026-07-03 19:38 ` Mukesh Ojha
2026-07-05 19:40 ` [PATCH 33/42] drm: arcpgu: " Mukesh Ojha
` (11 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-03 19:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() to ensure
the reserved memory region is released on device removal, fixing a
missing cleanup in the original code.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/gpu/drm/aspeed/aspeed_gfx_drv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c b/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
index d4577663a1f0..2c7e54fc35d9 100644
--- a/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
+++ b/drivers/gpu/drm/aspeed/aspeed_gfx_drv.c
@@ -168,7 +168,7 @@ static int aspeed_gfx_load(struct drm_device *drm)
}
}
- ret = of_reserved_mem_device_init(drm->dev);
+ ret = devm_of_reserved_mem_device_init(drm->dev);
if (ret) {
dev_err(&pdev->dev,
"failed to initialize reserved mem: %d\n", ret);
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* Re: [PATCH 03/42] firmware: qcom: scm: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 ` [PATCH 03/42] firmware: qcom: scm: Use devm_of_reserved_mem_device_init() Mukesh Ojha
@ 2026-07-03 23:12 ` Dmitry Baryshkov
2026-07-06 8:32 ` Konrad Dybcio
1 sibling, 0 replies; 60+ messages in thread
From: Dmitry Baryshkov @ 2026-07-03 23:12 UTC (permalink / raw)
To: Mukesh Ojha
Cc: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan, Ekansh Gupta,
BST Linux Kernel Upstream Group, Fabio Estevam, Nicolin Chen,
Pengutronix Kernel Team, Kai Vehmanen, Pierre-Louis Bossart,
Vijendar Mukunda, Chunyan Zhang, CIX Linux Kernel Upstream Group,
linux-arm-msm, linux-kernel, dri-devel, linux-aspeed,
linux-arm-kernel, linux-mips, linux-sunxi, linux-media, openbmc,
linux-mediatek, kernel, linux-tegra, linux-mmc, devicetree,
linux-remoteproc, linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware
On Sat, Jul 04, 2026 at 01:08:16AM +0530, Mukesh Ojha wrote:
> Switch from of_reserved_mem_device_init() to the new resource managed
> devm_of_reserved_mem_device_init() so that the reserved memory region
> is released automatically on probe failure or device unbind. This
> eliminates the err_rmem cleanup label and the need to call
> of_reserved_mem_device_release() explicitly on error paths.
>
> Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
> ---
> drivers/firmware/qcom/qcom_scm.c | 22 +++++++---------------
> 1 file changed, 7 insertions(+), 15 deletions(-)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 60+ messages in thread
* [PATCH 33/42] drm: arcpgu: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (31 preceding siblings ...)
2026-07-03 19:38 ` [PATCH 32/42] drm: aspeed: " Mukesh Ojha
@ 2026-07-05 19:40 ` Mukesh Ojha
2026-07-05 19:40 ` [PATCH 34/42] ASoC: mediatek: mt8173: " Mukesh Ojha
` (10 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-05 19:40 UTC (permalink / raw)
To: devicetree, dri-devel, imx, linux-arm-kernel, linux-arm-msm,
linux-aspeed, linux-kernel, linux-media, linux-mediatek,
linux-mmc, linux-remoteproc, linux-sound, linux-staging,
linux-sunxi, linux-tegra, linuxppc-dev, openbmc,
sound-open-firmware
Cc: Konrad Dybcio, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() to ensure
the optional reserved memory region is released on device removal,
fixing a missing cleanup in the original code.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/gpu/drm/tiny/arcpgu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/tiny/arcpgu.c b/drivers/gpu/drm/tiny/arcpgu.c
index c93d61ac0bb7..fa01407570a8 100644
--- a/drivers/gpu/drm/tiny/arcpgu.c
+++ b/drivers/gpu/drm/tiny/arcpgu.c
@@ -278,7 +278,7 @@ static int arcpgu_load(struct arcpgu_drm_private *arcpgu)
arc_pgu_read(arcpgu, ARCPGU_REG_ID));
/* Get the optional framebuffer memory resource */
- ret = of_reserved_mem_device_init(drm->dev);
+ ret = devm_of_reserved_mem_device_init(drm->dev);
if (ret && ret != -ENODEV)
return ret;
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 34/42] ASoC: mediatek: mt8173: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (32 preceding siblings ...)
2026-07-05 19:40 ` [PATCH 33/42] drm: arcpgu: " Mukesh Ojha
@ 2026-07-05 19:40 ` Mukesh Ojha
2026-07-05 19:40 ` [PATCH 35/42] ASoC: mediatek: mt8186: " Mukesh Ojha
` (9 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-05 19:40 UTC (permalink / raw)
To: devicetree, dri-devel, imx, linux-arm-kernel, linux-arm-msm,
linux-aspeed, linux-kernel, linux-media, linux-mediatek,
linux-mmc, linux-remoteproc, linux-sound, linux-staging,
linux-sunxi, linux-tegra, linuxppc-dev, openbmc,
sound-open-firmware
Cc: Konrad Dybcio, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() to ensure
the reserved memory region is released on device removal, fixing a
missing cleanup in the original code.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c b/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
index 69cadc91c97f..0424d79bc9b0 100644
--- a/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
+++ b/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
@@ -1072,7 +1072,7 @@ static int mt8173_afe_pcm_dev_probe(struct platform_device *pdev)
afe->dev = dev;
- ret = of_reserved_mem_device_init(dev);
+ ret = devm_of_reserved_mem_device_init(dev);
if (ret) {
dev_info(dev, "no reserved memory found, pre-allocating buffers instead\n");
afe->preallocate_buffers = true;
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 35/42] ASoC: mediatek: mt8186: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (33 preceding siblings ...)
2026-07-05 19:40 ` [PATCH 34/42] ASoC: mediatek: mt8173: " Mukesh Ojha
@ 2026-07-05 19:40 ` Mukesh Ojha
2026-07-05 19:40 ` [PATCH 36/42] ASoC: mediatek: mt8188: " Mukesh Ojha
` (8 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-05 19:40 UTC (permalink / raw)
To: devicetree, dri-devel, imx, linux-arm-kernel, linux-arm-msm,
linux-aspeed, linux-kernel, linux-media, linux-mediatek,
linux-mmc, linux-remoteproc, linux-sound, linux-staging,
linux-sunxi, linux-tegra, linuxppc-dev, openbmc,
sound-open-firmware
Cc: Konrad Dybcio, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() to ensure
the reserved memory region is released on device removal, fixing a
missing cleanup in the original code.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
sound/soc/mediatek/mt8186/mt8186-afe-pcm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c b/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
index 44a521c3a610..60576f885acd 100644
--- a/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
+++ b/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
@@ -2836,7 +2836,7 @@ static int mt8186_afe_pcm_dev_probe(struct platform_device *pdev)
afe_priv = afe->platform_priv;
afe->dev = &pdev->dev;
- ret = of_reserved_mem_device_init(dev);
+ ret = devm_of_reserved_mem_device_init(dev);
if (ret) {
dev_info(dev, "no reserved memory found, pre-allocating buffers instead\n");
afe->preallocate_buffers = true;
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 36/42] ASoC: mediatek: mt8188: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (34 preceding siblings ...)
2026-07-05 19:40 ` [PATCH 35/42] ASoC: mediatek: mt8186: " Mukesh Ojha
@ 2026-07-05 19:40 ` Mukesh Ojha
2026-07-05 19:40 ` [PATCH 37/42] ASoC: mediatek: mt8195: " Mukesh Ojha
` (7 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-05 19:40 UTC (permalink / raw)
To: devicetree, dri-devel, imx, linux-arm-kernel, linux-arm-msm,
linux-aspeed, linux-kernel, linux-media, linux-mediatek,
linux-mmc, linux-remoteproc, linux-sound, linux-staging,
linux-sunxi, linux-tegra, linuxppc-dev, openbmc,
sound-open-firmware
Cc: Konrad Dybcio, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() to ensure
the reserved memory region is released on device removal, fixing a
missing cleanup in the original code.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/mediatek/mt8188/mt8188-afe-pcm.c b/sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
index 7b1f5d05f4d6..ab4ce5e86b9d 100644
--- a/sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
+++ b/sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
@@ -3199,7 +3199,7 @@ static int mt8188_afe_pcm_dev_probe(struct platform_device *pdev)
struct regmap *infra_ao;
int i, irq_id, ret;
- ret = of_reserved_mem_device_init(dev);
+ ret = devm_of_reserved_mem_device_init(dev);
if (ret)
dev_dbg(dev, "failed to assign memory region: %d\n", ret);
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 37/42] ASoC: mediatek: mt8195: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (35 preceding siblings ...)
2026-07-05 19:40 ` [PATCH 36/42] ASoC: mediatek: mt8188: " Mukesh Ojha
@ 2026-07-05 19:40 ` Mukesh Ojha
2026-07-05 19:40 ` [PATCH 38/42] ASoC: SOF: mediatek: mt8186: " Mukesh Ojha
` (6 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-05 19:40 UTC (permalink / raw)
To: devicetree, dri-devel, imx, linux-arm-kernel, linux-arm-msm,
linux-aspeed, linux-kernel, linux-media, linux-mediatek,
linux-mmc, linux-remoteproc, linux-sound, linux-staging,
linux-sunxi, linux-tegra, linuxppc-dev, openbmc,
sound-open-firmware
Cc: Konrad Dybcio, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() to ensure
the reserved memory region is released on device removal, fixing a
missing cleanup in the original code.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
sound/soc/mediatek/mt8195/mt8195-afe-pcm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/mediatek/mt8195/mt8195-afe-pcm.c b/sound/soc/mediatek/mt8195/mt8195-afe-pcm.c
index bc0a63457cd7..52c3381e6766 100644
--- a/sound/soc/mediatek/mt8195/mt8195-afe-pcm.c
+++ b/sound/soc/mediatek/mt8195/mt8195-afe-pcm.c
@@ -3013,7 +3013,7 @@ static int mt8195_afe_pcm_dev_probe(struct platform_device *pdev)
struct reset_control *rstc;
int i, irq_id, ret;
- ret = of_reserved_mem_device_init(dev);
+ ret = devm_of_reserved_mem_device_init(dev);
if (ret)
return dev_err_probe(dev, ret, "failed to assign memory region\n");
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 38/42] ASoC: SOF: mediatek: mt8186: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (36 preceding siblings ...)
2026-07-05 19:40 ` [PATCH 37/42] ASoC: mediatek: mt8195: " Mukesh Ojha
@ 2026-07-05 19:40 ` Mukesh Ojha
2026-07-05 19:40 ` [PATCH 39/42] ASoC: SOF: mediatek: mt8195: " Mukesh Ojha
` (5 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-05 19:40 UTC (permalink / raw)
To: devicetree, dri-devel, imx, linux-arm-kernel, linux-arm-msm,
linux-aspeed, linux-kernel, linux-media, linux-mediatek,
linux-mmc, linux-remoteproc, linux-sound, linux-staging,
linux-sunxi, linux-tegra, linuxppc-dev, openbmc,
sound-open-firmware
Cc: Konrad Dybcio, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() to ensure
the reserved memory region is released on device removal, fixing a
missing cleanup in the original code.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
sound/soc/sof/mediatek/mt8186/mt8186.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/sof/mediatek/mt8186/mt8186.c b/sound/soc/sof/mediatek/mt8186/mt8186.c
index c1bea967737d..a5ccee87e684 100644
--- a/sound/soc/sof/mediatek/mt8186/mt8186.c
+++ b/sound/soc/sof/mediatek/mt8186/mt8186.c
@@ -49,7 +49,7 @@ static int platform_parse_resource(struct platform_device *pdev, void *data)
struct mtk_adsp_chip_info *adsp = data;
int ret;
- ret = of_reserved_mem_device_init(dev);
+ ret = devm_of_reserved_mem_device_init(dev);
if (ret) {
dev_err(dev, "of_reserved_mem_device_init failed\n");
return ret;
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 39/42] ASoC: SOF: mediatek: mt8195: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (37 preceding siblings ...)
2026-07-05 19:40 ` [PATCH 38/42] ASoC: SOF: mediatek: mt8186: " Mukesh Ojha
@ 2026-07-05 19:40 ` Mukesh Ojha
2026-07-05 19:40 ` [PATCH 40/42] misc: fastrpc: " Mukesh Ojha
` (4 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-05 19:40 UTC (permalink / raw)
To: devicetree, dri-devel, imx, linux-arm-kernel, linux-arm-msm,
linux-aspeed, linux-kernel, linux-media, linux-mediatek,
linux-mmc, linux-remoteproc, linux-sound, linux-staging,
linux-sunxi, linux-tegra, linuxppc-dev, openbmc,
sound-open-firmware
Cc: Konrad Dybcio, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() to ensure
the reserved memory region is released on device removal, fixing a
missing cleanup in the original code.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
sound/soc/sof/mediatek/mt8195/mt8195.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/sof/mediatek/mt8195/mt8195.c b/sound/soc/sof/mediatek/mt8195/mt8195.c
index 4d6e9300a9c0..e4b6b6c18e02 100644
--- a/sound/soc/sof/mediatek/mt8195/mt8195.c
+++ b/sound/soc/sof/mediatek/mt8195/mt8195.c
@@ -49,7 +49,7 @@ static int platform_parse_resource(struct platform_device *pdev, void *data)
struct mtk_adsp_chip_info *adsp = data;
int ret;
- ret = of_reserved_mem_device_init(dev);
+ ret = devm_of_reserved_mem_device_init(dev);
if (ret) {
dev_err(dev, "of_reserved_mem_device_init failed\n");
return ret;
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 40/42] misc: fastrpc: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (38 preceding siblings ...)
2026-07-05 19:40 ` [PATCH 39/42] ASoC: SOF: mediatek: mt8195: " Mukesh Ojha
@ 2026-07-05 19:40 ` Mukesh Ojha
2026-07-06 4:55 ` Ekansh Gupta
2026-07-05 19:40 ` [PATCH 41/42] ASoC: fsl: imx-rpmsg: Use devm_of_reserved_mem_device_init_by_idx() Mukesh Ojha
` (3 subsequent siblings)
43 siblings, 1 reply; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-05 19:40 UTC (permalink / raw)
To: devicetree, dri-devel, imx, linux-arm-kernel, linux-arm-msm,
linux-aspeed, linux-kernel, linux-media, linux-mediatek,
linux-mmc, linux-remoteproc, linux-sound, linux-staging,
linux-sunxi, linux-tegra, linuxppc-dev, openbmc,
sound-open-firmware
Cc: Konrad Dybcio, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() to ensure
the reserved memory region is released on device removal, fixing a
missing of_reserved_mem_device_release() in fastrpc_rpmsg_remove().
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
drivers/misc/fastrpc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
index d86e79134c68..c4e05b0db527 100644
--- a/drivers/misc/fastrpc.c
+++ b/drivers/misc/fastrpc.c
@@ -2396,7 +2396,7 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev)
return -EINVAL;
}
- if (of_reserved_mem_device_init_by_idx(rdev, rdev->of_node, 0))
+ if (devm_of_reserved_mem_device_init(rdev))
dev_info(rdev, "no reserved DMA memory for FASTRPC\n");
vmcount = of_property_read_variable_u32_array(rdev->of_node,
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 41/42] ASoC: fsl: imx-rpmsg: Use devm_of_reserved_mem_device_init_by_idx()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (39 preceding siblings ...)
2026-07-05 19:40 ` [PATCH 40/42] misc: fastrpc: " Mukesh Ojha
@ 2026-07-05 19:40 ` Mukesh Ojha
2026-07-05 19:40 ` [PATCH 42/42] ASoC: sprd: Use devm_of_reserved_mem_device_init() Mukesh Ojha
` (2 subsequent siblings)
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-05 19:40 UTC (permalink / raw)
To: devicetree, dri-devel, imx, linux-arm-kernel, linux-arm-msm,
linux-aspeed, linux-kernel, linux-media, linux-mediatek,
linux-mmc, linux-remoteproc, linux-sound, linux-staging,
linux-sunxi, linux-tegra, linuxppc-dev, openbmc,
sound-open-firmware
Cc: Konrad Dybcio, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init_by_idx() to
ensure the reserved memory region is released on device removal, fixing
a missing cleanup — the driver has no remove function.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
sound/soc/fsl/imx-rpmsg.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/fsl/imx-rpmsg.c b/sound/soc/fsl/imx-rpmsg.c
index 5f1af258caf2..f504d94c4f68 100644
--- a/sound/soc/fsl/imx-rpmsg.c
+++ b/sound/soc/fsl/imx-rpmsg.c
@@ -199,7 +199,7 @@ static int imx_rpmsg_probe(struct platform_device *pdev)
goto fail;
}
- ret = of_reserved_mem_device_init_by_idx(&pdev->dev, np, 0);
+ ret = devm_of_reserved_mem_device_init_by_idx(&pdev->dev, np, 0);
if (ret)
dev_warn(&pdev->dev, "no reserved DMA memory\n");
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [PATCH 42/42] ASoC: sprd: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (40 preceding siblings ...)
2026-07-05 19:40 ` [PATCH 41/42] ASoC: fsl: imx-rpmsg: Use devm_of_reserved_mem_device_init_by_idx() Mukesh Ojha
@ 2026-07-05 19:40 ` Mukesh Ojha
2026-07-06 12:14 ` [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mark Brown
2026-07-07 11:39 ` Liviu Dudau
43 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-05 19:40 UTC (permalink / raw)
To: devicetree, dri-devel, imx, linux-arm-kernel, linux-arm-msm,
linux-aspeed, linux-kernel, linux-media, linux-mediatek,
linux-mmc, linux-remoteproc, linux-sound, linux-staging,
linux-sunxi, linux-tegra, linuxppc-dev, openbmc,
sound-open-firmware
Cc: Konrad Dybcio, Mukesh Ojha
Use the devres-managed devm_of_reserved_mem_device_init() to ensure
the reserved memory region is released on device removal, fixing a
missing cleanup — the driver has no remove function. Also drop the
now-unused local variable np.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
sound/soc/sprd/sprd-pcm-dma.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/sound/soc/sprd/sprd-pcm-dma.c b/sound/soc/sprd/sprd-pcm-dma.c
index cbf5bf82d96e..220f55d475af 100644
--- a/sound/soc/sprd/sprd-pcm-dma.c
+++ b/sound/soc/sprd/sprd-pcm-dma.c
@@ -459,10 +459,9 @@ static const struct snd_soc_component_driver sprd_soc_component = {
static int sprd_soc_platform_probe(struct platform_device *pdev)
{
- struct device_node *np = pdev->dev.of_node;
int ret;
- ret = of_reserved_mem_device_init_by_idx(&pdev->dev, np, 0);
+ ret = devm_of_reserved_mem_device_init(&pdev->dev);
if (ret)
dev_warn(&pdev->dev,
"no reserved DMA memory for audio platform device\n");
--
2.53.0
^ permalink raw reply related [flat|nested] 60+ messages in thread
* Re: [PATCH 40/42] misc: fastrpc: Use devm_of_reserved_mem_device_init()
2026-07-05 19:40 ` [PATCH 40/42] misc: fastrpc: " Mukesh Ojha
@ 2026-07-06 4:55 ` Ekansh Gupta
0 siblings, 0 replies; 60+ messages in thread
From: Ekansh Gupta @ 2026-07-06 4:55 UTC (permalink / raw)
To: Mukesh Ojha, devicetree, dri-devel, imx, linux-arm-kernel,
linux-arm-msm, linux-aspeed, linux-kernel, linux-media,
linux-mediatek, linux-mmc, linux-remoteproc, linux-sound,
linux-staging, linux-sunxi, linux-tegra, linuxppc-dev, openbmc,
sound-open-firmware, Srinivas Kandagatla
Cc: Konrad Dybcio
On 06-07-2026 01:10, Mukesh Ojha wrote:
> Use the devres-managed devm_of_reserved_mem_device_init() to ensure
> the reserved memory region is released on device removal, fixing a
> missing of_reserved_mem_device_release() in fastrpc_rpmsg_remove().
nit: I see this change is also fixing fastrpc_rpmsg_probe() early
failure leaks as well as -EPROBE_DEFER retry paths which could be added
to the commit message.
Reviewed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
>
> Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
> ---
> drivers/misc/fastrpc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
> index d86e79134c68..c4e05b0db527 100644
> --- a/drivers/misc/fastrpc.c
> +++ b/drivers/misc/fastrpc.c
> @@ -2396,7 +2396,7 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev)
> return -EINVAL;
> }
>
> - if (of_reserved_mem_device_init_by_idx(rdev, rdev->of_node, 0))
> + if (devm_of_reserved_mem_device_init(rdev))
> dev_info(rdev, "no reserved DMA memory for FASTRPC\n");
>
> vmcount = of_property_read_variable_u32_array(rdev->of_node,
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [PATCH 03/42] firmware: qcom: scm: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 ` [PATCH 03/42] firmware: qcom: scm: Use devm_of_reserved_mem_device_init() Mukesh Ojha
2026-07-03 23:12 ` Dmitry Baryshkov
@ 2026-07-06 8:32 ` Konrad Dybcio
1 sibling, 0 replies; 60+ messages in thread
From: Konrad Dybcio @ 2026-07-06 8:32 UTC (permalink / raw)
To: Mukesh Ojha, Bjorn Andersson, Konrad Dybcio, Liviu Dudau,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Joel Stanley, Andrew Jeffery, Paul Cercueil,
Anitha Chrisanthus, Paul Kocialkowski, Linus Walleij,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Alexey Brodkin,
Laurent Pinchart, Tomi Valkeinen, Michal Simek, Daniel Scally,
Jacopo Mondi, Mauro Carvalho Chehab, Eddie James, Tiffany Lin,
Andrew-CT Chen, Yunfei Dong, Minghsiu Tsai, Houlong Wei,
Matthias Brugger, AngeloGioacchino Del Regno, Joseph Liu,
Marvin Lin, Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware
On 7/3/26 9:38 PM, Mukesh Ojha wrote:
> Switch from of_reserved_mem_device_init() to the new resource managed
> devm_of_reserved_mem_device_init() so that the reserved memory region
> is released automatically on probe failure or device unbind. This
> eliminates the err_rmem cleanup label and the need to call
> of_reserved_mem_device_release() explicitly on error paths.
>
> Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
> ---
Thanks!
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (41 preceding siblings ...)
2026-07-05 19:40 ` [PATCH 42/42] ASoC: sprd: Use devm_of_reserved_mem_device_init() Mukesh Ojha
@ 2026-07-06 12:14 ` Mark Brown
2026-07-06 13:16 ` Mukesh Ojha
2026-07-07 11:39 ` Liviu Dudau
43 siblings, 1 reply; 60+ messages in thread
From: Mark Brown @ 2026-07-06 12:14 UTC (permalink / raw)
To: Mukesh Ojha
Cc: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Frank Li,
Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan, Ekansh Gupta,
BST Linux Kernel Upstream Group, Fabio Estevam, Nicolin Chen,
Pengutronix Kernel Team, Kai Vehmanen, Pierre-Louis Bossart,
Vijendar Mukunda, Chunyan Zhang, CIX Linux Kernel Upstream Group,
linux-arm-msm, linux-kernel, dri-devel, linux-aspeed,
linux-arm-kernel, linux-mips, linux-sunxi, linux-media, openbmc,
linux-mediatek, kernel, linux-tegra, linux-mmc, devicetree,
linux-remoteproc, linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware
[-- Attachment #1: Type: text/plain, Size: 758 bytes --]
On Sat, Jul 04, 2026 at 01:08:13AM +0530, Mukesh Ojha wrote:
> Drivers using of_reserved_mem_device_init() and its variants must
> manually call of_reserved_mem_device_release() in their remove and
> error-unwind paths. This is repetitive boilerplate that is easy to
> get wrong, and several drivers have open-coded the teardown
> inconsistently or skipped it entirely, leading to dangling reserved
> memory references.
Just as a general thing, rather than sending a huge cross subsystem
series for something like this it's probably better to just send a
couple of examples, then once the new API is introduced and either has a
pullable tag or has made it to mainline go and do the conversion. This
avoids clogging everyone's inbox with very big serieses.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [PATCH 25/42] ASoC: mediatek: mt8192: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 ` [PATCH 25/42] ASoC: mediatek: mt8192: " Mukesh Ojha
@ 2026-07-06 12:16 ` Mark Brown
0 siblings, 0 replies; 60+ messages in thread
From: Mark Brown @ 2026-07-06 12:16 UTC (permalink / raw)
To: Mukesh Ojha
Cc: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Frank Li,
Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan, Ekansh Gupta,
BST Linux Kernel Upstream Group, Fabio Estevam, Nicolin Chen,
Pengutronix Kernel Team, Kai Vehmanen, Pierre-Louis Bossart,
Vijendar Mukunda, Chunyan Zhang, CIX Linux Kernel Upstream Group,
linux-arm-msm, linux-kernel, dri-devel, linux-aspeed,
linux-arm-kernel, linux-mips, linux-sunxi, linux-media, openbmc,
linux-mediatek, kernel, linux-tegra, linux-mmc, devicetree,
linux-remoteproc, linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware
[-- Attachment #1: Type: text/plain, Size: 330 bytes --]
On Sat, Jul 04, 2026 at 01:08:38AM +0530, Mukesh Ojha wrote:
> Replace the hand-rolled devm wrapper (mt8192_afe_release_reserved_mem +
> devm_add_action_or_reset) with the standard
> devm_of_reserved_mem_device_init(), letting the device resource manager
> handle cleanup automatically.
Acked-by: Mark Brown <broonie@kernel.org>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [PATCH 26/42] ASoC: mediatek: mt8196: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 ` [PATCH 26/42] ASoC: mediatek: mt8196: " Mukesh Ojha
@ 2026-07-06 12:16 ` Mark Brown
0 siblings, 0 replies; 60+ messages in thread
From: Mark Brown @ 2026-07-06 12:16 UTC (permalink / raw)
To: Mukesh Ojha
Cc: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Frank Li,
Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan, Ekansh Gupta,
BST Linux Kernel Upstream Group, Fabio Estevam, Nicolin Chen,
Pengutronix Kernel Team, Kai Vehmanen, Pierre-Louis Bossart,
Vijendar Mukunda, Chunyan Zhang, CIX Linux Kernel Upstream Group,
linux-arm-msm, linux-kernel, dri-devel, linux-aspeed,
linux-arm-kernel, linux-mips, linux-sunxi, linux-media, openbmc,
linux-mediatek, kernel, linux-tegra, linux-mmc, devicetree,
linux-remoteproc, linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware
[-- Attachment #1: Type: text/plain, Size: 330 bytes --]
On Sat, Jul 04, 2026 at 01:08:39AM +0530, Mukesh Ojha wrote:
> Replace the hand-rolled devm wrapper (mt8196_afe_release_reserved_mem +
> devm_add_action_or_reset) with the standard
> devm_of_reserved_mem_device_init(), letting the device resource manager
> handle cleanup automatically.
Acked-by: Mark Brown <broonie@kernel.org>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [PATCH 27/42] ASoC: mediatek: mt8183: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 ` [PATCH 27/42] ASoC: mediatek: mt8183: " Mukesh Ojha
@ 2026-07-06 12:17 ` Mark Brown
0 siblings, 0 replies; 60+ messages in thread
From: Mark Brown @ 2026-07-06 12:17 UTC (permalink / raw)
To: Mukesh Ojha
Cc: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Frank Li,
Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan, Ekansh Gupta,
BST Linux Kernel Upstream Group, Fabio Estevam, Nicolin Chen,
Pengutronix Kernel Team, Kai Vehmanen, Pierre-Louis Bossart,
Vijendar Mukunda, Chunyan Zhang, CIX Linux Kernel Upstream Group,
linux-arm-msm, linux-kernel, dri-devel, linux-aspeed,
linux-arm-kernel, linux-mips, linux-sunxi, linux-media, openbmc,
linux-mediatek, kernel, linux-tegra, linux-mmc, devicetree,
linux-remoteproc, linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware
[-- Attachment #1: Type: text/plain, Size: 330 bytes --]
On Sat, Jul 04, 2026 at 01:08:40AM +0530, Mukesh Ojha wrote:
> Replace the hand-rolled devm wrapper (mt8183_afe_release_reserved_mem +
> devm_add_action_or_reset) with the standard
> devm_of_reserved_mem_device_init(), letting the device resource manager
> handle cleanup automatically.
Acked-by: Mark Brown <broonie@kernel.org>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [PATCH 28/42] ASoC: mediatek: mt8189: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 ` [PATCH 28/42] ASoC: mediatek: mt8189: " Mukesh Ojha
@ 2026-07-06 12:18 ` Mark Brown
0 siblings, 0 replies; 60+ messages in thread
From: Mark Brown @ 2026-07-06 12:18 UTC (permalink / raw)
To: Mukesh Ojha
Cc: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Frank Li,
Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan, Ekansh Gupta,
BST Linux Kernel Upstream Group, Fabio Estevam, Nicolin Chen,
Pengutronix Kernel Team, Kai Vehmanen, Pierre-Louis Bossart,
Vijendar Mukunda, Chunyan Zhang, CIX Linux Kernel Upstream Group,
linux-arm-msm, linux-kernel, dri-devel, linux-aspeed,
linux-arm-kernel, linux-mips, linux-sunxi, linux-media, openbmc,
linux-mediatek, kernel, linux-tegra, linux-mmc, devicetree,
linux-remoteproc, linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware
[-- Attachment #1: Type: text/plain, Size: 330 bytes --]
On Sat, Jul 04, 2026 at 01:08:41AM +0530, Mukesh Ojha wrote:
> Replace the hand-rolled devm wrapper (mt8189_afe_release_reserved_mem +
> devm_add_action_or_reset) with the standard
> devm_of_reserved_mem_device_init(), letting the device resource manager
> handle cleanup automatically.
Acked-by: Mark Brown <broonie@kernel.org>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [PATCH 29/42] ASoC: SOF: imx: Use devm_of_reserved_mem_device_init_by_name()
2026-07-03 19:38 ` [PATCH 29/42] ASoC: SOF: imx: Use devm_of_reserved_mem_device_init_by_name() Mukesh Ojha
@ 2026-07-06 12:19 ` Mark Brown
0 siblings, 0 replies; 60+ messages in thread
From: Mark Brown @ 2026-07-06 12:19 UTC (permalink / raw)
To: Mukesh Ojha
Cc: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Frank Li,
Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan, Ekansh Gupta,
BST Linux Kernel Upstream Group, Fabio Estevam, Nicolin Chen,
Pengutronix Kernel Team, Kai Vehmanen, Pierre-Louis Bossart,
Vijendar Mukunda, Chunyan Zhang, CIX Linux Kernel Upstream Group,
linux-arm-msm, linux-kernel, dri-devel, linux-aspeed,
linux-arm-kernel, linux-mips, linux-sunxi, linux-media, openbmc,
linux-mediatek, kernel, linux-tegra, linux-mmc, devicetree,
linux-remoteproc, linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware
[-- Attachment #1: Type: text/plain, Size: 344 bytes --]
On Sat, Jul 04, 2026 at 01:08:42AM +0530, Mukesh Ojha wrote:
> Use the devres-managed devm_of_reserved_mem_device_init_by_name()
> instead of the manual of_reserved_mem_device_init_by_name()/
> of_reserved_mem_device_release() pair, letting the device resource
> manager handle cleanup automatically.
Acked-by: Mark Brown <Broonie@kernel.org>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [PATCH 31/42] ASoC: cix-ipbloq: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 ` [PATCH 31/42] ASoC: cix-ipbloq: " Mukesh Ojha
@ 2026-07-06 12:20 ` Mark Brown
2026-07-07 1:34 ` Gary Yang
1 sibling, 0 replies; 60+ messages in thread
From: Mark Brown @ 2026-07-06 12:20 UTC (permalink / raw)
To: Mukesh Ojha
Cc: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Frank Li,
Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan, Ekansh Gupta,
BST Linux Kernel Upstream Group, Fabio Estevam, Nicolin Chen,
Pengutronix Kernel Team, Kai Vehmanen, Pierre-Louis Bossart,
Vijendar Mukunda, Chunyan Zhang, CIX Linux Kernel Upstream Group,
linux-arm-msm, linux-kernel, dri-devel, linux-aspeed,
linux-arm-kernel, linux-mips, linux-sunxi, linux-media, openbmc,
linux-mediatek, kernel, linux-tegra, linux-mmc, devicetree,
linux-remoteproc, linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware
[-- Attachment #1: Type: text/plain, Size: 283 bytes --]
On Sat, Jul 04, 2026 at 01:08:44AM +0530, Mukesh Ojha wrote:
> Use the devres-managed devm_of_reserved_mem_device_init() to ensure
> the reserved memory region is released on device removal, fixing a
> missing cleanup in the original code.
Acked-by: Mark Brown <broonie@kernel.org>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers
2026-07-06 12:14 ` [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mark Brown
@ 2026-07-06 13:16 ` Mukesh Ojha
0 siblings, 0 replies; 60+ messages in thread
From: Mukesh Ojha @ 2026-07-06 13:16 UTC (permalink / raw)
To: Mark Brown
Cc: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Frank Li,
Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan, Ekansh Gupta,
BST Linux Kernel Upstream Group, Fabio Estevam, Nicolin Chen,
Pengutronix Kernel Team, Kai Vehmanen, Pierre-Louis Bossart,
Vijendar Mukunda, Chunyan Zhang, CIX Linux Kernel Upstream Group,
linux-arm-msm, linux-kernel, dri-devel, linux-aspeed,
linux-arm-kernel, linux-mips, linux-sunxi, linux-media, openbmc,
linux-mediatek, kernel, linux-tegra, linux-mmc, devicetree,
linux-remoteproc, linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware
On Mon, Jul 06, 2026 at 01:14:13PM +0100, Mark Brown wrote:
> On Sat, Jul 04, 2026 at 01:08:13AM +0530, Mukesh Ojha wrote:
> > Drivers using of_reserved_mem_device_init() and its variants must
> > manually call of_reserved_mem_device_release() in their remove and
> > error-unwind paths. This is repetitive boilerplate that is easy to
> > get wrong, and several drivers have open-coded the teardown
> > inconsistently or skipped it entirely, leading to dangling reserved
> > memory references.
>
> Just as a general thing, rather than sending a huge cross subsystem
> series for something like this it's probably better to just send a
> couple of examples, then once the new API is introduced and either has a
> pullable tag or has made it to mainline go and do the conversion. This
> avoids clogging everyone's inbox with very big serieses.
Apologies for this; this is my first series touching these many
subsystems, and I also learned the hard way when the entire
series was not sent in one shot due to the daily sending limit
via git send-email[1], and I had to cut many cc lists for patches
33/42 to 42/42.
[1]
4.5.3 Your message has too many recipients. For more information regarding
4.5.3 Google's sending limits, go to
4.5.3 https://support.google.com/mail/?p=TooManyRecipientsError 5a478bee46e88-30f0bbd2362sm49597158eec.20 - gsmtp
Thanks for the suggestion; point noted.
--
-Mukesh Ojha
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [PATCH 06/42] media: synopsys: hdmirx: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 ` [PATCH 06/42] media: synopsys: hdmirx: " Mukesh Ojha
@ 2026-07-06 15:00 ` Dmitry Osipenko
0 siblings, 0 replies; 60+ messages in thread
From: Dmitry Osipenko @ 2026-07-06 15:00 UTC (permalink / raw)
To: Mukesh Ojha, Bjorn Andersson, Konrad Dybcio, Liviu Dudau,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Joel Stanley, Andrew Jeffery, Paul Cercueil,
Anitha Chrisanthus, Paul Kocialkowski, Linus Walleij,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Alexey Brodkin,
Laurent Pinchart, Tomi Valkeinen, Michal Simek, Daniel Scally,
Jacopo Mondi, Mauro Carvalho Chehab, Eddie James, Tiffany Lin,
Andrew-CT Chen, Yunfei Dong, Minghsiu Tsai, Houlong Wei,
Matthias Brugger, AngeloGioacchino Del Regno, Joseph Liu,
Marvin Lin, Krzysztof Kozlowski, Thierry Reding, Jonathan Hunter,
Srinivas Kandagatla, Arnd Bergmann, Greg Kroah-Hartman, Ge Gordon,
Adrian Hunter, Ulf Hansson, Rob Herring, Saravana Kannan,
Mathieu Poirier, Jaroslav Kysela, Takashi Iwai, Shengjiu Wang,
Xiubo Li, Liam Girdwood, Mark Brown, Frank Li, Sascha Hauer,
Peter Ujfalusi, Bard Liao, Daniel Baluta, Orson Zhai, Baolin Wang,
Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware
On 7/3/26 22:38, Mukesh Ojha wrote:
> Replace the hand-rolled devm_hdmirx_of_reserved_mem_device_release()
> devres action with devm_of_reserved_mem_device_init(), which handles the
> cleanup automatically. This removes both the wrapper function and the
> devm_add_action_or_reset() call.
>
> Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
> ---
> .../media/platform/synopsys/hdmirx/snps_hdmirx.c | 16 ++--------------
> 1 file changed, 2 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
> index 25f8ca0d6d94..7c6acc6d7e88 100644
> --- a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
> +++ b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
> @@ -2265,11 +2265,6 @@ static const struct hdmirx_cec_ops hdmirx_cec_ops = {
> .read = hdmirx_readl,
> };
>
> -static void devm_hdmirx_of_reserved_mem_device_release(void *dev)
> -{
> - of_reserved_mem_device_release(dev);
> -}
> -
> static int hdmirx_parse_dt(struct snps_hdmirx_dev *hdmirx_dev)
> {
> struct device *dev = hdmirx_dev->dev;
> @@ -2316,16 +2311,9 @@ static int hdmirx_parse_dt(struct snps_hdmirx_dev *hdmirx_dev)
> if (!device_property_read_bool(dev, "hpd-is-active-low"))
> hdmirx_dev->hpd_trigger_level_high = true;
>
> - ret = of_reserved_mem_device_init(dev);
> - if (ret) {
> + ret = devm_of_reserved_mem_device_init(dev);
> + if (ret)
> dev_warn(dev, "no reserved memory for HDMIRX, use default CMA\n");
> - } else {
> - ret = devm_add_action_or_reset(dev,
> - devm_hdmirx_of_reserved_mem_device_release,
> - dev);
> - if (ret)
> - return ret;
> - }
>
> return 0;
> }
Reviewed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
--
Best regards,
Dmitry
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [PATCH 31/42] ASoC: cix-ipbloq: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 ` [PATCH 31/42] ASoC: cix-ipbloq: " Mukesh Ojha
2026-07-06 12:20 ` Mark Brown
@ 2026-07-07 1:34 ` Gary Yang
1 sibling, 0 replies; 60+ messages in thread
From: Gary Yang @ 2026-07-07 1:34 UTC (permalink / raw)
To: Mukesh Ojha
Cc: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan, Ekansh Gupta,
BST Linux Kernel Upstream Group, Fabio Estevam, Nicolin Chen,
Pengutronix Kernel Team, Kai Vehmanen, Pierre-Louis Bossart,
Vijendar Mukunda, Chunyan Zhang, CIX Linux Kernel Upstream Group,
linux-arm-msm, linux-kernel, dri-devel, linux-aspeed,
linux-arm-kernel, linux-mips, linux-sunxi, linux-media, openbmc,
linux-mediatek, kernel, linux-tegra, linux-mmc, devicetree,
linux-remoteproc, linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware
On 2026-07-04 01:08, Mukesh Ojha wrote:
> [Some people who received this message don't often get email from mukesh.ojha@oss.qualcomm.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>
> EXTERNAL EMAIL
>
> Use the devres-managed devm_of_reserved_mem_device_init() to ensure
> the reserved memory region is released on device removal, fixing a
> missing cleanup in the original code.
>
> Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
> ---
> sound/hda/controllers/cix-ipbloq.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sound/hda/controllers/cix-ipbloq.c b/sound/hda/controllers/cix-ipbloq.c
> index c1084a915c13..815932e5c58b 100644
> --- a/sound/hda/controllers/cix-ipbloq.c
> +++ b/sound/hda/controllers/cix-ipbloq.c
> @@ -257,7 +257,7 @@ static int cix_ipbloq_hda_probe(struct platform_device *pdev)
>
> dma_set_mask_and_coherent(hda->dev, DMA_BIT_MASK(32));
>
> - err = of_reserved_mem_device_init(hda->dev);
> + err = devm_of_reserved_mem_device_init(hda->dev);
> if (err < 0 && err != -ENODEV) {
> dev_err(hda->dev,
> "failed to init reserved mem for DMA, err = %d\n", err);
Reviewed-by: Gary Yang <gary.yang@cixtech.com>
> --
> 2.53.0
>
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [PATCH 20/42] drm: xlnx: zynqmp_dpsub: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 ` [PATCH 20/42] drm: xlnx: zynqmp_dpsub: " Mukesh Ojha
@ 2026-07-07 9:13 ` Pandey, Radhey Shyam
0 siblings, 0 replies; 60+ messages in thread
From: Pandey, Radhey Shyam @ 2026-07-07 9:13 UTC (permalink / raw)
To: Mukesh Ojha, Bjorn Andersson, Konrad Dybcio, Liviu Dudau,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Joel Stanley, Andrew Jeffery, Paul Cercueil,
Anitha Chrisanthus, Paul Kocialkowski, Linus Walleij,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Alexey Brodkin,
Laurent Pinchart, Tomi Valkeinen, Michal Simek, Daniel Scally,
Jacopo Mondi, Mauro Carvalho Chehab, Eddie James, Tiffany Lin,
Andrew-CT Chen, Yunfei Dong, Minghsiu Tsai, Houlong Wei,
Matthias Brugger, AngeloGioacchino Del Regno, Joseph Liu,
Marvin Lin, Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan
Cc: Ekansh Gupta, BST Linux Kernel Upstream Group, Fabio Estevam,
Nicolin Chen, Pengutronix Kernel Team, Kai Vehmanen,
Pierre-Louis Bossart, Vijendar Mukunda, Chunyan Zhang,
CIX Linux Kernel Upstream Group, linux-arm-msm, linux-kernel,
dri-devel, linux-aspeed, linux-arm-kernel, linux-mips,
linux-sunxi, linux-media, openbmc, linux-mediatek, kernel,
linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware
> Use the devres-managed devm_of_reserved_mem_device_init() instead of
> the manual of_reserved_mem_device_init()/of_reserved_mem_device_release()
> pair, letting the device resource manager handle cleanup automatically.
>
> Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Reviewed-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
Thanks!
> ---
> drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
> index 53ab1a2a5aaf..e93a7a299b52 100644
> --- a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
> +++ b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
> @@ -203,7 +203,7 @@ static int zynqmp_dpsub_probe(struct platform_device *pdev)
> dma_set_max_seg_size(&pdev->dev, DMA_BIT_MASK(32));
>
> /* Try the reserved memory. Proceed if there's none. */
> - of_reserved_mem_device_init(&pdev->dev);
> + devm_of_reserved_mem_device_init(&pdev->dev);
>
> ret = zynqmp_dpsub_init_clocks(dpsub);
> if (ret < 0)
> @@ -255,7 +255,6 @@ static int zynqmp_dpsub_probe(struct platform_device *pdev)
> pm_runtime_disable(&pdev->dev);
> clk_disable_unprepare(dpsub->apb_clk);
> err_mem:
> - of_reserved_mem_device_release(&pdev->dev);
> if (!dpsub->drm)
> zynqmp_dpsub_release(dpsub);
> return ret;
> @@ -276,7 +275,6 @@ static void zynqmp_dpsub_remove(struct platform_device *pdev)
>
> pm_runtime_disable(&pdev->dev);
> clk_disable_unprepare(dpsub->apb_clk);
> - of_reserved_mem_device_release(&pdev->dev);
>
> if (!dpsub->drm)
> zynqmp_dpsub_release(dpsub);
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
` (42 preceding siblings ...)
2026-07-06 12:14 ` [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mark Brown
@ 2026-07-07 11:39 ` Liviu Dudau
43 siblings, 0 replies; 60+ messages in thread
From: Liviu Dudau @ 2026-07-07 11:39 UTC (permalink / raw)
To: Mukesh Ojha
Cc: Bjorn Andersson, Konrad Dybcio, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Joel Stanley,
Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Paul Kocialkowski, Linus Walleij, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen,
Michal Simek, Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab,
Eddie James, Tiffany Lin, Andrew-CT Chen, Yunfei Dong,
Minghsiu Tsai, Houlong Wei, Matthias Brugger,
AngeloGioacchino Del Regno, Joseph Liu, Marvin Lin,
Dmitry Osipenko, Krzysztof Kozlowski, Thierry Reding,
Jonathan Hunter, Srinivas Kandagatla, Arnd Bergmann,
Greg Kroah-Hartman, Ge Gordon, Adrian Hunter, Ulf Hansson,
Rob Herring, Saravana Kannan, Mathieu Poirier, Jaroslav Kysela,
Takashi Iwai, Shengjiu Wang, Xiubo Li, Liam Girdwood, Mark Brown,
Frank Li, Sascha Hauer, Peter Ujfalusi, Bard Liao, Daniel Baluta,
Orson Zhai, Baolin Wang, Peter Chen, Fugang Duan, Ekansh Gupta,
BST Linux Kernel Upstream Group, Fabio Estevam, Nicolin Chen,
Pengutronix Kernel Team, Kai Vehmanen, Pierre-Louis Bossart,
Vijendar Mukunda, Chunyan Zhang, CIX Linux Kernel Upstream Group,
linux-arm-msm, linux-kernel, dri-devel, linux-aspeed,
linux-arm-kernel, linux-mips, linux-sunxi, linux-media, openbmc,
linux-mediatek, kernel, linux-tegra, linux-mmc, devicetree,
linux-remoteproc, linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware
On Sat, Jul 04, 2026 at 01:08:13AM +0530, Mukesh Ojha wrote:
> Drivers using of_reserved_mem_device_init() and its variants must
> manually call of_reserved_mem_device_release() in their remove and
> error-unwind paths. This is repetitive boilerplate that is easy to
> get wrong, and several drivers have open-coded the teardown
> inconsistently or skipped it entirely, leading to dangling reserved
> memory references.
>
> This series introduces devres-managed wrappers —
> devm_of_reserved_mem_device_init(), devm_of_reserved_mem_device_init_by_idx(),
> and devm_of_reserved_mem_device_init_by_name() — that tie the reserved
> memory region lifetime to the device, releasing it automatically on
> unbind. The remaining 40 patches convert drivers across the drm, media,
> ASoC, remoteproc, firmware, mmc, memory and misc subsystems to use these
> helpers, yielding a net reduction of ~90 lines of boilerplate.
>
> This series depends on https://lore.kernel.org/lkml/20260703164457.4040457-1-mukesh.ojha@oss.qualcomm.com/
>
> Konrad Dybcio (1):
> of: reserved_mem: Introduce devres-managed initialization functions
>
> Mukesh Ojha (41):
> of: reserved_mem: Add devm_of_reserved_mem_device_init_by_name()
> firmware: qcom: scm: Use devm_of_reserved_mem_device_init()
> remoteproc: da8xx: Use devm_of_reserved_mem_device_init()
> remoteproc: keystone: Use devm_of_reserved_mem_device_init()
> media: synopsys: hdmirx: Use devm_of_reserved_mem_device_init()
> remoteproc: omap: Use devm_of_reserved_mem_device_init()
> drm: logicvc: Use devm_of_reserved_mem_device_init()
> drm: hdlcd: Use devm_of_reserved_mem_device_init()
> drm: pl111: Use devm_of_reserved_mem_device_init()
> remoteproc: mtk_scp: Use devm_of_reserved_mem_device_init()
> media: aspeed: Use devm_of_reserved_mem_device_init()
> media: nuvoton: npcm-video: Use devm_of_reserved_mem_device_init()
> memory: tegra210-emc: Use devm_of_reserved_mem_device_init_by_name()
> drm: komeda: Use devm_of_reserved_mem_device_init()
> drm: malidp: Use devm_of_reserved_mem_device_init()
For the hdlcd, komeda and malidp drivers:
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Best regards,
Liviu
> drm: ingenic: Use devm_of_reserved_mem_device_init()
> drm: kmb: Use devm_of_reserved_mem_device_init()
> drm: sun4i: Use devm_of_reserved_mem_device_init()
> drm: xlnx: zynqmp_dpsub: Use devm_of_reserved_mem_device_init()
> media: arm: mali-c55: Use devm_of_reserved_mem_device_init()
> media: mediatek: vpu: Use devm_of_reserved_mem_device_init()
> mmc: sdhci-of-bst: Use devm_of_reserved_mem_device_init_by_idx()
> remoteproc: ti_k3: Use devm_of_reserved_mem_device_init()
> ASoC: mediatek: mt8192: Use devm_of_reserved_mem_device_init()
> ASoC: mediatek: mt8196: Use devm_of_reserved_mem_device_init()
> ASoC: mediatek: mt8183: Use devm_of_reserved_mem_device_init()
> ASoC: mediatek: mt8189: Use devm_of_reserved_mem_device_init()
> ASoC: SOF: imx: Use devm_of_reserved_mem_device_init_by_name()
> staging: media: cedrus: Use devm_of_reserved_mem_device_init()
> ASoC: cix-ipbloq: Use devm_of_reserved_mem_device_init()
> drm: aspeed: Use devm_of_reserved_mem_device_init()
> drm: arcpgu: Use devm_of_reserved_mem_device_init()
> ASoC: mediatek: mt8173: Use devm_of_reserved_mem_device_init()
> ASoC: mediatek: mt8186: Use devm_of_reserved_mem_device_init()
> ASoC: mediatek: mt8188: Use devm_of_reserved_mem_device_init()
> ASoC: mediatek: mt8195: Use devm_of_reserved_mem_device_init()
> ASoC: SOF: mediatek: mt8186: Use devm_of_reserved_mem_device_init()
> ASoC: SOF: mediatek: mt8195: Use devm_of_reserved_mem_device_init()
> misc: fastrpc: Use devm_of_reserved_mem_device_init()
> ASoC: fsl: imx-rpmsg: Use devm_of_reserved_mem_device_init_by_idx()
> ASoC: sprd: Use devm_of_reserved_mem_device_init()
>
> drivers/firmware/qcom/qcom_scm.c | 22 +++------
> .../gpu/drm/arm/display/komeda/komeda_dev.c | 4 +-
> drivers/gpu/drm/arm/hdlcd_drv.c | 6 +--
> drivers/gpu/drm/arm/malidp_drv.c | 4 +-
> drivers/gpu/drm/aspeed/aspeed_gfx_drv.c | 2 +-
> drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 13 +-----
> drivers/gpu/drm/kmb/kmb_drv.c | 12 +----
> drivers/gpu/drm/logicvc/logicvc_drm.c | 21 ++++-----
> drivers/gpu/drm/pl111/pl111_drv.c | 4 +-
> drivers/gpu/drm/sun4i/sun4i_drv.c | 4 +-
> drivers/gpu/drm/tiny/arcpgu.c | 2 +-
> drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 4 +-
> .../platform/arm/mali-c55/mali-c55-core.c | 12 ++---
> drivers/media/platform/aspeed/aspeed-video.c | 12 ++---
> drivers/media/platform/mediatek/vpu/mtk_vpu.c | 3 +-
> drivers/media/platform/nuvoton/npcm-video.c | 9 +---
> .../platform/synopsys/hdmirx/snps_hdmirx.c | 16 +------
> drivers/memory/tegra/tegra210-emc-core.c | 21 ++++-----
> drivers/misc/fastrpc.c | 2 +-
> drivers/mmc/host/sdhci-of-bst.c | 7 +--
> drivers/of/of_reserved_mem.c | 41 +++++++++++++++++
> drivers/remoteproc/da8xx_remoteproc.c | 10 +---
> drivers/remoteproc/keystone_remoteproc.c | 16 +------
> drivers/remoteproc/mtk_scp.c | 3 +-
> drivers/remoteproc/omap_remoteproc.c | 13 +-----
> drivers/remoteproc/ti_k3_common.c | 13 +-----
> drivers/remoteproc/ti_k3_common.h | 1 -
> .../staging/media/sunxi/cedrus/cedrus_hw.c | 6 +--
> include/linux/of_reserved_mem.h | 46 +++++++++++++++++++
> sound/hda/controllers/cix-ipbloq.c | 2 +-
> sound/soc/fsl/imx-rpmsg.c | 2 +-
> sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 2 +-
> sound/soc/mediatek/mt8183/mt8183-afe-pcm.c | 13 +-----
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c | 2 +-
> sound/soc/mediatek/mt8188/mt8188-afe-pcm.c | 2 +-
> sound/soc/mediatek/mt8189/mt8189-afe-pcm.c | 16 +------
> sound/soc/mediatek/mt8192/mt8192-afe-pcm.c | 11 +----
> sound/soc/mediatek/mt8195/mt8195-afe-pcm.c | 2 +-
> sound/soc/mediatek/mt8196/mt8196-afe-pcm.c | 14 +-----
> sound/soc/sof/imx/imx-common.c | 9 ++--
> sound/soc/sof/mediatek/mt8186/mt8186.c | 2 +-
> sound/soc/sof/mediatek/mt8195/mt8195.c | 2 +-
> sound/soc/sprd/sprd-pcm-dma.c | 3 +-
> 43 files changed, 162 insertions(+), 249 deletions(-)
>
> --
> 2.53.0
>
--
====================
| I would like to |
| fix the world, |
| but they're not |
| giving me the |
\ source code! /
---------------
¯\_(ツ)_/¯
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [PATCH 30/42] staging: media: cedrus: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 ` [PATCH 30/42] staging: media: cedrus: Use devm_of_reserved_mem_device_init() Mukesh Ojha
@ 2026-07-07 14:05 ` Paul Kocialkowski
0 siblings, 0 replies; 60+ messages in thread
From: Paul Kocialkowski @ 2026-07-07 14:05 UTC (permalink / raw)
To: Mukesh Ojha
Cc: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Linus Walleij, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland,
Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen, Michal Simek,
Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab, Eddie James,
Tiffany Lin, Andrew-CT Chen, Yunfei Dong, Minghsiu Tsai,
Houlong Wei, Matthias Brugger, AngeloGioacchino Del Regno,
Joseph Liu, Marvin Lin, Dmitry Osipenko, Krzysztof Kozlowski,
Thierry Reding, Jonathan Hunter, Srinivas Kandagatla,
Arnd Bergmann, Greg Kroah-Hartman, Ge Gordon, Adrian Hunter,
Ulf Hansson, Rob Herring, Saravana Kannan, Mathieu Poirier,
Jaroslav Kysela, Takashi Iwai, Shengjiu Wang, Xiubo Li,
Liam Girdwood, Mark Brown, Frank Li, Sascha Hauer, Peter Ujfalusi,
Bard Liao, Daniel Baluta, Orson Zhai, Baolin Wang, Peter Chen,
Fugang Duan, Ekansh Gupta, BST Linux Kernel Upstream Group,
Fabio Estevam, Nicolin Chen, Pengutronix Kernel Team,
Kai Vehmanen, Pierre-Louis Bossart, Vijendar Mukunda,
Chunyan Zhang, CIX Linux Kernel Upstream Group, linux-arm-msm,
linux-kernel, dri-devel, linux-aspeed, linux-arm-kernel,
linux-mips, linux-sunxi, linux-media, openbmc, linux-mediatek,
kernel, linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware
[-- Attachment #1: Type: text/plain, Size: 1831 bytes --]
Hi Mukesh,
On Sat 04 Jul 26, 01:08, Mukesh Ojha wrote:
> Use the devres-managed devm_of_reserved_mem_device_init() instead of
> the manual of_reserved_mem_device_init()/of_reserved_mem_device_release()
> pair, letting the device resource manager handle cleanup automatically.
Thanks for your work!
> Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
> ---
> drivers/staging/media/sunxi/cedrus/cedrus_hw.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_hw.c b/drivers/staging/media/sunxi/cedrus/cedrus_hw.c
> index 444fb53878d1..7b5aa94064a1 100644
> --- a/drivers/staging/media/sunxi/cedrus/cedrus_hw.c
> +++ b/drivers/staging/media/sunxi/cedrus/cedrus_hw.c
> @@ -266,7 +266,7 @@ int cedrus_hw_probe(struct cedrus_dev *dev)
> return ret;
> }
>
> - ret = of_reserved_mem_device_init(dev->dev);
> + ret = devm_of_reserved_mem_device_init(dev->dev);
> if (ret && ret != -ENODEV) {
> dev_err(dev->dev, "Failed to reserve memory\n");
>
> @@ -341,8 +341,6 @@ int cedrus_hw_probe(struct cedrus_dev *dev)
> err_sram:
> sunxi_sram_release(dev->dev);
> err_mem:
Could you also remove this label and switch the goto user to a regular
return ret?
Thanks!
All the best,
Paul
> - of_reserved_mem_device_release(dev->dev);
> -
> return ret;
> }
>
> @@ -353,6 +351,4 @@ void cedrus_hw_remove(struct cedrus_dev *dev)
> cedrus_hw_suspend(dev->dev);
>
> sunxi_sram_release(dev->dev);
> -
> - of_reserved_mem_device_release(dev->dev);
> }
> --
> 2.53.0
>
--
Paul Kocialkowski,
Independent contractor - sys-base - https://www.sys-base.io/
Free software developer - https://www.paulk.fr/
Expert in multimedia, graphics and embedded hardware support with Linux.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [PATCH 08/42] drm: logicvc: Use devm_of_reserved_mem_device_init()
2026-07-03 19:38 ` [PATCH 08/42] drm: logicvc: " Mukesh Ojha
@ 2026-07-07 14:10 ` Paul Kocialkowski
0 siblings, 0 replies; 60+ messages in thread
From: Paul Kocialkowski @ 2026-07-07 14:10 UTC (permalink / raw)
To: Mukesh Ojha
Cc: Bjorn Andersson, Konrad Dybcio, Liviu Dudau, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Joel Stanley, Andrew Jeffery, Paul Cercueil, Anitha Chrisanthus,
Linus Walleij, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland,
Alexey Brodkin, Laurent Pinchart, Tomi Valkeinen, Michal Simek,
Daniel Scally, Jacopo Mondi, Mauro Carvalho Chehab, Eddie James,
Tiffany Lin, Andrew-CT Chen, Yunfei Dong, Minghsiu Tsai,
Houlong Wei, Matthias Brugger, AngeloGioacchino Del Regno,
Joseph Liu, Marvin Lin, Dmitry Osipenko, Krzysztof Kozlowski,
Thierry Reding, Jonathan Hunter, Srinivas Kandagatla,
Arnd Bergmann, Greg Kroah-Hartman, Ge Gordon, Adrian Hunter,
Ulf Hansson, Rob Herring, Saravana Kannan, Mathieu Poirier,
Jaroslav Kysela, Takashi Iwai, Shengjiu Wang, Xiubo Li,
Liam Girdwood, Mark Brown, Frank Li, Sascha Hauer, Peter Ujfalusi,
Bard Liao, Daniel Baluta, Orson Zhai, Baolin Wang, Peter Chen,
Fugang Duan, Ekansh Gupta, BST Linux Kernel Upstream Group,
Fabio Estevam, Nicolin Chen, Pengutronix Kernel Team,
Kai Vehmanen, Pierre-Louis Bossart, Vijendar Mukunda,
Chunyan Zhang, CIX Linux Kernel Upstream Group, linux-arm-msm,
linux-kernel, dri-devel, linux-aspeed, linux-arm-kernel,
linux-mips, linux-sunxi, linux-media, openbmc, linux-mediatek,
kernel, linux-tegra, linux-mmc, devicetree, linux-remoteproc,
linux-staging, linux-sound, linuxppc-dev, imx,
sound-open-firmware
[-- Attachment #1: Type: text/plain, Size: 3976 bytes --]
Hi Mukesh,
On Sat 04 Jul 26, 01:08, Mukesh Ojha wrote:
> Switch to devm_of_reserved_mem_device_init() so the reserved memory
> region is released automatically on probe failure or device unbind.
> Replace all error paths that jumped to error_reserved_mem: with
> error_early: since the manual cleanup label is no longer needed, and
> remove the explicit of_reserved_mem_device_release() call in the remove
> function.
>
> Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Looks good to me, thanks!
Reviewed-by: Paul Kocialkowski <paulk@sys-base.io>
Acked-by: Paul Kocialkowski <paulk@sys-base.io>
All the best,
Paul
> ---
> drivers/gpu/drm/logicvc/logicvc_drm.c | 21 ++++++++-------------
> 1 file changed, 8 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/logicvc/logicvc_drm.c b/drivers/gpu/drm/logicvc/logicvc_drm.c
> index bbebf4fc7f51..d6dbe52ff0a9 100644
> --- a/drivers/gpu/drm/logicvc/logicvc_drm.c
> +++ b/drivers/gpu/drm/logicvc/logicvc_drm.c
> @@ -306,7 +306,7 @@ static int logicvc_drm_probe(struct platform_device *pdev)
> int irq;
> int ret;
>
> - ret = of_reserved_mem_device_init(dev);
> + ret = devm_of_reserved_mem_device_init(dev);
> if (ret && ret != -ENODEV) {
> dev_err(dev, "Failed to init memory region\n");
> goto error_early;
> @@ -327,14 +327,14 @@ static int logicvc_drm_probe(struct platform_device *pdev)
> ret = of_address_to_resource(of_node, 0, &res);
> if (ret) {
> dev_err(dev, "Failed to get resource from address\n");
> - goto error_reserved_mem;
> + goto error_early;
> }
>
> base = devm_ioremap_resource(dev, &res);
> if (IS_ERR(base)) {
> dev_err(dev, "Failed to map I/O base\n");
> ret = PTR_ERR(base);
> - goto error_reserved_mem;
> + goto error_early;
> }
>
> logicvc_drm_regmap_config.max_register = resource_size(&res) -
> @@ -345,21 +345,21 @@ static int logicvc_drm_probe(struct platform_device *pdev)
> if (IS_ERR(regmap)) {
> dev_err(dev, "Failed to create regmap for I/O\n");
> ret = PTR_ERR(regmap);
> - goto error_reserved_mem;
> + goto error_early;
> }
> }
>
> irq = platform_get_irq(pdev, 0);
> if (irq < 0) {
> ret = -ENODEV;
> - goto error_reserved_mem;
> + goto error_early;
> }
>
> logicvc = devm_drm_dev_alloc(dev, &logicvc_drm_driver,
> struct logicvc_drm, drm_dev);
> if (IS_ERR(logicvc)) {
> ret = PTR_ERR(logicvc);
> - goto error_reserved_mem;
> + goto error_early;
> }
>
> platform_set_drvdata(pdev, logicvc);
> @@ -371,7 +371,7 @@ static int logicvc_drm_probe(struct platform_device *pdev)
> caps = logicvc_drm_caps_match(logicvc);
> if (!caps) {
> ret = -EINVAL;
> - goto error_reserved_mem;
> + goto error_early;
> }
>
> logicvc->caps = caps;
> @@ -382,7 +382,7 @@ static int logicvc_drm_probe(struct platform_device *pdev)
> ret = logicvc_clocks_prepare(logicvc);
> if (ret) {
> drm_err(drm_dev, "Failed to prepare clocks\n");
> - goto error_reserved_mem;
> + goto error_early;
> }
>
> ret = devm_request_irq(dev, irq, logicvc_drm_irq_handler, 0,
> @@ -450,9 +450,6 @@ static int logicvc_drm_probe(struct platform_device *pdev)
> error_clocks:
> logicvc_clocks_unprepare(logicvc);
>
> -error_reserved_mem:
> - of_reserved_mem_device_release(dev);
> -
> error_early:
> return ret;
> }
> @@ -469,8 +466,6 @@ static void logicvc_drm_remove(struct platform_device *pdev)
> logicvc_mode_fini(logicvc);
>
> logicvc_clocks_unprepare(logicvc);
> -
> - of_reserved_mem_device_release(dev);
> }
>
> static void logicvc_drm_shutdown(struct platform_device *pdev)
> --
> 2.53.0
>
--
Paul Kocialkowski,
Independent contractor - sys-base - https://www.sys-base.io/
Free software developer - https://www.paulk.fr/
Expert in multimedia, graphics and embedded hardware support with Linux.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 60+ messages in thread
end of thread, other threads:[~2026-07-07 14:11 UTC | newest]
Thread overview: 60+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-03 19:38 [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mukesh Ojha
2026-07-03 19:38 ` [PATCH 01/42] of: reserved_mem: Introduce devres-managed initialization functions Mukesh Ojha
2026-07-03 19:38 ` [PATCH 02/42] of: reserved_mem: Add devm_of_reserved_mem_device_init_by_name() Mukesh Ojha
2026-07-03 19:38 ` [PATCH 03/42] firmware: qcom: scm: Use devm_of_reserved_mem_device_init() Mukesh Ojha
2026-07-03 23:12 ` Dmitry Baryshkov
2026-07-06 8:32 ` Konrad Dybcio
2026-07-03 19:38 ` [PATCH 04/42] remoteproc: da8xx: " Mukesh Ojha
2026-07-03 19:38 ` [PATCH 05/42] remoteproc: keystone: " Mukesh Ojha
2026-07-03 19:38 ` [PATCH 06/42] media: synopsys: hdmirx: " Mukesh Ojha
2026-07-06 15:00 ` Dmitry Osipenko
2026-07-03 19:38 ` [PATCH 07/42] remoteproc: omap: " Mukesh Ojha
2026-07-03 19:38 ` [PATCH 08/42] drm: logicvc: " Mukesh Ojha
2026-07-07 14:10 ` Paul Kocialkowski
2026-07-03 19:38 ` [PATCH 09/42] drm: hdlcd: " Mukesh Ojha
2026-07-03 19:38 ` [PATCH 10/42] drm: pl111: " Mukesh Ojha
2026-07-03 19:38 ` [PATCH 11/42] remoteproc: mtk_scp: " Mukesh Ojha
2026-07-03 19:38 ` [PATCH 12/42] media: aspeed: " Mukesh Ojha
2026-07-03 19:38 ` [PATCH 13/42] media: nuvoton: npcm-video: " Mukesh Ojha
2026-07-03 19:38 ` [PATCH 14/42] memory: tegra210-emc: Use devm_of_reserved_mem_device_init_by_name() Mukesh Ojha
2026-07-03 19:38 ` [PATCH 15/42] drm: komeda: Use devm_of_reserved_mem_device_init() Mukesh Ojha
2026-07-03 19:38 ` [PATCH 16/42] drm: malidp: " Mukesh Ojha
2026-07-03 19:38 ` [PATCH 17/42] drm: ingenic: " Mukesh Ojha
2026-07-03 19:38 ` [PATCH 18/42] drm: kmb: " Mukesh Ojha
2026-07-03 19:38 ` [PATCH 19/42] drm: sun4i: " Mukesh Ojha
2026-07-03 19:38 ` [PATCH 20/42] drm: xlnx: zynqmp_dpsub: " Mukesh Ojha
2026-07-07 9:13 ` Pandey, Radhey Shyam
2026-07-03 19:38 ` [PATCH 21/42] media: arm: mali-c55: " Mukesh Ojha
2026-07-03 19:38 ` [PATCH 22/42] media: mediatek: vpu: " Mukesh Ojha
2026-07-03 19:38 ` [PATCH 23/42] mmc: sdhci-of-bst: Use devm_of_reserved_mem_device_init_by_idx() Mukesh Ojha
2026-07-03 19:38 ` [PATCH 24/42] remoteproc: ti_k3: Use devm_of_reserved_mem_device_init() Mukesh Ojha
2026-07-03 19:38 ` [PATCH 25/42] ASoC: mediatek: mt8192: " Mukesh Ojha
2026-07-06 12:16 ` Mark Brown
2026-07-03 19:38 ` [PATCH 26/42] ASoC: mediatek: mt8196: " Mukesh Ojha
2026-07-06 12:16 ` Mark Brown
2026-07-03 19:38 ` [PATCH 27/42] ASoC: mediatek: mt8183: " Mukesh Ojha
2026-07-06 12:17 ` Mark Brown
2026-07-03 19:38 ` [PATCH 28/42] ASoC: mediatek: mt8189: " Mukesh Ojha
2026-07-06 12:18 ` Mark Brown
2026-07-03 19:38 ` [PATCH 29/42] ASoC: SOF: imx: Use devm_of_reserved_mem_device_init_by_name() Mukesh Ojha
2026-07-06 12:19 ` Mark Brown
2026-07-03 19:38 ` [PATCH 30/42] staging: media: cedrus: Use devm_of_reserved_mem_device_init() Mukesh Ojha
2026-07-07 14:05 ` Paul Kocialkowski
2026-07-03 19:38 ` [PATCH 31/42] ASoC: cix-ipbloq: " Mukesh Ojha
2026-07-06 12:20 ` Mark Brown
2026-07-07 1:34 ` Gary Yang
2026-07-03 19:38 ` [PATCH 32/42] drm: aspeed: " Mukesh Ojha
2026-07-05 19:40 ` [PATCH 33/42] drm: arcpgu: " Mukesh Ojha
2026-07-05 19:40 ` [PATCH 34/42] ASoC: mediatek: mt8173: " Mukesh Ojha
2026-07-05 19:40 ` [PATCH 35/42] ASoC: mediatek: mt8186: " Mukesh Ojha
2026-07-05 19:40 ` [PATCH 36/42] ASoC: mediatek: mt8188: " Mukesh Ojha
2026-07-05 19:40 ` [PATCH 37/42] ASoC: mediatek: mt8195: " Mukesh Ojha
2026-07-05 19:40 ` [PATCH 38/42] ASoC: SOF: mediatek: mt8186: " Mukesh Ojha
2026-07-05 19:40 ` [PATCH 39/42] ASoC: SOF: mediatek: mt8195: " Mukesh Ojha
2026-07-05 19:40 ` [PATCH 40/42] misc: fastrpc: " Mukesh Ojha
2026-07-06 4:55 ` Ekansh Gupta
2026-07-05 19:40 ` [PATCH 41/42] ASoC: fsl: imx-rpmsg: Use devm_of_reserved_mem_device_init_by_idx() Mukesh Ojha
2026-07-05 19:40 ` [PATCH 42/42] ASoC: sprd: Use devm_of_reserved_mem_device_init() Mukesh Ojha
2026-07-06 12:14 ` [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Mark Brown
2026-07-06 13:16 ` Mukesh Ojha
2026-07-07 11:39 ` Liviu Dudau
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox