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
commitf5e0e93faf8421083853b2d7a217267f49e27cc3 (patch)
tree07feecfe09654c49a9f21ed93616793003a9f49c
parent28769149c285e0a392d2e601ae0cc71ffc345f7d (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.c4
-rw-r--r--include/asm-x86/i8253_32.h6
2 files changed, 7 insertions, 3 deletions
diff --git a/arch/x86/kernel/i8253_32.c b/arch/x86/kernel/i8253_32.c
index 6d839f2f1b1..ac15e4cbd9c 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
18DEFINE_SPINLOCK(i8253_lock); 17DEFINE_SPINLOCK(i8253_lock);
19EXPORT_SYMBOL(i8253_lock); 18EXPORT_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}
206arch_initcall(init_pit_clocksource); 206arch_initcall(init_pit_clocksource);
207
208#endif
diff --git a/include/asm-x86/i8253_32.h b/include/asm-x86/i8253_32.h
index 7577d058d86..28cf67da59a 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
11extern spinlock_t i8253_lock; 9extern spinlock_t i8253_lock;
12 10
11#ifdef CONFIG_GENERIC_CLOCKEVENTS
12
13extern struct clock_event_device *global_clock_event; 13extern struct clock_event_device *global_clock_event;
14 14
15extern void setup_pit_timer(void); 15extern void setup_pit_timer(void);
16 16
17#endif
18
17#endif /* __ASM_I8253_H__ */ 19#endif /* __ASM_I8253_H__ */