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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


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.


>> Link: [1]

Thank you for the review and best regards,
Javier Carrasco

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux