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: <20260105104131.00005693@huawei.com>
Date: Mon, 5 Jan 2026 10:41:31 +0000
From: Jonathan Cameron <jonathan.cameron@...wei.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@....qualcomm.com>
CC: Sylwester Nawrocki <s.nawrocki@...sung.com>, Mauro Carvalho Chehab
	<mchehab@...nel.org>, Krzysztof Kozlowski <krzk@...nel.org>, Alim Akhtar
	<alim.akhtar@...sung.com>, <linux-media@...r.kernel.org>,
	<linux-arm-kernel@...ts.infradead.org>, <linux-samsung-soc@...r.kernel.org>,
	<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] media: samsung: exynos4-is: Simplify with scoped for
 each OF child loop

On Fri,  2 Jan 2026 13:49:56 +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>
Change is fine but I wonder it it is worth going further.  See inline.
> ---
>  drivers/media/platform/samsung/exynos4-is/fimc-is.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/media/platform/samsung/exynos4-is/fimc-is.c b/drivers/media/platform/samsung/exynos4-is/fimc-is.c
> index 0827fdaf455a..14d84cc96831 100644
> --- a/drivers/media/platform/samsung/exynos4-is/fimc-is.c
> +++ b/drivers/media/platform/samsung/exynos4-is/fimc-is.c
> @@ -200,7 +200,7 @@ static int fimc_is_parse_sensor_config(struct fimc_is *is, unsigned int index,
>  
>  static int fimc_is_register_subdevs(struct fimc_is *is)
>  {
> -	struct device_node *i2c_bus, *child;
> +	struct device_node *i2c_bus;
>  	int ret, index = 0;
>  
>  	ret = fimc_isp_subdev_create(&is->isp);
> @@ -208,11 +208,10 @@ static int fimc_is_register_subdevs(struct fimc_is *is)
>  		return ret;
>  
>  	for_each_compatible_node(i2c_bus, NULL, "samsung,exynos4212-i2c-isp") {
I haven't checked how frequently this would help, but at least in this case
I'd consider adding a
	for_each_compatible_node_scoped() following same approach as
other scoped loops.


> -		for_each_available_child_of_node(i2c_bus, child) {
> +		for_each_available_child_of_node_scoped(i2c_bus, child) {
>  			ret = fimc_is_parse_sensor_config(is, index, child);
>  
>  			if (ret < 0 || index >= FIMC_IS_SENSORS_NUM) {
> -				of_node_put(child);
>  				of_node_put(i2c_bus);
>  				return ret;
>  			}


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ