From 065553fc6ba020255dbddadf1fe3ad4ef722dca4 Mon Sep 17 00:00:00 2001 From: Russell King Date: Tue, 11 Jan 2011 16:23:04 +0000 Subject: [PATCH] --- yaml --- r: 231287 b: refs/heads/master c: 211baa7016894c02fc18693e21ca479cd08ac0c0 h: refs/heads/master i: 231285: 2195f68064455de099c9f9a8282d9aa345e2ff5f 231283: b3b6be9d8bdbe6dcd8410f5bf181dbd82c49051c 231279: ddc36a7d418b3818e3068966f1ad71d9e9139474 v: v3 --- [refs] | 2 +- trunk/arch/arm/include/asm/sched_clock.h | 2 ++ trunk/arch/arm/kernel/sched_clock.c | 7 ++++++- trunk/arch/arm/kernel/time.c | 4 ++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 7625505b79cb..edf8b6744127 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1aa023b8fda8096caf41c20427a0ef396d88eb0f +refs/heads/master: 211baa7016894c02fc18693e21ca479cd08ac0c0 diff --git a/trunk/arch/arm/include/asm/sched_clock.h b/trunk/arch/arm/include/asm/sched_clock.h index a84628be1a7b..c8e6ddf3e860 100644 --- a/trunk/arch/arm/include/asm/sched_clock.h +++ b/trunk/arch/arm/include/asm/sched_clock.h @@ -115,4 +115,6 @@ static inline void init_fixed_sched_clock(struct clock_data *cd, } } +extern void sched_clock_postinit(void); + #endif diff --git a/trunk/arch/arm/kernel/sched_clock.c b/trunk/arch/arm/kernel/sched_clock.c index 2cdcc9287c74..784464a21c1c 100644 --- a/trunk/arch/arm/kernel/sched_clock.c +++ b/trunk/arch/arm/kernel/sched_clock.c @@ -60,10 +60,15 @@ void __init init_sched_clock(struct clock_data *cd, void (*update)(void), * sets the initial epoch. */ sched_clock_timer.data = msecs_to_jiffies(w - (w / 10)); - sched_clock_poll(sched_clock_timer.data); + update(); /* * Ensure that sched_clock() starts off at 0ns */ cd->epoch_ns = 0; } + +void __init sched_clock_postinit(void) +{ + sched_clock_poll(sched_clock_timer.data); +} diff --git a/trunk/arch/arm/kernel/time.c b/trunk/arch/arm/kernel/time.c index f1e2eb19a67d..3d76bf233734 100644 --- a/trunk/arch/arm/kernel/time.c +++ b/trunk/arch/arm/kernel/time.c @@ -29,6 +29,7 @@ #include #include +#include #include #include #include @@ -163,5 +164,8 @@ void __init time_init(void) { system_timer = machine_desc->timer; system_timer->init(); +#ifdef CONFIG_HAVE_SCHED_CLOCK + sched_clock_postinit(); +#endif }