|
@@ -132,12 +132,18 @@ static cycle_t exynos4_frc_read(struct clocksource *cs)
|
|
return ((cycle_t)hi << 32) | lo;
|
|
return ((cycle_t)hi << 32) | lo;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static void exynos4_frc_resume(struct clocksource *cs)
|
|
|
|
+{
|
|
|
|
+ exynos4_mct_frc_start(0, 0);
|
|
|
|
+}
|
|
|
|
+
|
|
struct clocksource mct_frc = {
|
|
struct clocksource mct_frc = {
|
|
.name = "mct-frc",
|
|
.name = "mct-frc",
|
|
.rating = 400,
|
|
.rating = 400,
|
|
.read = exynos4_frc_read,
|
|
.read = exynos4_frc_read,
|
|
.mask = CLOCKSOURCE_MASK(64),
|
|
.mask = CLOCKSOURCE_MASK(64),
|
|
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
|
|
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
|
|
|
|
+ .resume = exynos4_frc_resume,
|
|
};
|
|
};
|
|
|
|
|
|
static void __init exynos4_clocksource_init(void)
|
|
static void __init exynos4_clocksource_init(void)
|
|
@@ -389,9 +395,11 @@ static void exynos4_mct_tick_init(struct clock_event_device *evt)
|
|
}
|
|
}
|
|
|
|
|
|
/* Setup the local clock events for a CPU */
|
|
/* Setup the local clock events for a CPU */
|
|
-void __cpuinit local_timer_setup(struct clock_event_device *evt)
|
|
|
|
|
|
+int __cpuinit local_timer_setup(struct clock_event_device *evt)
|
|
{
|
|
{
|
|
exynos4_mct_tick_init(evt);
|
|
exynos4_mct_tick_init(evt);
|
|
|
|
+
|
|
|
|
+ return 0;
|
|
}
|
|
}
|
|
|
|
|
|
int local_timer_ack(void)
|
|
int local_timer_ack(void)
|