Merge branches 'sg_aess_reset_devel_3.9' and 'omap4_pm_fixes_a_3.9' into omap4_prcm_devel_a_3.9

This commit is contained in:
Paul Walmsley 2013-02-10 11:27:02 -07:00
commit a5a8c31d9f
2 changed files with 29 additions and 12 deletions

View file

@ -345,8 +345,7 @@ int __init omap2_common_pm_late_init(void)
* a completely different mechanism. * a completely different mechanism.
* Disable this part if a DT blob is available. * Disable this part if a DT blob is available.
*/ */
if (of_have_populated_dt()) if (!of_have_populated_dt()) {
return 0;
/* Init the voltage layer */ /* Init the voltage layer */
omap_pmic_late_init(); omap_pmic_late_init();
@ -358,6 +357,7 @@ int __init omap2_common_pm_late_init(void)
/* Smartreflex device init */ /* Smartreflex device init */
omap_devinit_smartreflex(); omap_devinit_smartreflex();
}
#ifdef CONFIG_SUSPEND #ifdef CONFIG_SUSPEND
suspend_set_ops(&omap_pm_ops); suspend_set_ops(&omap_pm_ops);

View file

@ -77,10 +77,20 @@ static int omap4_pm_suspend(void)
omap_set_pwrdm_state(pwrst->pwrdm, pwrst->saved_state); omap_set_pwrdm_state(pwrst->pwrdm, pwrst->saved_state);
pwrdm_set_logic_retst(pwrst->pwrdm, pwrst->saved_logic_state); pwrdm_set_logic_retst(pwrst->pwrdm, pwrst->saved_logic_state);
} }
if (ret) if (ret) {
pr_crit("Could not enter target state in pm_suspend\n"); pr_crit("Could not enter target state in pm_suspend\n");
else /*
* OMAP4 chip PM currently works only with certain (newer)
* versions of bootloaders. This is due to missing code in the
* kernel to properly reset and initialize some devices.
* Warn the user about the bootloader version being one of the
* possible causes.
* http://www.spinics.net/lists/arm-kernel/msg218641.html
*/
pr_warn("A possible cause could be an old bootloader - try u-boot >= v2012.07\n");
} else {
pr_info("Successfully put all powerdomains to target state\n"); pr_info("Successfully put all powerdomains to target state\n");
}
return 0; return 0;
} }
@ -146,6 +156,13 @@ int __init omap4_pm_init(void)
} }
pr_err("Power Management for TI OMAP4.\n"); pr_err("Power Management for TI OMAP4.\n");
/*
* OMAP4 chip PM currently works only with certain (newer)
* versions of bootloaders. This is due to missing code in the
* kernel to properly reset and initialize some devices.
* http://www.spinics.net/lists/arm-kernel/msg218641.html
*/
pr_warn("OMAP4 PM: u-boot >= v2012.07 is required for full PM support\n");
ret = pwrdm_for_each(pwrdms_setup, NULL); ret = pwrdm_for_each(pwrdms_setup, NULL);
if (ret) { if (ret) {