diff options
author | Tony Breeds <tony@bakeyournoodle.com> | 2007-06-22 16:54:30 +1000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-06-28 19:19:23 +1000 |
commit | 71712b455374a73af042fcfb5002fef5fd25ba44 (patch) | |
tree | 872c63855d0ca5c0dd2a8446cda4d6600415cc74 /arch/powerpc/platforms/iseries/setup.c | |
parent | a5c631b174e23cab773cf422c1f39b28e7224602 (diff) | |
download | kernel_samsung_smdk4412-71712b455374a73af042fcfb5002fef5fd25ba44.zip kernel_samsung_smdk4412-71712b455374a73af042fcfb5002fef5fd25ba44.tar.gz kernel_samsung_smdk4412-71712b455374a73af042fcfb5002fef5fd25ba44.tar.bz2 |
[POWERPC] Move iSeries_tb_recal into its own late_initcall.
Currently iSeries will recalibrate the cputime_factors in the first
settimeofday() call.
It seems the reason for doing this is to ensure a resaonable time delta after
time_init(). On current kernels (with udev), this call is made 40-60 seconds
into the boot process, by moving it to a late initcall it is called
approximately 5 seconds after time_init() is called. This is sufficient to
recalibrate the timebase.
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
CC: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/iseries/setup.c')
-rw-r--r-- | arch/powerpc/platforms/iseries/setup.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/powerpc/platforms/iseries/setup.c b/arch/powerpc/platforms/iseries/setup.c index 7f5dcee..13a8b19 100644 --- a/arch/powerpc/platforms/iseries/setup.c +++ b/arch/powerpc/platforms/iseries/setup.c @@ -79,8 +79,6 @@ extern void iSeries_pci_final_fixup(void); static void iSeries_pci_final_fixup(void) { } #endif -extern unsigned long iSeries_recal_tb; -extern unsigned long iSeries_recal_titan; struct MemoryBlock { unsigned long absStart; @@ -292,8 +290,8 @@ static void __init iSeries_init_early(void) { DBG(" -> iSeries_init_early()\n"); - iSeries_recal_tb = get_tb(); - iSeries_recal_titan = HvCallXm_loadTod(); + /* Snapshot the timebase, for use in later recalibration */ + iSeries_time_init_early(); /* * Initialize the DMA/TCE management |