Commit 08604bd9 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Linus Torvalds

time: move PIT_TICK_RATE to linux/timex.h

PIT_TICK_RATE is currently defined in four architectures, but in three
different places.  While linux/timex.h is not the perfect place for it, it
is still a reasonable replacement for those drivers that traditionally use
asm/timex.h to get CLOCK_TICK_RATE and expect it to be the PIT frequency.

Note that for Alpha, the actual value changed from 1193182UL to 1193180UL.
 This is unlikely to make a difference, and probably can only improve
accuracy.  There was a discussion on the correct value of CLOCK_TICK_RATE
a few years ago, after which every existing instance was getting changed
to 1193182.  According to the specification, it should be
1193181.818181...
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Len Brown <lenb@kernel.org>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 03347e25
/* /*
* 8253/8254 Programmable Interval Timer * 8253/8254 Programmable Interval Timer
*/ */
#ifndef _8253PIT_H
#define _8253PIT_H
#define PIT_TICK_RATE 1193180UL
#endif
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/ioport.h> #include <linux/ioport.h>
#include <linux/timex.h>
#include <linux/init.h> #include <linux/init.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
......
...@@ -12,8 +12,6 @@ ...@@ -12,8 +12,6 @@
#define PIT_CH0 0x40 #define PIT_CH0 0x40
#define PIT_CH2 0x42 #define PIT_CH2 0x42
#define PIT_TICK_RATE 1193182UL
extern spinlock_t i8253_lock; extern spinlock_t i8253_lock;
extern void setup_pit_timer(void); extern void setup_pit_timer(void);
......
#ifndef _ASM_POWERPC_8253PIT_H
#define _ASM_POWERPC_8253PIT_H
/* /*
* 8253/8254 Programmable Interval Timer * 8253/8254 Programmable Interval Timer
*/ */
#define PIT_TICK_RATE 1193182UL
#endif /* _ASM_POWERPC_8253PIT_H */
...@@ -4,9 +4,7 @@ ...@@ -4,9 +4,7 @@
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/tsc.h> #include <asm/tsc.h>
/* The PIT ticks at this frequency (in HZ): */ /* Assume we use the PIT time source for the clock tick */
#define PIT_TICK_RATE 1193182
#define CLOCK_TICK_RATE PIT_TICK_RATE #define CLOCK_TICK_RATE PIT_TICK_RATE
#define ARCH_HAS_READ_CURRENT_TIMER #define ARCH_HAS_READ_CURRENT_TIMER
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/jiffies.h> #include <linux/jiffies.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/timex.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/io.h> #include <linux/io.h>
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/clocksource.h> #include <linux/clocksource.h>
#include <linux/percpu.h> #include <linux/percpu.h>
#include <linux/timex.h>
#include <asm/hpet.h> #include <asm/hpet.h>
#include <asm/timer.h> #include <asm/timer.h>
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
#include <linux/acpi_pmtmr.h> #include <linux/acpi_pmtmr.h>
#include <linux/clocksource.h> #include <linux/clocksource.h>
#include <linux/timex.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/pci.h> #include <linux/pci.h>
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#include <linux/input.h> #include <linux/input.h>
#include <linux/gameport.h> #include <linux/gameport.h>
#include <linux/jiffies.h> #include <linux/jiffies.h>
#include <asm/timex.h> #include <linux/timex.h>
#define DRIVER_DESC "Analog joystick and gamepad driver" #define DRIVER_DESC "Analog joystick and gamepad driver"
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/input.h> #include <linux/input.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/timex.h>
#include <asm/io.h> #include <asm/io.h>
MODULE_AUTHOR("Vojtech Pavlik <vojtech@ucw.cz>"); MODULE_AUTHOR("Vojtech Pavlik <vojtech@ucw.cz>");
......
...@@ -280,6 +280,9 @@ extern int do_adjtimex(struct timex *); ...@@ -280,6 +280,9 @@ extern int do_adjtimex(struct timex *);
int read_current_timer(unsigned long *timer_val); int read_current_timer(unsigned long *timer_val);
/* The clock frequency of the i8253/i8254 PIT */
#define PIT_TICK_RATE 1193182ul
#endif /* KERNEL */ #endif /* KERNEL */
#endif /* LINUX_TIMEX_H */ #endif /* LINUX_TIMEX_H */
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#define __PCSP_H__ #define __PCSP_H__
#include <linux/hrtimer.h> #include <linux/hrtimer.h>
#include <linux/timex.h>
#if defined(CONFIG_MIPS) || defined(CONFIG_X86) #if defined(CONFIG_MIPS) || defined(CONFIG_X86)
/* Use the global PIT lock ! */ /* Use the global PIT lock ! */
#include <asm/i8253.h> #include <asm/i8253.h>
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <asm/timex.h> #include <linux/timex.h>
#include "sound_config.h" #include "sound_config.h"
#include "pas2.h" #include "pas2.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