From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9AE024315F for ; Tue, 7 Jul 2026 11:41:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783424508; cv=none; b=A/RG/AM8pzNsDcIIeDw6m7LE8CDoNvDgzcNcHnPhPF5g2h0BKsfVVBPtnMaI77gfeW/1IyT6FptK/1XDXD+RxTmlNZ9EP+aKzGNPi0ubqzY68222pa8sX8SJOpqPUkQ/REHzTIbvhjyNuwdi0lb90SmJkorW31mGNb/KrXOOf7o= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783424508; c=relaxed/simple; bh=AXimq/rtIFwP4aD04kh/5vfPSxje93mi8aUhDJB2eB0=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=SAXK6sFvqW5XXJkc3t5uNTa5JjdQv6VX2RVNdBhZPHn/exW9B8RAtTFW5fOEAT7J2jzv4ouDDv55YMDVckYp4fPD3WaYqmzjWCLm6CKWYuOOjh9al08j0+rY4a7i4YZLR186ejiiXRCOz16O3gzNVwCMZaCv8sNSy/qktUv5l+4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=UlIvLqIC; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="UlIvLqIC" Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id DC35F271B for ; Tue, 7 Jul 2026 04:41:41 -0700 (PDT) Received: from [192.168.0.1] (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 098FE3F85F for ; Tue, 7 Jul 2026 04:41:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1783424506; bh=AXimq/rtIFwP4aD04kh/5vfPSxje93mi8aUhDJB2eB0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=UlIvLqICNZ2I+ShDqSstOWnh0ONpfzsyWoGJzV23n79bRlAqYDzf5yrxuejZ2Tqf9 8x5ZMGWrSC1+odK2/qQ6+WECFfKKd0UUa64gTRdcgVry72eCKRa4N01vvIiIWQHvtF QgeRCvcbz+X8Y9NKMjHyXlSdwtjCZk0U5MsG3TtQ= Date: Tue, 7 Jul 2026 12:39:54 +0100 From: Liviu Dudau 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@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-aspeed@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-sunxi@lists.linux.dev, linux-media@vger.kernel.org, openbmc@lists.ozlabs.org, linux-mediatek@lists.infradead.org, kernel@collabora.com, linux-tegra@vger.kernel.org, linux-mmc@vger.kernel.org, devicetree@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-staging@lists.linux.dev, linux-sound@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, imx@lists.linux.dev, sound-open-firmware@alsa-project.org Subject: Re: [PATCH 00/42] of: reserved_mem: Introduce devres helpers and convert drivers Message-ID: References: <20260703193855.110619-1-mukesh.ojha@oss.qualcomm.com> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20260703193855.110619-1-mukesh.ojha@oss.qualcomm.com> 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 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! / --------------- ¯\_(ツ)_/¯