From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from leonov.paulk.fr (leonov.paulk.fr [185.233.101.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A00313246F4; Tue, 7 Jul 2026 14:11:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.233.101.22 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783433496; cv=none; b=ih5239ehR05M8z4W6B5TNJOJ/jQEO7t3qlG9A2EPcb73WqFBu0GbfK4I4qwnAOHLJKxT1nVwzf1kA8cXisvmlwgzDmDG2vHuYnprYqptJMTvZQJREkxn32FjAxxcZAfwYVyackXYhmRl/ZvHB2dJHDGcfmskZWH924u7ryeql+w= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783433496; c=relaxed/simple; bh=Qw+DDNMPifPgLVRQbdGaymOOKrgVAVwhIDLS55Of8sY=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=i3MDRebvhUJTD2o0YhQ7/5e3cneM7nNTZQogBZQfWNITl0Q1g4gaR/18i9PXlbunJh1Qae9DC7OidZAPGFpXOFXsVjwDSBb7+m1iJhtKZGcGimF45AhlMIXItinetA739YEsNu4V/pJpIg2IcRwavgpcbbLqH8lZ3hSLHbASoLc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sys-base.io; spf=pass smtp.mailfrom=sys-base.io; arc=none smtp.client-ip=185.233.101.22 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sys-base.io Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sys-base.io Received: from laika.paulk.fr (12.234.24.109.rev.sfr.net [109.24.234.12]) by leonov.paulk.fr (Postfix) with ESMTPS id 875773700331; Tue, 7 Jul 2026 14:11:09 +0000 (UTC) Received: by laika.paulk.fr (Postfix, from userid 65534) id 9BD9DAE5ECC; Tue, 7 Jul 2026 14:11:05 +0000 (UTC) X-Spam-Level: Received: from shepard (unknown [192.168.1.1]) by laika.paulk.fr (Postfix) with ESMTPSA id 6816EAE5EBF; Tue, 7 Jul 2026 14:10:55 +0000 (UTC) Date: Tue, 7 Jul 2026 16:10:52 +0200 From: Paul Kocialkowski 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@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 08/42] drm: logicvc: Use devm_of_reserved_mem_device_init() Message-ID: References: <20260703193855.110619-1-mukesh.ojha@oss.qualcomm.com> <20260703193855.110619-9-mukesh.ojha@oss.qualcomm.com> Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="ThTwSIZV2a2cCNSQ" Content-Disposition: inline In-Reply-To: <20260703193855.110619-9-mukesh.ojha@oss.qualcomm.com> --ThTwSIZV2a2cCNSQ Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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. >=20 > Signed-off-by: Mukesh Ojha Looks good to me, thanks! Reviewed-by: Paul Kocialkowski Acked-by: Paul Kocialkowski All the best, Paul > --- > drivers/gpu/drm/logicvc/logicvc_drm.c | 21 ++++++++------------- > 1 file changed, 8 insertions(+), 13 deletions(-) >=20 > diff --git a/drivers/gpu/drm/logicvc/logicvc_drm.c b/drivers/gpu/drm/logi= cvc/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; > =20 > - ret =3D of_reserved_mem_device_init(dev); > + ret =3D devm_of_reserved_mem_device_init(dev); > if (ret && ret !=3D -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 =3D 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; > } > =20 > base =3D devm_ioremap_resource(dev, &res); > if (IS_ERR(base)) { > dev_err(dev, "Failed to map I/O base\n"); > ret =3D PTR_ERR(base); > - goto error_reserved_mem; > + goto error_early; > } > =20 > logicvc_drm_regmap_config.max_register =3D 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 =3D PTR_ERR(regmap); > - goto error_reserved_mem; > + goto error_early; > } > } > =20 > irq =3D platform_get_irq(pdev, 0); > if (irq < 0) { > ret =3D -ENODEV; > - goto error_reserved_mem; > + goto error_early; > } > =20 > logicvc =3D devm_drm_dev_alloc(dev, &logicvc_drm_driver, > struct logicvc_drm, drm_dev); > if (IS_ERR(logicvc)) { > ret =3D PTR_ERR(logicvc); > - goto error_reserved_mem; > + goto error_early; > } > =20 > platform_set_drvdata(pdev, logicvc); > @@ -371,7 +371,7 @@ static int logicvc_drm_probe(struct platform_device *= pdev) > caps =3D logicvc_drm_caps_match(logicvc); > if (!caps) { > ret =3D -EINVAL; > - goto error_reserved_mem; > + goto error_early; > } > =20 > logicvc->caps =3D caps; > @@ -382,7 +382,7 @@ static int logicvc_drm_probe(struct platform_device *= pdev) > ret =3D logicvc_clocks_prepare(logicvc); > if (ret) { > drm_err(drm_dev, "Failed to prepare clocks\n"); > - goto error_reserved_mem; > + goto error_early; > } > =20 > ret =3D 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); > =20 > -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); > =20 > logicvc_clocks_unprepare(logicvc); > - > - of_reserved_mem_device_release(dev); > } > =20 > static void logicvc_drm_shutdown(struct platform_device *pdev) > --=20 > 2.53.0 >=20 --=20 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. --ThTwSIZV2a2cCNSQ Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEAbcMXZQMtj1fphLChP3B6o/ulQwFAmpNCOwACgkQhP3B6o/u lQyaPQ//f4pAYoEPe2VkBx5ziaC0VkGALJ8pMaCBZzEG6pnd2z1UBPK8Y2xJLlQP 5bkyAxCQjpN0fwzwtB+kdA0jp2iokJqDThaLYoql9R0Qvj2DyOy7x+SwRqbRzdyJ npZtxXLCuF9oXL4YlUHBVPkgL9WsGf2cMpqkXAI/iPd0K+9zBfxT48xlRnuslCQF gwlVwkghlca2EFVG0f4q4HVkGRcFkAM9pYpKZD4B4iS89SwzHmJo44SZWV0CsWfe ysY5SERP+XL8EbiVlQxCWyqo9Yb//Ikc/EuIWFPMzPW7hp4ZTzjzYaRtVdWEM3Or GQ8uFNoXZfWHzfBpHk1Ewfdr7JBtXM0vPIh650GS2SCdGaCS0Ud2UUv7QZdSluel uGrsM82ZQ6ts4V8ct1O/dWG7TwYnc8BaFADG90JdKck+zb3fRnQ07aTNrF/bRDU1 gcnN0yfM/zPIZAc7GA+4Stzok5c+bj2Sb849b5S5g6LNETsScU+WPK5pvEjjWq9E zsLawR41dclgUWujmQqflY1sbvVA3YsAADIxWAAsT1WDULfQ/c70/2rMIvNATzBN VxbCWSZtk77xMlu6aje7HIbEQa9PGm52xeqNOqfwv/t5kGZxU1fqyAULXAfSYQ2R jkjMhoWPkeb15z5Be0yQY0auFkEuIORZboIqn49NxQW0LVu7byA= =tX4X -----END PGP SIGNATURE----- --ThTwSIZV2a2cCNSQ--