diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2011-12-23 01:23:39 +0100 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2011-12-25 23:39:27 +0100 |
commit | 767c0f3aed74be56f268709f5347e6c86d52b408 (patch) | |
tree | 95064f1a46ddf9497178db52c7e2292a7d52a3df /arch/arm/mach-shmobile/include/mach/sh7372.h | |
parent | 0f966d74cf77a9140a025464a287e1d2fee8a1fc (diff) | |
download | op-kernel-dev-767c0f3aed74be56f268709f5347e6c86d52b408.zip op-kernel-dev-767c0f3aed74be56f268709f5347e6c86d52b408.tar.gz |
PM / shmobile: Remove the stay_on flag from SH7372's PM domains
SH7372 uses two independent mechanisms for ensuring that power
domains will never be turned off: the stay_on flag and the "always
on" domain governor. Moreover, the "always on" governor is only taken
into accout by runtime PM code paths, while the stay_on flag affects
all attempts to turn the given domain off. Thus setting the stay_on
flag causes the "always on" governor to be unnecessary, which is
quite confusing.
However, the stay_on flag is currently only set for two domains: A3SP
and A4S. Moreover, it only is set for the A3SP domain if
console_suspend_enabled is set, so stay_on won't be necessary for
that domain any more if console_suspend_enabled is checked directly
in its .suspend() routine. [This requires domain .suspend() to
return a result, but that is a minor modification.] Analogously,
stay_on won't be necessary for the A4S domain if it's .suspend()
routine always returns an error code.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Magnus Damm <damm@opensource.se>
Diffstat (limited to 'arch/arm/mach-shmobile/include/mach/sh7372.h')
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/sh7372.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/arm/mach-shmobile/include/mach/sh7372.h b/arch/arm/mach-shmobile/include/mach/sh7372.h index d0731d9..8254ab8 100644 --- a/arch/arm/mach-shmobile/include/mach/sh7372.h +++ b/arch/arm/mach-shmobile/include/mach/sh7372.h @@ -480,11 +480,10 @@ struct platform_device; struct sh7372_pm_domain { struct generic_pm_domain genpd; struct dev_power_governor *gov; - void (*suspend)(void); + int (*suspend)(void); void (*resume)(void); unsigned int bit_shift; bool no_debug; - bool stay_on; }; static inline struct sh7372_pm_domain *to_sh7372_pd(struct generic_pm_domain *d) |