aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2015-08-07 01:09:40 -0400
committerTony Lindgren <tony@atomide.com>2015-08-07 01:09:40 -0400
commit9610c8abd2d278a957b1b586390b8c928980e79b (patch)
tree8730a7dbe6b44b91cababbb210ed2586700cd2d4
parent24da741c678f865de3182194604dbddcc7fc7f3c (diff)
ARM: OMAP2+: Fix power domain operations regression caused by 81xx
I managed to mess up omap3 power domain operations with commit 7c80a3f89c51 ("ARM: OMAP2+: Add custom prwdm_operations for 81xx to support dm814x"), by default we should keep on using the omap3_pwrdm_operations, only 81xx needs custom handling. This causes omap3 PM to break so we won't hit off mode any longer causing idle power consumption go up from less than 10mW to over 50 mW. Fixs: 7c80a3f89c51 ("ARM: OMAP2+: Add custom prwdm_operations for 81xx to support dm814x") Signed-off-by: Tony Lindgren <tony@atomide.com>
-rw-r--r--arch/arm/mach-omap2/powerdomains3xxx_data.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/powerdomains3xxx_data.c b/arch/arm/mach-omap2/powerdomains3xxx_data.c
index 7829d274e037..d31c495175c1 100644
--- a/arch/arm/mach-omap2/powerdomains3xxx_data.c
+++ b/arch/arm/mach-omap2/powerdomains3xxx_data.c
@@ -580,7 +580,9 @@ void __init omap3xxx_powerdomains_init(void)
580 if (!cpu_is_omap34xx() && !cpu_is_ti81xx()) 580 if (!cpu_is_omap34xx() && !cpu_is_ti81xx())
581 return; 581 return;
582 582
583 pwrdm_register_platform_funcs(&ti81xx_pwrdm_operations); 583 /* Only 81xx needs custom pwrdm_operations */
584 if (!cpu_is_ti81xx())
585 pwrdm_register_platform_funcs(&omap3_pwrdm_operations);;
584 586
585 rev = omap_rev(); 587 rev = omap_rev();
586 588
@@ -588,9 +590,11 @@ void __init omap3xxx_powerdomains_init(void)
588 pwrdm_register_pwrdms(powerdomains_am35x); 590 pwrdm_register_pwrdms(powerdomains_am35x);
589 } else if (rev == TI8148_REV_ES1_0 || rev == TI8148_REV_ES2_0 || 591 } else if (rev == TI8148_REV_ES1_0 || rev == TI8148_REV_ES2_0 ||
590 rev == TI8148_REV_ES2_1) { 592 rev == TI8148_REV_ES2_1) {
593 pwrdm_register_platform_funcs(&ti81xx_pwrdm_operations);
591 pwrdm_register_pwrdms(powerdomains_ti814x); 594 pwrdm_register_pwrdms(powerdomains_ti814x);
592 } else if (rev == TI8168_REV_ES1_0 || rev == TI8168_REV_ES1_1 595 } else if (rev == TI8168_REV_ES1_0 || rev == TI8168_REV_ES1_1
593 || rev == TI8168_REV_ES2_0 || rev == TI8168_REV_ES2_1) { 596 || rev == TI8168_REV_ES2_0 || rev == TI8168_REV_ES2_1) {
597 pwrdm_register_platform_funcs(&ti81xx_pwrdm_operations);
594 pwrdm_register_pwrdms(powerdomains_ti816x); 598 pwrdm_register_pwrdms(powerdomains_ti816x);
595 } else { 599 } else {
596 pwrdm_register_pwrdms(powerdomains_omap3430_common); 600 pwrdm_register_pwrdms(powerdomains_omap3430_common);