summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2015-08-07 07:09:40 +0200
committerTony Lindgren <tony@atomide.com>2015-08-07 07:09:40 +0200
commit9610c8abd2d278a957b1b586390b8c928980e79b (patch)
tree8730a7dbe6b44b91cababbb210ed2586700cd2d4 /arch/arm/mach-omap2
parentMerge branch 'dm814x-soc' into omap-for-v4.3/soc (diff)
downloadlinux-9610c8abd2d278a957b1b586390b8c928980e79b.tar.xz
linux-9610c8abd2d278a957b1b586390b8c928980e79b.zip
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>
Diffstat (limited to 'arch/arm/mach-omap2')
-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)
if (!cpu_is_omap34xx() && !cpu_is_ti81xx())
return;
- pwrdm_register_platform_funcs(&ti81xx_pwrdm_operations);
+ /* Only 81xx needs custom pwrdm_operations */
+ if (!cpu_is_ti81xx())
+ pwrdm_register_platform_funcs(&omap3_pwrdm_operations);;
rev = omap_rev();
@@ -588,9 +590,11 @@ void __init omap3xxx_powerdomains_init(void)
pwrdm_register_pwrdms(powerdomains_am35x);
} else if (rev == TI8148_REV_ES1_0 || rev == TI8148_REV_ES2_0 ||
rev == TI8148_REV_ES2_1) {
+ pwrdm_register_platform_funcs(&ti81xx_pwrdm_operations);
pwrdm_register_pwrdms(powerdomains_ti814x);
} else if (rev == TI8168_REV_ES1_0 || rev == TI8168_REV_ES1_1
|| rev == TI8168_REV_ES2_0 || rev == TI8168_REV_ES2_1) {
+ pwrdm_register_platform_funcs(&ti81xx_pwrdm_operations);
pwrdm_register_pwrdms(powerdomains_ti816x);
} else {
pwrdm_register_pwrdms(powerdomains_omap3430_common);