summaryrefslogtreecommitdiff
path: root/drivers/pmdomain/ti
diff options
context:
space:
mode:
authorZhang Zekun <zhangzekun11@huawei.com>2024-10-24 11:04:42 +0800
committerUlf Hansson <ulf.hansson@linaro.org>2024-10-31 11:30:57 +0100
commit88e98cd5d3b98df245e439345b139745e1174f57 (patch)
tree755a9f45126c4c2b742bb23303910fabdab8ee77 /drivers/pmdomain/ti
parentafc2331ef81657493c074592c409dac7c3cb8ccc (diff)
downloadlinux-88e98cd5d3b98df245e439345b139745e1174f57.tar.gz
linux-88e98cd5d3b98df245e439345b139745e1174f57.tar.bz2
linux-88e98cd5d3b98df245e439345b139745e1174f57.zip
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>
Diffstat (limited to 'drivers/pmdomain/ti')
-rw-r--r--drivers/pmdomain/ti/ti_sci_pm_domains.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/drivers/pmdomain/ti/ti_sci_pm_domains.c b/drivers/pmdomain/ti/ti_sci_pm_domains.c
index f145f0225524..0e4bd749d067 100644
--- a/drivers/pmdomain/ti/ti_sci_pm_domains.c
+++ b/drivers/pmdomain/ti/ti_sci_pm_domains.c
@@ -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;