diff options
author | Feng Tang <feng.tang@intel.com> | 2011-11-10 08:42:02 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-11-10 10:20:53 -0500 |
commit | cf8ff6b6ab0e99dd3058852f4ec76a6140abadec (patch) | |
tree | e2b004657136004c757d45df0f23bafe97bd46fe /arch/x86/kernel | |
parent | 66f5ddf30a59f811818656cb2833c80da0340cfa (diff) |
x86/platform: Add a wallclock_init func to x86_platforms ops
Some wall clock devices use MMIO based HW register, this new
function will give them a chance to do some initialization work
before their get/set_time service get called.
Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Dirk Brandewie <dirk.brandewie@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/setup.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/x86_init.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index afaf38447ef5..cf0ef986cb6d 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -1045,6 +1045,8 @@ void __init setup_arch(char **cmdline_p) | |||
1045 | 1045 | ||
1046 | x86_init.timers.wallclock_init(); | 1046 | x86_init.timers.wallclock_init(); |
1047 | 1047 | ||
1048 | x86_platform.wallclock_init(); | ||
1049 | |||
1048 | mcheck_init(); | 1050 | mcheck_init(); |
1049 | 1051 | ||
1050 | arch_init_ideal_nops(); | 1052 | arch_init_ideal_nops(); |
diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c index 6f164bd5e14d..701c7be442f1 100644 --- a/arch/x86/kernel/x86_init.c +++ b/arch/x86/kernel/x86_init.c | |||
@@ -27,6 +27,7 @@ void __init x86_init_uint_noop(unsigned int unused) { } | |||
27 | void __init x86_init_pgd_noop(pgd_t *unused) { } | 27 | void __init x86_init_pgd_noop(pgd_t *unused) { } |
28 | int __init iommu_init_noop(void) { return 0; } | 28 | int __init iommu_init_noop(void) { return 0; } |
29 | void iommu_shutdown_noop(void) { } | 29 | void iommu_shutdown_noop(void) { } |
30 | void wallclock_init_noop(void) { } | ||
30 | 31 | ||
31 | /* | 32 | /* |
32 | * The platform setup functions are preset with the default functions | 33 | * The platform setup functions are preset with the default functions |
@@ -97,6 +98,7 @@ static int default_i8042_detect(void) { return 1; }; | |||
97 | 98 | ||
98 | struct x86_platform_ops x86_platform = { | 99 | struct x86_platform_ops x86_platform = { |
99 | .calibrate_tsc = native_calibrate_tsc, | 100 | .calibrate_tsc = native_calibrate_tsc, |
101 | .wallclock_init = wallclock_init_noop, | ||
100 | .get_wallclock = mach_get_cmos_time, | 102 | .get_wallclock = mach_get_cmos_time, |
101 | .set_wallclock = mach_set_rtc_mmss, | 103 | .set_wallclock = mach_set_rtc_mmss, |
102 | .iommu_shutdown = iommu_shutdown_noop, | 104 | .iommu_shutdown = iommu_shutdown_noop, |