mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-28 16:56:26 +00:00
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: Jinjie Ruan <ruanjinjie@huawei.com> Link: https://lore.kernel.org/r/20240826092734.2899562-3-ruanjinjie@huawei.com Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
parent
0db28e963a
commit
015d188002
@ -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;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user