|
@@ -21,6 +21,7 @@
|
|
*/
|
|
*/
|
|
|
|
|
|
#include <linux/cpuidle.h>
|
|
#include <linux/cpuidle.h>
|
|
|
|
+#include <linux/cpu_pm.h>
|
|
#include <linux/init.h>
|
|
#include <linux/init.h>
|
|
#include <linux/io.h>
|
|
#include <linux/io.h>
|
|
#include <linux/of.h>
|
|
#include <linux/of.h>
|
|
@@ -66,8 +67,11 @@ static int calxeda_pwrdown_idle(struct cpuidle_device *dev,
|
|
struct cpuidle_driver *drv,
|
|
struct cpuidle_driver *drv,
|
|
int index)
|
|
int index)
|
|
{
|
|
{
|
|
|
|
+ cpu_pm_enter();
|
|
highbank_set_cpu_jump(smp_processor_id(), cpu_resume);
|
|
highbank_set_cpu_jump(smp_processor_id(), cpu_resume);
|
|
cpu_suspend(0, calxeda_idle_finish);
|
|
cpu_suspend(0, calxeda_idle_finish);
|
|
|
|
+ cpu_pm_exit();
|
|
|
|
+
|
|
return index;
|
|
return index;
|
|
}
|
|
}
|
|
|
|
|