lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260106101107.0000398f@huawei.com>
Date: Tue, 6 Jan 2026 10:11:07 +0000
From: Jonathan Cameron <jonathan.cameron@...wei.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@....qualcomm.com>
CC: Miguel Ojeda <ojeda@...nel.org>, Rob Herring <robh@...nel.org>, "Saravana
 Kannan" <saravanak@...gle.com>, Nathan Chancellor <nathan@...nel.org>, "Nick
 Desaulniers" <nick.desaulniers+lkml@...il.com>, Bill Wendling
	<morbo@...gle.com>, Justin Stitt <justinstitt@...gle.com>, Russell King
	<linux@...linux.org.uk>, Nicolas Ferre <nicolas.ferre@...rochip.com>,
	Alexandre Belloni <alexandre.belloni@...tlin.com>, Claudiu Beznea
	<claudiu.beznea@...on.dev>, Krzysztof Kozlowski <krzk@...nel.org>, "Alim
 Akhtar" <alim.akhtar@...sung.com>, Madhavan Srinivasan <maddy@...ux.ibm.com>,
	Michael Ellerman <mpe@...erman.id.au>, "Nicholas Piggin" <npiggin@...il.com>,
	"Christophe Leroy (CS GROUP)" <chleroy@...nel.org>, Nipun Gupta
	<nipun.gupta@....com>, Nikhil Agarwal <nikhil.agarwal@....com>, Abel Vesa
	<abelvesa@...nel.org>, Peng Fan <peng.fan@....com>, Michael Turquette
	<mturquette@...libre.com>, "Stephen Boyd" <sboyd@...nel.org>, Shawn Guo
	<shawnguo@...nel.org>, Sascha Hauer <s.hauer@...gutronix.de>, Pengutronix
 Kernel Team <kernel@...gutronix.de>, Fabio Estevam <festevam@...il.com>,
	Vinod Koul <vkoul@...nel.org>, Sylwester Nawrocki <s.nawrocki@...sung.com>,
	Mauro Carvalho Chehab <mchehab@...nel.org>, "Rafael J. Wysocki"
	<rafael@...nel.org>, Viresh Kumar <viresh.kumar@...aro.org>,
	<linux-kernel@...r.kernel.org>, <devicetree@...r.kernel.org>,
	<llvm@...ts.linux.dev>, <linux-arm-kernel@...ts.infradead.org>,
	<linux-samsung-soc@...r.kernel.org>, <linuxppc-dev@...ts.ozlabs.org>,
	<linux-clk@...r.kernel.org>, <imx@...ts.linux.dev>,
	<dmaengine@...r.kernel.org>, <linux-media@...r.kernel.org>,
	<linux-pm@...r.kernel.org>
Subject: Re: [PATCH 03/11] ARM: exynos: Simplify with scoped for each OF
 child loop

On Mon, 05 Jan 2026 14:33:41 +0100
Krzysztof Kozlowski <krzysztof.kozlowski@....qualcomm.com> wrote:

> Use scoped for-each loop when iterating over device nodes to make code a
> bit simpler.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@....qualcomm.com>
> 
> ---

A suggestion inline, but assuming you don't go with that, this is fine.
Reviewed-by: Jonathan Cameron <jonathan.cameron@...wei.com>

> 
> Depends on the first patch.
> ---
>  arch/arm/mach-exynos/exynos.c | 8 ++------
>  1 file changed, 2 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
> index 2e8099479ffa..18695076c34e 100644
> --- a/arch/arm/mach-exynos/exynos.c
> +++ b/arch/arm/mach-exynos/exynos.c
> @@ -47,9 +47,7 @@ unsigned int exynos_rev(void)
>  
>  void __init exynos_sysram_init(void)
>  {
> -	struct device_node *node;
> -
> -	for_each_compatible_node(node, NULL, "samsung,exynos4210-sysram") {
> +	for_each_compatible_node_scoped(node, NULL, "samsung,exynos4210-sysram") {
>  		struct resource res;
>  		if (!of_device_is_available(node))
>  			continue;
No idea how common this pattern is, but maybe worth
	for_each_compatible_available_node_scoped() ?
Bit of a pain as you'd need a of_find_compatible_available_node() helper.
So I'll let you assess if there are enough instances of this to make it worthwhile.


> @@ -57,15 +55,13 @@ void __init exynos_sysram_init(void)
>  		of_address_to_resource(node, 0, &res);
>  		sysram_base_addr = ioremap(res.start, resource_size(&res));
>  		sysram_base_phys = res.start;
> -		of_node_put(node);
>  		break;
>  	}
>  
> -	for_each_compatible_node(node, NULL, "samsung,exynos4210-sysram-ns") {
> +	for_each_compatible_node_scoped(node, NULL, "samsung,exynos4210-sysram-ns") {
>  		if (!of_device_is_available(node))
>  			continue;
>  		sysram_ns_base_addr = of_iomap(node, 0);
> -		of_node_put(node);
>  		break;
>  	}
>  }
> 


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ