1/6 - hpet1.patch - main.c change to introduce late_time_init() diff -purN linux-2.6.0-test4/init/main.c linux-2.6.0-test4-hpet/init/main.c --- linux-2.6.0-test4/init/main.c 2003-08-22 16:52:56.000000000 -0700 +++ linux-2.6.0-test4-hpet/init/main.c 2003-08-28 12:18:15.000000000 -0700 @@ -106,6 +106,8 @@ int system_running = 0; #define MAX_INIT_ENVS 8 extern void time_init(void); +/* Default late time init is NULL. archs can override this later. */ +void (*late_time_init)(void) = NULL; extern void softirq_init(void); int rows, cols; @@ -421,7 +423,6 @@ asmlinkage void __init start_kernel(void console_init(); profile_init(); local_irq_enable(); - calibrate_delay(); #ifdef CONFIG_BLK_DEV_INITRD if (initrd_start && !initrd_below_start_ok && initrd_start < min_low_pfn << PAGE_SHIFT) { @@ -433,6 +434,9 @@ asmlinkage void __init start_kernel(void page_address_init(); mem_init(); kmem_cache_init(); + if (late_time_init) + late_time_init(); + calibrate_delay(); pidmap_init(); pgtable_cache_init(); pte_chain_init();