]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pmdomain: core: Convert genpd_power_off() to void
authorUlf Hansson <ulf.hansson@linaro.org>
Thu, 17 Apr 2025 14:24:59 +0000 (16:24 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Fri, 2 May 2025 10:33:06 +0000 (12:33 +0200)
At some point it made sense to have genpd_power_off() to return an error
code. That hasn't been the case for quite some time, so let's convert it
into a static void function and simplify some of the corresponding code.

Reviewed-by: Abel Vesa <abel.vesa@linaro.org>
Tested-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20250417142513.312939-2-ulf.hansson@linaro.org
drivers/pmdomain/core.c

index a16105b34201424c7d8092445ea7df33df672db3..436630bf7d7f63939a50231a57743bda6e6d887b 100644 (file)
@@ -908,13 +908,12 @@ static void genpd_queue_power_off_work(struct generic_pm_domain *genpd)
  * If all of the @genpd's devices have been suspended and all of its subdomains
  * have been powered down, remove power from @genpd.
  */
-static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
-                          unsigned int depth)
+static void genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
+                           unsigned int depth)
 {
        struct pm_domain_data *pdd;
        struct gpd_link *link;
        unsigned int not_suspended = 0;
-       int ret;
 
        /*
         * Do not try to power off the domain in the following situations:
@@ -922,7 +921,7 @@ static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
         * (2) System suspend is in progress.
         */
        if (!genpd_status_on(genpd) || genpd->prepared_count > 0)
-               return 0;
+               return;
 
        /*
         * Abort power off for the PM domain in the following situations:
@@ -932,7 +931,7 @@ static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
        if (genpd_is_always_on(genpd) ||
                        genpd_is_rpm_always_on(genpd) ||
                        atomic_read(&genpd->sd_count) > 0)
-               return -EBUSY;
+               return;
 
        /*
         * The children must be in their deepest (powered-off) states to allow
@@ -943,7 +942,7 @@ static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
        list_for_each_entry(link, &genpd->parent_links, parent_node) {
                struct generic_pm_domain *child = link->child;
                if (child->state_idx < child->state_count - 1)
-                       return -EBUSY;
+                       return;
        }
 
        list_for_each_entry(pdd, &genpd->dev_list, list_node) {
@@ -957,15 +956,15 @@ static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
 
                /* The device may need its PM domain to stay powered on. */
                if (to_gpd_data(pdd)->rpm_always_on)
-                       return -EBUSY;
+                       return;
        }
 
        if (not_suspended > 1 || (not_suspended == 1 && !one_dev_on))
-               return -EBUSY;
+               return;
 
        if (genpd->gov && genpd->gov->power_down_ok) {
                if (!genpd->gov->power_down_ok(&genpd->domain))
-                       return -EAGAIN;
+                       return;
        }
 
        /* Default to shallowest state. */
@@ -974,12 +973,11 @@ static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
 
        /* Don't power off, if a child domain is waiting to power on. */
        if (atomic_read(&genpd->sd_count) > 0)
-               return -EBUSY;
+               return;
 
-       ret = _genpd_power_off(genpd, true);
-       if (ret) {
+       if (_genpd_power_off(genpd, true)) {
                genpd->states[genpd->state_idx].rejected++;
-               return ret;
+               return;
        }
 
        genpd->status = GENPD_STATE_OFF;
@@ -992,8 +990,6 @@ static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
                genpd_power_off(link->parent, false, depth + 1);
                genpd_unlock(link->parent);
        }
-
-       return 0;
 }
 
 /**