[PATCH -next 8/8] soc: ti: knav_qmss_queue: Simplify with scoped for each OF child loop
Kousik Sanagavarapu
five231003 at gmail.com
Fri Aug 30 01:58:28 AEST 2024
Jinjie Ruan <ruanjinjie at huawei.com> 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.
> 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
More information about the Linuxppc-dev
mailing list