[PATCH 0/4] PM / Domains: Add support for always on PM domains in genpd

Ulf Hansson
2017-03-20T10:20:23Z

The current method to implement an always on PM domain by users of genpd,
consists of returning -EBUSY from their ->power_off() callback. This approach is
suboptimal as genpd is required to follow the regular execution path of its
power off sequence, which ends by invoking the ->power_off() callback.

To enable genpd to early abort the power off sequence for always on PM domains,
it needs static information about these configurations. Therefore this series
invents add new genpd configuration flag, GENPD_FLAG_ALWAYS_ON, which allow
users to explicity tell genpd about these kind of PM domains.

Some additonal changes, which are related this context, are also folded in as a
part of the series.

Ulf Hansson (4):
PM / Domains: Clean up code validating genpd's status
PM / Domains: Enable users of genpd to specify always on PM domains
PM / Domains: Respect errors from genpd's ->power_off() callback
PM / Domains: Don't warn about IRQ safe device for an always on PM
domain

drivers/base/power/domain.c | 42 ++++++++++++++++++++++++++++--------------
include/linux/pm_domain.h | 1 +
2 files changed, 29 insertions(+), 14 deletions(-)

--
2.7.4