aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2007-10-12 17:04:06 -0400
committerThomas Gleixner <tglx@inhelltoy.tec.linutronix.de>2007-10-12 17:04:06 -0400
commit0190dae54de62fbb9ced75d134015266987eb6b8 (patch)
tree5ae8ac1d0da98e39535c8bffd904a9e2c0311e40
parentf5e0e93faf8421083853b2d7a217267f49e27cc3 (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.c4
-rw-r--r--include/asm-x86/i8253.h26
-rw-r--r--include/asm-x86/i8253_32.h19
-rw-r--r--include/asm-x86/i8253_64.h6
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
298static void __pit_init(int val, u8 mode) 294static 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
13extern spinlock_t i8253_lock;
14
15#ifdef CONFIG_GENERIC_CLOCKEVENTS
16
17extern struct clock_event_device *global_clock_event;
18
19extern 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
9extern spinlock_t i8253_lock;
10
11#ifdef CONFIG_GENERIC_CLOCKEVENTS
12
13extern struct clock_event_device *global_clock_event;
14
15extern 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
4extern spinlock_t i8253_lock;
5
6#endif /* __ASM_I8253_H__ */