summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/pm44xx.c
diff options
context:
space:
mode:
authorNishanth Menon <nm@ti.com>2014-06-06 01:17:37 -0500
committerNishanth Menon <nm@ti.com>2014-09-08 11:22:42 -0500
commitbd7593c69af8f610567fd6b105c440cfe9da7661 (patch)
tree802081b8e6ffafd036845cb404fd553c7447972c /arch/arm/mach-omap2/pm44xx.c
parent46ba55265254e8f47f8c2af6408841f31bab4870 (diff)
downloadop-kernel-dev-bd7593c69af8f610567fd6b105c440cfe9da7661.zip
op-kernel-dev-bd7593c69af8f610567fd6b105c440cfe9da7661.tar.gz
ARM: OMAP4+: PM: use only valid low power state for suspend
We are using power domain state as RET and logic state as OFF. This state is OSWR. This may not always be supported on ALL power domains. In fact, on certain power domains, this might result in a hang on certain platforms. Instead, depend on powerdomain data to provide accurate information about the supported powerdomain states and use the appropriate function to query and use it as part of suspend path. Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/pm44xx.c')
-rw-r--r--arch/arm/mach-omap2/pm44xx.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c
index b377b03..0bfce38 100644
--- a/arch/arm/mach-omap2/pm44xx.c
+++ b/arch/arm/mach-omap2/pm44xx.c
@@ -121,8 +121,10 @@ static int __init pwrdms_setup(struct powerdomain *pwrdm, void *unused)
return -ENOMEM;
pwrst->pwrdm = pwrdm;
- pwrst->next_state = PWRDM_POWER_RET;
- pwrst->next_logic_state = PWRDM_POWER_OFF;
+ pwrst->next_state = pwrdm_get_valid_lp_state(pwrdm, false,
+ PWRDM_POWER_RET);
+ pwrst->next_logic_state = pwrdm_get_valid_lp_state(pwrdm, true,
+ PWRDM_POWER_OFF);
list_add(&pwrst->node, &pwrst_list);
OpenPOWER on IntegriCloud