diff options
author | Andrew Morton <akpm@linux-foundation.org> | 2008-02-06 04:36:42 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-06 13:41:02 -0500 |
commit | 941e492bdb1239d2ca8f5736cdfd3ff83d00cb90 (patch) | |
tree | 6c048ee92ec94cbced1881308e14c2541321f077 /arch | |
parent | 83bad1d764b836a482b88e0a1f44d7a5c3e1fee0 (diff) |
read_current_timer() cleanups
- All implementations can be __devinit
- The function prototypes were in asm/timex.h but they all must be the same,
so create a single declaration in linux/timex.h.
- uninline the sparc64 version to match the other architectures
- Don't bother #defining ARCH_HAS_READ_CURRENT_TIMER to a particular value.
[ezk@cs.sunysb.edu: fix build]
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/avr32/lib/delay.c | 4 | ||||
-rw-r--r-- | arch/sparc64/kernel/time.c | 5 | ||||
-rw-r--r-- | arch/x86/lib/delay_32.c | 4 | ||||
-rw-r--r-- | arch/x86/lib/delay_64.c | 4 |
4 files changed, 14 insertions, 3 deletions
diff --git a/arch/avr32/lib/delay.c b/arch/avr32/lib/delay.c index b3bc0b56e2c6..9aa8800830f3 100644 --- a/arch/avr32/lib/delay.c +++ b/arch/avr32/lib/delay.c | |||
@@ -12,13 +12,15 @@ | |||
12 | 12 | ||
13 | #include <linux/delay.h> | 13 | #include <linux/delay.h> |
14 | #include <linux/module.h> | 14 | #include <linux/module.h> |
15 | #include <linux/timex.h> | ||
15 | #include <linux/param.h> | 16 | #include <linux/param.h> |
16 | #include <linux/types.h> | 17 | #include <linux/types.h> |
18 | #include <linux/init.h> | ||
17 | 19 | ||
18 | #include <asm/processor.h> | 20 | #include <asm/processor.h> |
19 | #include <asm/sysreg.h> | 21 | #include <asm/sysreg.h> |
20 | 22 | ||
21 | int read_current_timer(unsigned long *timer_value) | 23 | int __devinit read_current_timer(unsigned long *timer_value) |
22 | { | 24 | { |
23 | *timer_value = sysreg_read(COUNT); | 25 | *timer_value = sysreg_read(COUNT); |
24 | return 0; | 26 | return 0; |
diff --git a/arch/sparc64/kernel/time.c b/arch/sparc64/kernel/time.c index 4352ee4d8dac..d204f1ab1d4c 100644 --- a/arch/sparc64/kernel/time.c +++ b/arch/sparc64/kernel/time.c | |||
@@ -1707,6 +1707,11 @@ static void __exit rtc_mini_exit(void) | |||
1707 | misc_deregister(&rtc_mini_dev); | 1707 | misc_deregister(&rtc_mini_dev); |
1708 | } | 1708 | } |
1709 | 1709 | ||
1710 | int __devinit read_current_timer(unsigned long *timer_val) | ||
1711 | { | ||
1712 | *timer_val = tick_ops->get_tick(); | ||
1713 | return 0; | ||
1714 | } | ||
1710 | 1715 | ||
1711 | module_init(rtc_mini_init); | 1716 | module_init(rtc_mini_init); |
1712 | module_exit(rtc_mini_exit); | 1717 | module_exit(rtc_mini_exit); |
diff --git a/arch/x86/lib/delay_32.c b/arch/x86/lib/delay_32.c index aad9d95469dc..4535e6d147ad 100644 --- a/arch/x86/lib/delay_32.c +++ b/arch/x86/lib/delay_32.c | |||
@@ -12,8 +12,10 @@ | |||
12 | 12 | ||
13 | #include <linux/module.h> | 13 | #include <linux/module.h> |
14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
15 | #include <linux/timex.h> | ||
15 | #include <linux/preempt.h> | 16 | #include <linux/preempt.h> |
16 | #include <linux/delay.h> | 17 | #include <linux/delay.h> |
18 | #include <linux/init.h> | ||
17 | 19 | ||
18 | #include <asm/processor.h> | 20 | #include <asm/processor.h> |
19 | #include <asm/delay.h> | 21 | #include <asm/delay.h> |
@@ -63,7 +65,7 @@ void use_tsc_delay(void) | |||
63 | delay_fn = delay_tsc; | 65 | delay_fn = delay_tsc; |
64 | } | 66 | } |
65 | 67 | ||
66 | int read_current_timer(unsigned long *timer_val) | 68 | int __devinit read_current_timer(unsigned long *timer_val) |
67 | { | 69 | { |
68 | if (delay_fn == delay_tsc) { | 70 | if (delay_fn == delay_tsc) { |
69 | rdtscl(*timer_val); | 71 | rdtscl(*timer_val); |
diff --git a/arch/x86/lib/delay_64.c b/arch/x86/lib/delay_64.c index 45cdd3fbd91c..bbc610518516 100644 --- a/arch/x86/lib/delay_64.c +++ b/arch/x86/lib/delay_64.c | |||
@@ -10,8 +10,10 @@ | |||
10 | 10 | ||
11 | #include <linux/module.h> | 11 | #include <linux/module.h> |
12 | #include <linux/sched.h> | 12 | #include <linux/sched.h> |
13 | #include <linux/timex.h> | ||
13 | #include <linux/preempt.h> | 14 | #include <linux/preempt.h> |
14 | #include <linux/delay.h> | 15 | #include <linux/delay.h> |
16 | #include <linux/init.h> | ||
15 | 17 | ||
16 | #include <asm/delay.h> | 18 | #include <asm/delay.h> |
17 | #include <asm/msr.h> | 19 | #include <asm/msr.h> |
@@ -20,7 +22,7 @@ | |||
20 | #include <asm/smp.h> | 22 | #include <asm/smp.h> |
21 | #endif | 23 | #endif |
22 | 24 | ||
23 | int read_current_timer(unsigned long *timer_value) | 25 | int __devinit read_current_timer(unsigned long *timer_value) |
24 | { | 26 | { |
25 | rdtscll(*timer_value); | 27 | rdtscll(*timer_value); |
26 | return 0; | 28 | return 0; |