Skip to content

Commit

Permalink
[PARISC] clocksource: Move update_cr16_clocksource later in boot
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Kyle McMartin committed Feb 27, 2007
1 parent fb55a0d commit 0136322
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 4 deletions.
8 changes: 8 additions & 0 deletions arch/parisc/kernel/processor.c
Original file line number Diff line number Diff line change
Expand Up @@ -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.
**
Expand Down Expand Up @@ -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;
}

Expand Down
4 changes: 0 additions & 4 deletions arch/parisc/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down
5 changes: 5 additions & 0 deletions arch/parisc/kernel/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 0136322

Please sign in to comment.