summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorChanghwan Youn <chaos.youn@samsung.com>2011-09-02 07:10:52 +0200
committerKukjin Kim <kgene.kim@samsung.com>2011-09-15 06:59:58 +0200
commitaa421c13a9e318a75b42d9dd2eb85cc73d8aab6b (patch)
treeb5dbdfb330c1488dcd523ecf1586cdb5c5f21973 /arch
parentARM: EXYNOS4: Fix routing timer interrupt to offline CPU (diff)
downloadlinux-aa421c13a9e318a75b42d9dd2eb85cc73d8aab6b.tar.xz
linux-aa421c13a9e318a75b42d9dd2eb85cc73d8aab6b.zip
ARM: EXYNOS4: restart clocksource while system resumes
System resume can't be completed because mct-frc isn't restarted after system suspends. This patch restarts mct-frc during system resume. Reported-by: Jongpill Lee <boyko.lee@samsung.com> Signed-off-by: Changhwan Youn <chaos.youn@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-exynos4/mct.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos4/mct.c b/arch/arm/mach-exynos4/mct.c
index f3638fa73e62..ddd86864fb83 100644
--- a/arch/arm/mach-exynos4/mct.c
+++ b/arch/arm/mach-exynos4/mct.c
@@ -132,12 +132,18 @@ static cycle_t exynos4_frc_read(struct clocksource *cs)
return ((cycle_t)hi << 32) | lo;
}
+static void exynos4_frc_resume(struct clocksource *cs)
+{
+ exynos4_mct_frc_start(0, 0);
+}
+
struct clocksource mct_frc = {
.name = "mct-frc",
.rating = 400,
.read = exynos4_frc_read,
.mask = CLOCKSOURCE_MASK(64),
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
+ .resume = exynos4_frc_resume,
};
static void __init exynos4_clocksource_init(void)