PM: domains: log failures to register always-on domains
authorJohan Hovold <johan+linaro@kernel.org>
Thu, 29 Sep 2022 15:42:14 +0000 (17:42 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 4 Oct 2022 14:26:11 +0000 (16:26 +0200)
Always-on PM domains must be on during initialisation or the domain is
currently silently rejected.

Print an error message in case an always-on domain is not on to make it
easier to debug drivers getting this wrong (e.g. by setting an always-on
genpd flag without making sure that the state matches).

Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/power/domain.c

index 55a10e6..ead135c 100644 (file)
@@ -2085,8 +2085,10 @@ int pm_genpd_init(struct generic_pm_domain *genpd,
 
        /* Always-on domains must be powered on at initialization. */
        if ((genpd_is_always_on(genpd) || genpd_is_rpm_always_on(genpd)) &&
-                       !genpd_status_on(genpd))
+                       !genpd_status_on(genpd)) {
+               pr_err("always-on PM domain %s is not on\n", genpd->name);
                return -EINVAL;
+       }
 
        /* Multiple states but no governor doesn't make sense. */
        if (!gov && genpd->state_count > 1)