aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc
diff options
context:
space:
mode:
authorKyle McMartin <kyle@mako.i.cabal.ca>2007-02-26 21:24:56 -0500
committerKyle McMartin <kyle@mako.i.cabal.ca>2007-02-26 21:24:56 -0500
commitb2a8289a611af409e5621df27227dc3f55ba358b (patch)
tree34452ae94e0a84ce01b1137e92808ce563b48db6 /arch/parisc
parent87c8174727c95ab43f5bd2164e78c665c6945e67 (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/parisc')
-rw-r--r--arch/parisc/kernel/smp.c4
-rw-r--r--arch/parisc/kernel/time.c8
2 files changed, 7 insertions, 5 deletions
diff --git a/arch/parisc/kernel/smp.c b/arch/parisc/kernel/smp.c
index 6ba9257fdb7f..bb6e6a38e911 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)
567 567
568void smp_cpus_done(unsigned int cpu_max) 568void smp_cpus_done(unsigned int cpu_max)
569{ 569{
570 extern int update_cr16_clocksource(void);
571
572 update_cr16_clocksource();
573
570 return; 574 return;
571} 575}
572 576
diff --git a/arch/parisc/kernel/time.c b/arch/parisc/kernel/time.c
index d45f77f62908..9b14066d693c 100644
--- a/arch/parisc/kernel/time.c
+++ b/arch/parisc/kernel/time.c
@@ -176,8 +176,6 @@ static cycle_t read_cr16(void)
176 return get_cycles(); 176 return get_cycles();
177} 177}
178 178
179static int cr16_update_callback(void);
180
181static struct clocksource clocksource_cr16 = { 179static struct clocksource clocksource_cr16 = {
182 .name = "cr16", 180 .name = "cr16",
183 .rating = 300, 181 .rating = 300,
@@ -185,11 +183,11 @@ static struct clocksource clocksource_cr16 = {
185 .mask = CLOCKSOURCE_MASK(BITS_PER_LONG), 183 .mask = CLOCKSOURCE_MASK(BITS_PER_LONG),
186 .mult = 0, /* to be set */ 184 .mult = 0, /* to be set */
187 .shift = 22, 185 .shift = 22,
188 .update_callback = cr16_update_callback,
189 .flags = CLOCK_SOURCE_IS_CONTINUOUS, 186 .flags = CLOCK_SOURCE_IS_CONTINUOUS,
190}; 187};
191 188
192static int cr16_update_callback(void) 189#ifdef CONFIG_SMP
190int update_cr16_clocksource(void)
193{ 191{
194 int change = 0; 192 int change = 0;
195 193
@@ -202,7 +200,7 @@ static int cr16_update_callback(void)
202 200
203 return change; 201 return change;
204} 202}
205 203#endif /*CONFIG_SMP*/
206 204
207void __init start_cpu_itimer(void) 205void __init start_cpu_itimer(void)
208{ 206{