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>
This commit is contained in:
committed by
Thomas Gleixner
parent
f5e0e93faf
commit
0190dae54d
@@ -32,7 +32,6 @@
|
|||||||
#include <acpi/achware.h> /* for PM timer frequency */
|
#include <acpi/achware.h> /* for PM timer frequency */
|
||||||
#include <acpi/acpi_bus.h>
|
#include <acpi/acpi_bus.h>
|
||||||
#endif
|
#endif
|
||||||
#include <asm/8253pit.h>
|
|
||||||
#include <asm/i8253.h>
|
#include <asm/i8253.h>
|
||||||
#include <asm/pgtable.h>
|
#include <asm/pgtable.h>
|
||||||
#include <asm/vsyscall.h>
|
#include <asm/vsyscall.h>
|
||||||
@@ -292,9 +291,6 @@ static unsigned int __init tsc_calibrate_cpu_khz(void)
|
|||||||
return pmc_now * tsc_khz / (tsc_now - tsc_start);
|
return pmc_now * tsc_khz / (tsc_now - tsc_start);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define PIT_MODE 0x43
|
|
||||||
#define PIT_CH0 0x40
|
|
||||||
|
|
||||||
static void __pit_init(int val, u8 mode)
|
static void __pit_init(int val, u8 mode)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|||||||
@@ -1,5 +1,23 @@
|
|||||||
#ifdef CONFIG_X86_32
|
#ifndef __ASM_I8253_H__
|
||||||
# include "i8253_32.h"
|
#define __ASM_I8253_H__
|
||||||
#else
|
|
||||||
# include "i8253_64.h"
|
#ifdef CONFIG_X86_64
|
||||||
|
# include <asm/8253pit.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* i8253A PIT registers */
|
||||||
|
#define PIT_MODE 0x43
|
||||||
|
#define PIT_CH0 0x40
|
||||||
|
#define PIT_CH2 0x42
|
||||||
|
|
||||||
|
extern spinlock_t i8253_lock;
|
||||||
|
|
||||||
|
#ifdef CONFIG_GENERIC_CLOCKEVENTS
|
||||||
|
|
||||||
|
extern struct clock_event_device *global_clock_event;
|
||||||
|
|
||||||
|
extern void setup_pit_timer(void);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* __ASM_I8253_H__ */
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
#ifndef __ASM_I8253_H__
|
|
||||||
#define __ASM_I8253_H__
|
|
||||||
|
|
||||||
/* i8253A PIT registers */
|
|
||||||
#define PIT_MODE 0x43
|
|
||||||
#define PIT_CH0 0x40
|
|
||||||
#define PIT_CH2 0x42
|
|
||||||
|
|
||||||
extern spinlock_t i8253_lock;
|
|
||||||
|
|
||||||
#ifdef CONFIG_GENERIC_CLOCKEVENTS
|
|
||||||
|
|
||||||
extern struct clock_event_device *global_clock_event;
|
|
||||||
|
|
||||||
extern void setup_pit_timer(void);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __ASM_I8253_H__ */
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#ifndef __ASM_I8253_H__
|
|
||||||
#define __ASM_I8253_H__
|
|
||||||
|
|
||||||
extern spinlock_t i8253_lock;
|
|
||||||
|
|
||||||
#endif /* __ASM_I8253_H__ */
|
|
||||||
Reference in New Issue
Block a user