PIT clock events work already and the PIT handling is the same for i386 and x86_64. x86_64 does not support PIT as a clock source, so disable the PIT clocksource for x86_64. Prepare i8253.h to be shared with x8664 Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar --- arch/i386/kernel/i8253.c | 3 +++ include/asm-i386/i8253.h | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) Index: linux-2.6.22-rc6-mm/arch/i386/kernel/i8253.c =================================================================== --- linux-2.6.22-rc6-mm.orig/arch/i386/kernel/i8253.c 2007-07-15 17:26:45.000000000 +0200 +++ linux-2.6.22-rc6-mm/arch/i386/kernel/i8253.c 2007-07-15 17:39:21.000000000 +0200 @@ -120,6 +120,7 @@ void __init setup_pit_timer(void) global_clock_event = &pit_clockevent; } +#ifndef CONFIG_X86_64 /* * Since the PIT overflows every tick, its not very useful * to just read by itself. So use jiffies to emulate a free @@ -204,3 +205,5 @@ static int __init init_pit_clocksource(v return clocksource_register(&clocksource_pit); } arch_initcall(init_pit_clocksource); + +#endif Index: linux-2.6.22-rc6-mm/include/asm-i386/i8253.h =================================================================== --- linux-2.6.22-rc6-mm.orig/include/asm-i386/i8253.h 2007-07-15 17:26:45.000000000 +0200 +++ linux-2.6.22-rc6-mm/include/asm-i386/i8253.h 2007-07-15 17:48:50.000000000 +0200 @@ -1,8 +1,6 @@ #ifndef __ASM_I8253_H__ #define __ASM_I8253_H__ -#include - /* i8253A PIT registers */ #define PIT_MODE 0x43 #define PIT_CH0 0x40 @@ -10,8 +8,12 @@ extern spinlock_t i8253_lock; +#ifdef CONFIG_GENERIC_CLOCKEVENTS + extern struct clock_event_device *global_clock_event; extern void setup_pit_timer(void); +#endif + #endif /* __ASM_I8253_H__ */ -- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/