[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: Kyle McMartin <kyle@parisc-linux.org>
This commit is contained in:
Родитель
fb55a0debe
Коммит
01363220f5
|
@ -48,6 +48,8 @@ EXPORT_SYMBOL(boot_cpu_data);
|
|||
|
||||
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.
|
||||
**
|
||||
|
@ -198,6 +200,12 @@ static int __init processor_probe(struct parisc_device *dev)
|
|||
}
|
||||
#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;
|
||||
}
|
||||
|
||||
|
|
|
@ -567,10 +567,6 @@ 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;
|
||||
}
|
||||
|
||||
|
|
|
@ -200,6 +200,11 @@ int update_cr16_clocksource(void)
|
|||
|
||||
return change;
|
||||
}
|
||||
#else
|
||||
int update_cr16_clocksource(void)
|
||||
{
|
||||
return 0; /* no change */
|
||||
}
|
||||
#endif /*CONFIG_SMP*/
|
||||
|
||||
void __init start_cpu_itimer(void)
|
||||
|
|
Загрузка…
Ссылка в новой задаче