x86/platform: Add a wallclock_init func to x86_init.timers 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, which is usually in early kernel boot phase. 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: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
991cfffa7c
commit
6b617e224d
|
@ -83,11 +83,13 @@ struct x86_init_paging {
|
||||||
* boot cpu
|
* boot cpu
|
||||||
* @tsc_pre_init: platform function called before TSC init
|
* @tsc_pre_init: platform function called before TSC init
|
||||||
* @timer_init: initialize the platform timer (default PIT/HPET)
|
* @timer_init: initialize the platform timer (default PIT/HPET)
|
||||||
|
* @wallclock_init: init the wallclock device
|
||||||
*/
|
*/
|
||||||
struct x86_init_timers {
|
struct x86_init_timers {
|
||||||
void (*setup_percpu_clockev)(void);
|
void (*setup_percpu_clockev)(void);
|
||||||
void (*tsc_pre_init)(void);
|
void (*tsc_pre_init)(void);
|
||||||
void (*timer_init)(void);
|
void (*timer_init)(void);
|
||||||
|
void (*wallclock_init)(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1059,6 +1059,8 @@ void __init setup_arch(char **cmdline_p)
|
||||||
#endif
|
#endif
|
||||||
x86_init.oem.banner();
|
x86_init.oem.banner();
|
||||||
|
|
||||||
|
x86_init.timers.wallclock_init();
|
||||||
|
|
||||||
mcheck_init();
|
mcheck_init();
|
||||||
|
|
||||||
local_irq_save(flags);
|
local_irq_save(flags);
|
||||||
|
|
|
@ -70,6 +70,7 @@ struct x86_init_ops x86_init __initdata = {
|
||||||
.setup_percpu_clockev = setup_boot_APIC_clock,
|
.setup_percpu_clockev = setup_boot_APIC_clock,
|
||||||
.tsc_pre_init = x86_init_noop,
|
.tsc_pre_init = x86_init_noop,
|
||||||
.timer_init = hpet_time_init,
|
.timer_init = hpet_time_init,
|
||||||
|
.wallclock_init = x86_init_noop,
|
||||||
},
|
},
|
||||||
|
|
||||||
.iommu = {
|
.iommu = {
|
||||||
|
|
Loading…
Reference in New Issue