pmdomain: rockchip: reduce indentation in rockchip_pd_power
authorSebastian Reichel <sebastian.reichel@collabora.com>
Thu, 20 Feb 2025 18:58:07 +0000 (19:58 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Fri, 28 Feb 2025 12:06:53 +0000 (13:06 +0100)
Rework the logic, so that the function exits early when the
power domain state is already correct to reduce code indentation.

No functional change intended.

Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Adrian Larumbe <adrian.larumbe@collabora.com> # On Rock 5B
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20250220-rk3588-gpu-pwr-domain-regulator-v6-4-a4f9c24e5b81@kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/pmdomain/rockchip/pm-domains.c

index 5f03da348fe39cdf468e44ca7eafb0209a4875fc..2b620f036838207767fa927081b4500439fc9d95 100644 (file)
@@ -592,39 +592,40 @@ static int rockchip_pd_power(struct rockchip_pm_domain *pd, bool power_on)
 
        guard(mutex)(&pmu->mutex);
 
-       if (rockchip_pmu_domain_is_on(pd) != power_on) {
-               ret = clk_bulk_enable(pd->num_clks, pd->clks);
-               if (ret < 0) {
-                       dev_err(pmu->dev, "failed to enable clocks\n");
-                       return ret;
-               }
+       if (rockchip_pmu_domain_is_on(pd) == power_on)
+               return 0;
 
-               rockchip_pmu_ungate_clk(pd, true);
+       ret = clk_bulk_enable(pd->num_clks, pd->clks);
+       if (ret < 0) {
+               dev_err(pmu->dev, "failed to enable clocks\n");
+               return ret;
+       }
 
-               if (!power_on) {
-                       rockchip_pmu_save_qos(pd);
+       rockchip_pmu_ungate_clk(pd, true);
 
-                       /* if powering down, idle request to NIU first */
-                       rockchip_pmu_set_idle_request(pd, true);
-               }
+       if (!power_on) {
+               rockchip_pmu_save_qos(pd);
 
-               ret = rockchip_do_pmu_set_power_domain(pd, power_on);
-               if (ret < 0) {
-                       clk_bulk_disable(pd->num_clks, pd->clks);
-                       return ret;
-               }
+               /* if powering down, idle request to NIU first */
+               rockchip_pmu_set_idle_request(pd, true);
+       }
 
-               if (power_on) {
-                       /* if powering up, leave idle mode */
-                       rockchip_pmu_set_idle_request(pd, false);
+       ret = rockchip_do_pmu_set_power_domain(pd, power_on);
+       if (ret < 0) {
+               clk_bulk_disable(pd->num_clks, pd->clks);
+               return ret;
+       }
 
-                       rockchip_pmu_restore_qos(pd);
-               }
+       if (power_on) {
+               /* if powering up, leave idle mode */
+               rockchip_pmu_set_idle_request(pd, false);
 
-               rockchip_pmu_ungate_clk(pd, false);
-               clk_bulk_disable(pd->num_clks, pd->clks);
+               rockchip_pmu_restore_qos(pd);
        }
 
+       rockchip_pmu_ungate_clk(pd, false);
+       clk_bulk_disable(pd->num_clks, pd->clks);
+
        return 0;
 }