Re: [PATCH] device property: introduce fwnode_for_each_child_node_scoped()

From: Javier Carrasco
Date: Thu May 02 2024 - 13:59:05 EST


On 5/2/24 17:34, Andy Shevchenko wrote:
> On Thu, May 02, 2024 at 12:55:40PM +0200, Javier Carrasco wrote:
>> Add a scoped version of fwnode_for_each_child_node() following
>> the approach recently taken for other loops that handle child nodes like
>> for_each_child_of_node_scoped() or device_for_each_child_node_scoped(),
>> which are based on the __free() auto cleanup handler to remove the need
>> for fwnode_handle_put() on early loop exits.
>
> Why not _available variant? I believe most of the code should use that.
>

That is a good point. I just took a look at users of the _available
variant and at least the LTC2992 (which I can actually test) does not
call fwnode_handle_put() in one error path, so it could already profit
from a scoped version. I will send a new series with the _available
variant and a first use case for the LTC2992.

>> Signed-off-by: Javier Carrasco <javier.carrasco@xxxxxxxxxxxxxx>
>> ---
>> This macro has been tested with a patch series that has not been
>> applied yet and is under discussion in input [1], which makes use of the
>> non-scoped version of the loop.
>
> So, why should we apply a dead code?
>

I will add this patch to the series I mentioned, so there is a first use
case. Even if the _available variant is preferred, the other one is more
widely used, and having a scoped version will allow for safer code.

>> Based on linux-next (next-20240502).
>
> Use --base instead of this. Ah, and you do, so no need to have this comment.
>

Ack.

>> Link: https://lore.kernel.org/linux-input/20240422-feature-ts_virtobj_patch-v9-0-acf118d12a8a@xxxxxxxxxxxxxx/ [1]
>

Thank you for the review and best regards,
Javier Carrasco