aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/pm44xx.c
diff options
context:
space:
mode:
authorVolodymyr Riazantsev <v.riazantsev@ti.com>2011-12-12 02:20:06 +0200
committerZiyann <jaraidaniel@gmail.com>2014-10-01 12:55:09 +0200
commit99350c85fc6e20b44002984eb01c8d115a22bfa3 (patch)
tree824b7c09c6b028a550b4230b83e0950b42add1cf /arch/arm/mach-omap2/pm44xx.c
parent428a60eb9e68492f165c53aa458705e6e477532f (diff)
downloadkernel_samsung_tuna-99350c85fc6e20b44002984eb01c8d115a22bfa3.zip
kernel_samsung_tuna-99350c85fc6e20b44002984eb01c8d115a22bfa3.tar.gz
kernel_samsung_tuna-99350c85fc6e20b44002984eb01c8d115a22bfa3.tar.bz2
OMAP4: PM: Correct powerstates initialization sequence
During initialization of new powerstate item it should be added into list before it's configuration. Initialization of powerstates skiped for CORE, MPU, CPU0, CPU1 powerdomains. Current implementation caused incorrect initialization of powerstate at least for GFX PWRDM because it masked by CORE PWRDM. We should add powerstate node to list before it will been initialized. Change-Id: I2f9274a9ec951eb9f6b54e104a0e14921b61264e Signed-off-by: Volodymyr Riazantsev <v.riazantsev@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/pm44xx.c')
-rwxr-xr-xarch/arm/mach-omap2/pm44xx.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c
index f3a8e93..4bb5cd7 100755
--- a/arch/arm/mach-omap2/pm44xx.c
+++ b/arch/arm/mach-omap2/pm44xx.c
@@ -861,6 +861,9 @@ static int __init pwrdms_setup(struct powerdomain *pwrdm, void *unused)
return -ENOMEM;
pwrst->pwrdm = pwrdm;
+
+ list_add(&pwrst->node, &pwrst_list);
+
if ((!strcmp(pwrdm->name, "mpu_pwrdm")) ||
(!strcmp(pwrdm->name, "core_pwrdm")) ||
(!strcmp(pwrdm->name, "cpu0_pwrdm")) ||
@@ -869,8 +872,6 @@ static int __init pwrdms_setup(struct powerdomain *pwrdm, void *unused)
else
omap4_configure_pwrst(off_mode_enabled);
- list_add(&pwrst->node, &pwrst_list);
-
return omap_set_pwrdm_state(pwrst->pwrdm, pwrst->next_state);
}