[PATCH v2 4/7] thermal: of: Simplify thermal_of_for_each_cooling_maps() with scoped for each OF child loop

Krzysztof Kozlowski krzysztof.kozlowski at linaro.org
Fri Aug 16 05:21:54 PDT 2024


On 16/08/2024 13:30, Rafael J. Wysocki wrote:
> On Fri, Aug 16, 2024 at 9:40 AM Krzysztof Kozlowski
> <krzysztof.kozlowski at linaro.org> wrote:
>>
>> Use scoped for_each_child_of_node_scoped() when iterating over device
>> nodes to make code a bit simpler.
>>
>> Reviewed-by: Chen-Yu Tsai <wenst at chromium.org>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
>> ---
>>  drivers/thermal/thermal_of.c | 8 +++-----
>>  1 file changed, 3 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/thermal/thermal_of.c b/drivers/thermal/thermal_of.c
>> index 94cc077ab3a1..ce398fde48bb 100644
>> --- a/drivers/thermal/thermal_of.c
>> +++ b/drivers/thermal/thermal_of.c
>> @@ -373,7 +373,7 @@ static int thermal_of_for_each_cooling_maps(struct thermal_zone_device *tz,
>>                                             int (*action)(struct device_node *, int, int,
>>                                                           struct thermal_zone_device *, struct thermal_cooling_device *))
>>  {
>> -       struct device_node *tz_np, *cm_np, *child;
>> +       struct device_node *tz_np, *cm_np;
>>         int ret = 0;
>>
>>         tz_np = thermal_of_zone_get_by_name(tz);
>> @@ -386,12 +386,10 @@ static int thermal_of_for_each_cooling_maps(struct thermal_zone_device *tz,
>>         if (!cm_np)
>>                 goto out;
>>
>> -       for_each_child_of_node(cm_np, child) {
>> +       for_each_child_of_node_scoped(cm_np, child) {
>>                 ret = thermal_of_for_each_cooling_device(tz_np, child, tz, cdev, action);
>> -               if (ret) {
>> -                       of_node_put(child);
>> +               if (ret)
>>                         break;
>> -               }
>>         }
>>
>>         of_node_put(cm_np);
>>
>> --
> 
> This clashes with
> 
> https://lore.kernel.org/linux-pm/1758256.QkHrqEjB74@rjwysocki.net/
> 
> which I would prefer to go in first if you don't mind.

My other patchset which fixes bugs here, could go in before:
https://lore.kernel.org/all/20240814195823.437597-1-krzysztof.kozlowski@linaro.org/

so it will be backported. Other than that, I am fine with rebasing my
changes. There is no point in refactoring the code if it is being
removed/reshuffled :)

Best regards,
Krzysztof




More information about the linux-arm-kernel mailing list