pm44xx: Fix comment for "CONFIG_CPU_IDLE"
[firefly-linux-kernel-4.4.55.git] / arch / arm / mach-omap2 / pm44xx.c
index aa6fd98f606e30aa96c164b2ce3dd40719777e0c..152a10cf4f1db58eb5768834963b5cc3b4426b0b 100644 (file)
@@ -77,10 +77,20 @@ static int omap4_pm_suspend(void)
                omap_set_pwrdm_state(pwrst->pwrdm, pwrst->saved_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");
-       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");
+       }
 
        return 0;
 }
@@ -116,8 +126,8 @@ static int __init pwrdms_setup(struct powerdomain *pwrdm, void *unused)
  * omap_default_idle - OMAP4 default ilde routine.'
  *
  * Implements OMAP4 memory, IO ordering requirements which can't be addressed
- * with default cpu_do_idle() hook. Used by all CPUs with !CONFIG_CPUIDLE and
- * by secondary CPU with CONFIG_CPUIDLE.
+ * with default cpu_do_idle() hook. Used by all CPUs with !CONFIG_CPU_IDLE and
+ * by secondary CPU with CONFIG_CPU_IDLE.
  */
 static void omap_default_idle(void)
 {
@@ -146,6 +156,13 @@ int __init omap4_pm_init(void)
        }
 
        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);
        if (ret) {