Commit 01363220 authored by Kyle McMartin's avatar Kyle McMartin

[PARISC] clocksource: Move update_cr16_clocksource later in boot

smp_cpus_done is too early for us... before we even do a device
inventory! Move update_cr16_clocksource into the tail end of
processor_probe() and stub it out on CONFIG_SMP=n builds.

Verified that clocksource0 is properly updated to use jiffies
on an SMP build.
Signed-off-by: default avatarKyle McMartin <kyle@parisc-linux.org>
parent fb55a0de
...@@ -48,6 +48,8 @@ EXPORT_SYMBOL(boot_cpu_data); ...@@ -48,6 +48,8 @@ EXPORT_SYMBOL(boot_cpu_data);
struct cpuinfo_parisc cpu_data[NR_CPUS] __read_mostly; struct cpuinfo_parisc cpu_data[NR_CPUS] __read_mostly;
extern int update_cr16_clocksource(void); /* from time.c */
/* /*
** PARISC CPU driver - claim "device" and initialize CPU data structures. ** PARISC CPU driver - claim "device" and initialize CPU data structures.
** **
...@@ -198,6 +200,12 @@ static int __init processor_probe(struct parisc_device *dev) ...@@ -198,6 +200,12 @@ static int __init processor_probe(struct parisc_device *dev)
} }
#endif #endif
/* If we've registered more than one cpu,
* we'll use the jiffies clocksource since cr16
* is not synchronized between CPUs.
*/
update_cr16_clocksource();
return 0; return 0;
} }
......
...@@ -567,10 +567,6 @@ void __init smp_prepare_cpus(unsigned int max_cpus) ...@@ -567,10 +567,6 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
void smp_cpus_done(unsigned int cpu_max) void smp_cpus_done(unsigned int cpu_max)
{ {
extern int update_cr16_clocksource(void);
update_cr16_clocksource();
return; return;
} }
......
...@@ -200,6 +200,11 @@ int update_cr16_clocksource(void) ...@@ -200,6 +200,11 @@ int update_cr16_clocksource(void)
return change; return change;
} }
#else
int update_cr16_clocksource(void)
{
return 0; /* no change */
}
#endif /*CONFIG_SMP*/ #endif /*CONFIG_SMP*/
void __init start_cpu_itimer(void) void __init start_cpu_itimer(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment