summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Lezcano <daniel.lezcano@linaro.org>2014-05-09 06:50:16 +0900
committerKukjin Kim <kgene.kim@samsung.com>2014-05-26 05:21:07 +0900
commit795537daae8a14dd05923ee78b687a821460d4f1 (patch)
tree2d5721dc4d3a8b99f5c9a52243a9458ca9130b9e
parent85f9f90808b4437bbdff1dff2c80663dae57ab51 (diff)
downloadlinux-stable-795537daae8a14dd05923ee78b687a821460d4f1.tar.gz
linux-stable-795537daae8a14dd05923ee78b687a821460d4f1.tar.bz2
linux-stable-795537daae8a14dd05923ee78b687a821460d4f1.zip
ARM: EXYNOS: Move scu_enable in the cpu_pm notifier
We make the cpuidle code less arch dependent. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
-rw-r--r--arch/arm/mach-exynos/cpuidle.c6
-rw-r--r--arch/arm/mach-exynos/pm.c7
2 files changed, 6 insertions, 7 deletions
diff --git a/arch/arm/mach-exynos/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c
index 7a2d01bbef6b..bf1bf87af00e 100644
--- a/arch/arm/mach-exynos/cpuidle.c
+++ b/arch/arm/mach-exynos/cpuidle.c
@@ -19,7 +19,6 @@
#include <linux/platform_device.h>
#include <asm/proc-fns.h>
-#include <asm/smp_scu.h>
#include <asm/suspend.h>
#include <asm/unified.h>
#include <asm/cpuidle.h>
@@ -75,11 +74,6 @@ static int exynos_enter_core0_aftr(struct cpuidle_device *dev,
cpu_pm_enter();
cpu_suspend(0, idle_finisher);
-
-#ifdef CONFIG_SMP
- if (!soc_is_exynos5250())
- scu_enable(S5P_VA_SCU);
-#endif
cpu_pm_exit();
/*
diff --git a/arch/arm/mach-exynos/pm.c b/arch/arm/mach-exynos/pm.c
index 3eb80cd4607d..fb1d9160991a 100644
--- a/arch/arm/mach-exynos/pm.c
+++ b/arch/arm/mach-exynos/pm.c
@@ -400,8 +400,13 @@ static int exynos_cpu_pm_notifier(struct notifier_block *self,
break;
case CPU_PM_EXIT:
- if (cpu == 0)
+ if (cpu == 0) {
+#ifdef CONFIG_SMP
+ if (!soc_is_exynos5250())
+ scu_enable(S5P_VA_SCU);
+#endif
exynos_cpu_restore_register();
+ }
break;
}