PM / Domains: Provide an always on power domain governor
Since systems are likely to have power domains that can't be turned off for various reasons at least temporarily while implementing power domain support provide a default governor which will always refuse to power off the domain, saving platforms having to implement their own. Since the code is so tiny don't bother with a Kconfig symbol for it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
This commit is contained in:
parent
c9914854b4
commit
925b44a273
|
@ -141,3 +141,16 @@ struct dev_power_governor simple_qos_governor = {
|
||||||
.stop_ok = default_stop_ok,
|
.stop_ok = default_stop_ok,
|
||||||
.power_down_ok = default_power_down_ok,
|
.power_down_ok = default_power_down_ok,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static bool always_on_power_down_ok(struct dev_pm_domain *domain)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* pm_genpd_gov_always_on - A governor implementing an always-on policy
|
||||||
|
*/
|
||||||
|
struct dev_power_governor pm_domain_always_on_gov = {
|
||||||
|
.power_down_ok = always_on_power_down_ok,
|
||||||
|
.stop_ok = default_stop_ok,
|
||||||
|
};
|
||||||
|
|
|
@ -140,6 +140,7 @@ extern int pm_genpd_poweron(struct generic_pm_domain *genpd);
|
||||||
|
|
||||||
extern bool default_stop_ok(struct device *dev);
|
extern bool default_stop_ok(struct device *dev);
|
||||||
|
|
||||||
|
extern struct dev_power_governor pm_domain_always_on_gov;
|
||||||
#else
|
#else
|
||||||
|
|
||||||
static inline struct generic_pm_domain *dev_to_genpd(struct device *dev)
|
static inline struct generic_pm_domain *dev_to_genpd(struct device *dev)
|
||||||
|
@ -193,6 +194,7 @@ static inline bool default_stop_ok(struct device *dev)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
#define pm_domain_always_on_gov NULL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static inline int pm_genpd_remove_callbacks(struct device *dev)
|
static inline int pm_genpd_remove_callbacks(struct device *dev)
|
||||||
|
|
Loading…
Reference in a new issue