On 2024/8/29 23:58, Kousik Sanagavarapu wrote: > Jinjie Ruan <ruanjinjie@xxxxxxxxxx> writes: >> @@ -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? > >> 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