Commit 015d1880 authored by Jinjie Ruan's avatar Jinjie Ruan Committed by Lee Jones
Browse files

mfd: qcom-spmi-pmic: Use for_each_child_of_node_scoped()



Avoids the need for manual cleanup of_node_put() in early exits
from the loop.

Signed-off-by: default avatarJinjie Ruan <ruanjinjie@huawei.com>
Link: https://lore.kernel.org/r/20240826092734.2899562-3-ruanjinjie@huawei.com


Signed-off-by: default avatarLee Jones <lee@kernel.org>
parent 0db28e96
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -84,7 +84,6 @@ static const struct of_device_id pmic_spmi_id_table[] = {
static struct spmi_device *qcom_pmic_get_base_usid(struct spmi_device *sdev, struct qcom_spmi_dev *ctx)
{
	struct device_node *spmi_bus;
	struct device_node *child;
	int function_parent_usid, ret;
	u32 pmic_addr;

@@ -108,10 +107,9 @@ static struct spmi_device *qcom_pmic_get_base_usid(struct spmi_device *sdev, str
	 */
	spmi_bus = of_get_parent(sdev->dev.of_node);
	sdev = ERR_PTR(-ENODATA);
	for_each_child_of_node(spmi_bus, child) {
	for_each_child_of_node_scoped(spmi_bus, child) {
		ret = of_property_read_u32_index(child, "reg", 0, &pmic_addr);
		if (ret) {
			of_node_put(child);
			sdev = ERR_PTR(ret);
			break;
		}
@@ -125,7 +123,6 @@ static struct spmi_device *qcom_pmic_get_base_usid(struct spmi_device *sdev, str
				 */
				sdev = ERR_PTR(-EPROBE_DEFER);
			}
			of_node_put(child);
			break;
		}
	}