Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

regulator: qcom-smd: Simplify with scoped for each OF child loop

Use scoped for_each_available_child_of_node_scoped() when iterating over
device nodes to make code a bit simpler.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20240814-cleanup-h-of-node-put-regulator-v1-6-87151088b883@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Krzysztof Kozlowski and committed by
Mark Brown
d4cd75b8 17636d44

+3 -8
+3 -8
drivers/regulator/qcom_smd-regulator.c
··· 1435 1435 { 1436 1436 struct device *dev = &pdev->dev; 1437 1437 const struct rpm_regulator_data *vreg_data; 1438 - struct device_node *node; 1439 1438 struct qcom_rpm_reg *vreg; 1440 1439 struct qcom_smd_rpm *rpm; 1441 1440 int ret; ··· 1454 1455 if (!vreg_data) 1455 1456 return -ENODEV; 1456 1457 1457 - for_each_available_child_of_node(dev->of_node, node) { 1458 + for_each_available_child_of_node_scoped(dev->of_node, node) { 1458 1459 vreg = devm_kzalloc(&pdev->dev, sizeof(*vreg), GFP_KERNEL); 1459 - if (!vreg) { 1460 - of_node_put(node); 1460 + if (!vreg) 1461 1461 return -ENOMEM; 1462 - } 1463 1462 1464 1463 ret = rpm_regulator_init_vreg(vreg, dev, node, vreg_data); 1465 - if (ret < 0) { 1466 - of_node_put(node); 1464 + if (ret < 0) 1467 1465 return ret; 1468 - } 1469 1466 } 1470 1467 1471 1468 return 0;