PM: domains: Skip another warning in irq_safe_dev_in_sleep_domain()
authorUlf Hansson <ulf.hansson@linaro.org>
Wed, 11 May 2022 14:56:55 +0000 (16:56 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 19 May 2022 18:16:05 +0000 (20:16 +0200)
In irq_safe_dev_in_sleep_domain() we correctly skip the dev_warn_once() if
the corresponding genpd for the device, has the GENPD_FLAG_ALWAYS_ON flag
being set. For the same reason (the genpd is always-on in runtime), let's
also skip the warning if the GENPD_FLAG_RPM_ALWAYS_ON flag is set for the
genpd.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/power/domain.c

index 269bfa3..a3e727c 100644 (file)
@@ -143,7 +143,10 @@ static inline bool irq_safe_dev_in_sleep_domain(struct device *dev,
         * callbacks are allowed to sleep. This indicates a suboptimal
         * configuration for PM, but it doesn't matter for an always on domain.
         */
-       if (ret && !genpd_is_always_on(genpd))
+       if (genpd_is_always_on(genpd) || genpd_is_rpm_always_on(genpd))
+               return ret;
+
+       if (ret)
                dev_warn_once(dev, "PM domain %s will not be powered off\n",
                                genpd->name);