Re: [PATCH -next 8/8] soc: ti: knav_qmss_queue: Simplify with scoped for each OF child loop
From: Jinjie Ruan <hidden>
Date: 2024-08-30 03:24:18
Also in:
linux-arm-kernel, linux-tegra, lkml
From: Jinjie Ruan <hidden>
Date: 2024-08-30 03:24:18
Also in:
linux-arm-kernel, linux-tegra, lkml
On 2024/8/29 23:58, Kousik Sanagavarapu wrote:
Jinjie Ruan [off-list ref] writes:quoted
@@ -1080,17 +1080,13 @@ static int knav_queue_setup_regions(struct knav_device *kdev, { struct device *dev = kdev->dev; struct knav_region *region; - struct device_node *child; u32 temp[2]; int ret; - for_each_child_of_node(regions, child) { + for_each_child_of_node_scoped(regions, child) {Are you sure using *_scoped() is better here? Since it seems that we need the memory pointed to by "child" in cases where we don't go into an error path.
Hi, Jonathan, could you help review this code?
quoted
region = devm_kzalloc(dev, sizeof(*region), GFP_KERNEL); - if (!region) { - of_node_put(child); - dev_err(dev, "out of memory allocating region\n"); - return -ENOMEM; - } + if (!region) + return dev_err_probe(dev, -ENOMEM, "out of memory allocating region\n"); region->name = knav_queue_find_name(child); of_property_read_u32(child, "id", ®ion->id);Similarly in most of the other cases in this series where a similar change is done. Also FYI, as for dev_err_probe(), I think I covered all of them in this file and a patch for it is currently sitting in ti-drivers-soc-next. Thanks