diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2007-10-12 17:04:06 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@inhelltoy.tec.linutronix.de> | 2007-10-12 17:04:06 -0400 |
commit | f5e0e93faf8421083853b2d7a217267f49e27cc3 (patch) | |
tree | 07feecfe09654c49a9f21ed93616793003a9f49c | |
parent | 28769149c285e0a392d2e601ae0cc71ffc345f7d (diff) |
i386: prepare sharing the PIT code
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 <tglx@linutronix.de>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
-rw-r--r-- | arch/x86/kernel/i8253_32.c | 4 | ||||
-rw-r--r-- | include/asm-x86/i8253_32.h | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/arch/x86/kernel/i8253_32.c b/arch/x86/kernel/i8253_32.c index 6d839f2f1b1a..ac15e4cbd9c1 100644 --- a/arch/x86/kernel/i8253_32.c +++ b/arch/x86/kernel/i8253_32.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <asm/delay.h> | 13 | #include <asm/delay.h> |
14 | #include <asm/i8253.h> | 14 | #include <asm/i8253.h> |
15 | #include <asm/io.h> | 15 | #include <asm/io.h> |
16 | #include <asm/timer.h> | ||
17 | 16 | ||
18 | DEFINE_SPINLOCK(i8253_lock); | 17 | DEFINE_SPINLOCK(i8253_lock); |
19 | EXPORT_SYMBOL(i8253_lock); | 18 | EXPORT_SYMBOL(i8253_lock); |
@@ -120,6 +119,7 @@ void __init setup_pit_timer(void) | |||
120 | global_clock_event = &pit_clockevent; | 119 | global_clock_event = &pit_clockevent; |
121 | } | 120 | } |
122 | 121 | ||
122 | #ifndef CONFIG_X86_64 | ||
123 | /* | 123 | /* |
124 | * Since the PIT overflows every tick, its not very useful | 124 | * Since the PIT overflows every tick, its not very useful |
125 | * to just read by itself. So use jiffies to emulate a free | 125 | * to just read by itself. So use jiffies to emulate a free |
@@ -204,3 +204,5 @@ static int __init init_pit_clocksource(void) | |||
204 | return clocksource_register(&clocksource_pit); | 204 | return clocksource_register(&clocksource_pit); |
205 | } | 205 | } |
206 | arch_initcall(init_pit_clocksource); | 206 | arch_initcall(init_pit_clocksource); |
207 | |||
208 | #endif | ||
diff --git a/include/asm-x86/i8253_32.h b/include/asm-x86/i8253_32.h index 7577d058d86e..28cf67da59a3 100644 --- a/include/asm-x86/i8253_32.h +++ b/include/asm-x86/i8253_32.h | |||
@@ -1,8 +1,6 @@ | |||
1 | #ifndef __ASM_I8253_H__ | 1 | #ifndef __ASM_I8253_H__ |
2 | #define __ASM_I8253_H__ | 2 | #define __ASM_I8253_H__ |
3 | 3 | ||
4 | #include <linux/clockchips.h> | ||
5 | |||
6 | /* i8253A PIT registers */ | 4 | /* i8253A PIT registers */ |
7 | #define PIT_MODE 0x43 | 5 | #define PIT_MODE 0x43 |
8 | #define PIT_CH0 0x40 | 6 | #define PIT_CH0 0x40 |
@@ -10,8 +8,12 @@ | |||
10 | 8 | ||
11 | extern spinlock_t i8253_lock; | 9 | extern spinlock_t i8253_lock; |
12 | 10 | ||
11 | #ifdef CONFIG_GENERIC_CLOCKEVENTS | ||
12 | |||
13 | extern struct clock_event_device *global_clock_event; | 13 | extern struct clock_event_device *global_clock_event; |
14 | 14 | ||
15 | extern void setup_pit_timer(void); | 15 | extern void setup_pit_timer(void); |
16 | 16 | ||
17 | #endif | ||
18 | |||
17 | #endif /* __ASM_I8253_H__ */ | 19 | #endif /* __ASM_I8253_H__ */ |