From: Krzysztof Kozlowski Date: Fri, 2 Jan 2026 12:47:33 +0000 (+0100) Subject: soc: ti: knav: Simplify with scoped for each OF child loop X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6b222f28999c481a6531c7b5fbbf95f877875d23;p=thirdparty%2Fkernel%2Flinux.git soc: ti: knav: Simplify with scoped for each OF child loop Use scoped for-each loop when iterating over device nodes to make code a bit simpler. Signed-off-by: Krzysztof Kozlowski Link: https://patch.msgid.link/20260102124729.63964-9-krzysztof.kozlowski@oss.qualcomm.com Signed-off-by: Nishanth Menon --- diff --git a/drivers/soc/ti/knav_qmss_queue.c b/drivers/soc/ti/knav_qmss_queue.c index ff097a1531a92..86d7a9c9ae011 100644 --- a/drivers/soc/ti/knav_qmss_queue.c +++ b/drivers/soc/ti/knav_qmss_queue.c @@ -1079,7 +1079,6 @@ static int knav_queue_setup_regions(struct knav_device *kdev, struct device_node *regions __free(device_node) = of_get_child_by_name(node, "descriptor-regions"); struct knav_region *region; - struct device_node *child; u32 temp[2]; int ret; @@ -1087,12 +1086,10 @@ static int knav_queue_setup_regions(struct knav_device *kdev, return dev_err_probe(dev, -ENODEV, "descriptor-regions not specified\n"); - for_each_child_of_node(regions, child) { + for_each_child_of_node_scoped(regions, child) { region = devm_kzalloc(dev, sizeof(*region), GFP_KERNEL); - if (!region) { - of_node_put(child); + if (!region) return -ENOMEM; - } region->name = knav_queue_find_name(child); of_property_read_u32(child, "id", ®ion->id); @@ -1396,7 +1393,6 @@ static int knav_queue_init_qmgrs(struct knav_device *kdev, struct device_node *qmgrs __free(device_node) = of_get_child_by_name(node, "qmgrs"); struct knav_qmgr_info *qmgr; - struct device_node *child; u32 temp[2]; int ret; @@ -1404,12 +1400,10 @@ static int knav_queue_init_qmgrs(struct knav_device *kdev, return dev_err_probe(dev, -ENODEV, "queue manager info not specified\n"); - for_each_child_of_node(qmgrs, child) { + for_each_child_of_node_scoped(qmgrs, child) { qmgr = devm_kzalloc(dev, sizeof(*qmgr), GFP_KERNEL); - if (!qmgr) { - of_node_put(child); + if (!qmgr) return -ENOMEM; - } ret = of_property_read_u32_array(child, "managed-queues", temp, 2); @@ -1501,14 +1495,12 @@ static int knav_queue_init_pdsps(struct knav_device *kdev, { struct device *dev = kdev->dev; struct knav_pdsp_info *pdsp; - struct device_node *child; - for_each_child_of_node(pdsps, child) { + for_each_child_of_node_scoped(pdsps, child) { pdsp = devm_kzalloc(dev, sizeof(*pdsp), GFP_KERNEL); - if (!pdsp) { - of_node_put(child); + if (!pdsp) return -ENOMEM; - } + pdsp->name = knav_queue_find_name(child); pdsp->iram = knav_queue_map_reg(kdev, child,