pmdomain: ti-sci: Use scope based of_node_put() to simplify code.

Use scope based of_node_put() to simplify the code logic, and we don't
need to call of_node_put(). Besides, put of_parse_phandle_with_args() in
the while loop to make code more simple.

Signed-off-by: Zhang Zekun <zhangzekun11@huawei.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Message-ID: <20241024030442.119506-3-zhangzekun11@huawei.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
Zhang Zekun 2024-10-24 11:04:42 +08:00 committed by Ulf Hansson
parent afc2331ef8
commit 88e98cd5d3

View File

@ -131,9 +131,8 @@ static int ti_sci_pm_domain_probe(struct platform_device *pdev)
struct device *dev = &pdev->dev;
struct ti_sci_genpd_provider *pd_provider;
struct ti_sci_pm_domain *pd;
struct device_node *np;
struct device_node *np __free(device_node) = NULL;
struct of_phandle_args args;
int ret;
u32 max_id = 0;
int index;
@ -153,12 +152,9 @@ static int ti_sci_pm_domain_probe(struct platform_device *pdev)
for_each_node_with_property(np, "power-domains") {
index = 0;
while (1) {
ret = of_parse_phandle_with_args(np, "power-domains",
"#power-domain-cells",
index, &args);
if (ret)
break;
while (!of_parse_phandle_with_args(np, "power-domains",
"#power-domain-cells",
index, &args)) {
if (args.args_count >= 1 && args.np == dev->of_node) {
of_node_put(args.np);
@ -172,18 +168,14 @@ static int ti_sci_pm_domain_probe(struct platform_device *pdev)
}
pd = devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL);
if (!pd) {
of_node_put(np);
if (!pd)
return -ENOMEM;
}
pd->pd.name = devm_kasprintf(dev, GFP_KERNEL,
"pd:%d",
args.args[0]);
if (!pd->pd.name) {
of_node_put(np);
if (!pd->pd.name)
return -ENOMEM;
}
pd->pd.power_off = ti_sci_pd_power_off;
pd->pd.power_on = ti_sci_pd_power_on;