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 | 0190dae54de62fbb9ced75d134015266987eb6b8 (patch) | |
tree | 5ae8ac1d0da98e39535c8bffd904a9e2c0311e40 | |
parent | f5e0e93faf8421083853b2d7a217267f49e27cc3 (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.
Use the i386 i8253.h include file for x86_64 as well to share the
exports and the PIT constants.
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/time_64.c | 4 | ||||
-rw-r--r-- | include/asm-x86/i8253.h | 26 | ||||
-rw-r--r-- | include/asm-x86/i8253_32.h | 19 | ||||
-rw-r--r-- | include/asm-x86/i8253_64.h | 6 |
4 files changed, 22 insertions, 33 deletions
diff --git a/arch/x86/kernel/time_64.c b/arch/x86/kernel/time_64.c index e97a3ee13551..d899216e01ca 100644 --- a/arch/x86/kernel/time_64.c +++ b/arch/x86/kernel/time_64.c | |||
@@ -32,7 +32,6 @@ | |||
32 | #include <acpi/achware.h> /* for PM timer frequency */ | 32 | #include <acpi/achware.h> /* for PM timer frequency */ |
33 | #include <acpi/acpi_bus.h> | 33 | #include <acpi/acpi_bus.h> |
34 | #endif | 34 | #endif |
35 | #include <asm/8253pit.h> | ||
36 | #include <asm/i8253.h> | 35 | #include <asm/i8253.h> |
37 | #include <asm/pgtable.h> | 36 | #include <asm/pgtable.h> |
38 | #include <asm/vsyscall.h> | 37 | #include <asm/vsyscall.h> |
@@ -292,9 +291,6 @@ static unsigned int __init tsc_calibrate_cpu_khz(void) | |||
292 | return pmc_now * tsc_khz / (tsc_now - tsc_start); | 291 | return pmc_now * tsc_khz / (tsc_now - tsc_start); |
293 | } | 292 | } |
294 | 293 | ||
295 | #define PIT_MODE 0x43 | ||
296 | #define PIT_CH0 0x40 | ||
297 | |||
298 | static void __pit_init(int val, u8 mode) | 294 | static void __pit_init(int val, u8 mode) |
299 | { | 295 | { |
300 | unsigned long flags; | 296 | unsigned long flags; |
diff --git a/include/asm-x86/i8253.h b/include/asm-x86/i8253.h index b2a4f995a33f..7eff6fd27474 100644 --- a/include/asm-x86/i8253.h +++ b/include/asm-x86/i8253.h | |||
@@ -1,5 +1,23 @@ | |||
1 | #ifdef CONFIG_X86_32 | 1 | #ifndef __ASM_I8253_H__ |
2 | # include "i8253_32.h" | 2 | #define __ASM_I8253_H__ |
3 | #else | 3 | |
4 | # include "i8253_64.h" | 4 | #ifdef CONFIG_X86_64 |
5 | # include <asm/8253pit.h> | ||
5 | #endif | 6 | #endif |
7 | |||
8 | /* i8253A PIT registers */ | ||
9 | #define PIT_MODE 0x43 | ||
10 | #define PIT_CH0 0x40 | ||
11 | #define PIT_CH2 0x42 | ||
12 | |||
13 | extern spinlock_t i8253_lock; | ||
14 | |||
15 | #ifdef CONFIG_GENERIC_CLOCKEVENTS | ||
16 | |||
17 | extern struct clock_event_device *global_clock_event; | ||
18 | |||
19 | extern void setup_pit_timer(void); | ||
20 | |||
21 | #endif | ||
22 | |||
23 | #endif /* __ASM_I8253_H__ */ | ||
diff --git a/include/asm-x86/i8253_32.h b/include/asm-x86/i8253_32.h deleted file mode 100644 index 28cf67da59a3..000000000000 --- a/include/asm-x86/i8253_32.h +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | #ifndef __ASM_I8253_H__ | ||
2 | #define __ASM_I8253_H__ | ||
3 | |||
4 | /* i8253A PIT registers */ | ||
5 | #define PIT_MODE 0x43 | ||
6 | #define PIT_CH0 0x40 | ||
7 | #define PIT_CH2 0x42 | ||
8 | |||
9 | extern spinlock_t i8253_lock; | ||
10 | |||
11 | #ifdef CONFIG_GENERIC_CLOCKEVENTS | ||
12 | |||
13 | extern struct clock_event_device *global_clock_event; | ||
14 | |||
15 | extern void setup_pit_timer(void); | ||
16 | |||
17 | #endif | ||
18 | |||
19 | #endif /* __ASM_I8253_H__ */ | ||
diff --git a/include/asm-x86/i8253_64.h b/include/asm-x86/i8253_64.h deleted file mode 100644 index 015d8df07690..000000000000 --- a/include/asm-x86/i8253_64.h +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | #ifndef __ASM_I8253_H__ | ||
2 | #define __ASM_I8253_H__ | ||
3 | |||
4 | extern spinlock_t i8253_lock; | ||
5 | |||
6 | #endif /* __ASM_I8253_H__ */ | ||