diff options
author | Kyle McMartin <kyle@mako.i.cabal.ca> | 2007-02-26 21:24:56 -0500 |
---|---|---|
committer | Kyle McMartin <kyle@mako.i.cabal.ca> | 2007-02-26 21:24:56 -0500 |
commit | b2a8289a611af409e5621df27227dc3f55ba358b (patch) | |
tree | 34452ae94e0a84ce01b1137e92808ce563b48db6 /arch | |
parent | 87c8174727c95ab43f5bd2164e78c665c6945e67 (diff) |
[PARISC] time: clocksource lost update_callback
So move the code to be called by smp_cpus_done, which is
after we've figured out if there's more than one cpu
actually present.
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/parisc/kernel/smp.c | 4 | ||||
-rw-r--r-- | arch/parisc/kernel/time.c | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/arch/parisc/kernel/smp.c b/arch/parisc/kernel/smp.c index 6ba9257fdb7..bb6e6a38e91 100644 --- a/arch/parisc/kernel/smp.c +++ b/arch/parisc/kernel/smp.c @@ -567,6 +567,10 @@ void __init smp_prepare_cpus(unsigned int max_cpus) void smp_cpus_done(unsigned int cpu_max) { + extern int update_cr16_clocksource(void); + + update_cr16_clocksource(); + return; } diff --git a/arch/parisc/kernel/time.c b/arch/parisc/kernel/time.c index d45f77f6290..9b14066d693 100644 --- a/arch/parisc/kernel/time.c +++ b/arch/parisc/kernel/time.c @@ -176,8 +176,6 @@ static cycle_t read_cr16(void) return get_cycles(); } -static int cr16_update_callback(void); - static struct clocksource clocksource_cr16 = { .name = "cr16", .rating = 300, @@ -185,11 +183,11 @@ static struct clocksource clocksource_cr16 = { .mask = CLOCKSOURCE_MASK(BITS_PER_LONG), .mult = 0, /* to be set */ .shift = 22, - .update_callback = cr16_update_callback, .flags = CLOCK_SOURCE_IS_CONTINUOUS, }; -static int cr16_update_callback(void) +#ifdef CONFIG_SMP +int update_cr16_clocksource(void) { int change = 0; @@ -202,7 +200,7 @@ static int cr16_update_callback(void) return change; } - +#endif /*CONFIG_SMP*/ void __init start_cpu_itimer(void) { |