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)
|
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 *spmi_bus;
|
||||||
struct device_node *child;
|
|
||||||
int function_parent_usid, ret;
|
int function_parent_usid, ret;
|
||||||
u32 pmic_addr;
|
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);
|
spmi_bus = of_get_parent(sdev->dev.of_node);
|
||||||
sdev = ERR_PTR(-ENODATA);
|
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);
|
ret = of_property_read_u32_index(child, "reg", 0, &pmic_addr);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
of_node_put(child);
|
|
||||||
sdev = ERR_PTR(ret);
|
sdev = ERR_PTR(ret);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -125,7 +123,6 @@ static struct spmi_device *qcom_pmic_get_base_usid(struct spmi_device *sdev, str
|
|||||||
*/
|
*/
|
||||||
sdev = ERR_PTR(-EPROBE_DEFER);
|
sdev = ERR_PTR(-EPROBE_DEFER);
|
||||||
}
|
}
|
||||||
of_node_put(child);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user