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:
commit
a5a8c31d9f
2 changed files with 29 additions and 12 deletions
|
@ -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);
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue