Commit f5e0e93f authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Thomas Gleixner

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: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarChris Wright <chrisw@sous-sol.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarArjan van de Ven <arjan@linux.intel.com>
parent 28769149
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
#include <asm/delay.h> #include <asm/delay.h>
#include <asm/i8253.h> #include <asm/i8253.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/timer.h>
DEFINE_SPINLOCK(i8253_lock); DEFINE_SPINLOCK(i8253_lock);
EXPORT_SYMBOL(i8253_lock); EXPORT_SYMBOL(i8253_lock);
...@@ -120,6 +119,7 @@ void __init setup_pit_timer(void) ...@@ -120,6 +119,7 @@ void __init setup_pit_timer(void)
global_clock_event = &pit_clockevent; global_clock_event = &pit_clockevent;
} }
#ifndef CONFIG_X86_64
/* /*
* Since the PIT overflows every tick, its not very useful * Since the PIT overflows every tick, its not very useful
* to just read by itself. So use jiffies to emulate a free * to just read by itself. So use jiffies to emulate a free
...@@ -204,3 +204,5 @@ static int __init init_pit_clocksource(void) ...@@ -204,3 +204,5 @@ static int __init init_pit_clocksource(void)
return clocksource_register(&clocksource_pit); return clocksource_register(&clocksource_pit);
} }
arch_initcall(init_pit_clocksource); arch_initcall(init_pit_clocksource);
#endif
#ifndef __ASM_I8253_H__ #ifndef __ASM_I8253_H__
#define __ASM_I8253_H__ #define __ASM_I8253_H__
#include <linux/clockchips.h>
/* i8253A PIT registers */ /* i8253A PIT registers */
#define PIT_MODE 0x43 #define PIT_MODE 0x43
#define PIT_CH0 0x40 #define PIT_CH0 0x40
...@@ -10,8 +8,12 @@ ...@@ -10,8 +8,12 @@
extern spinlock_t i8253_lock; extern spinlock_t i8253_lock;
#ifdef CONFIG_GENERIC_CLOCKEVENTS
extern struct clock_event_device *global_clock_event; extern struct clock_event_device *global_clock_event;
extern void setup_pit_timer(void); extern void setup_pit_timer(void);
#endif
#endif /* __ASM_I8253_H__ */ #endif /* __ASM_I8253_H__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment