Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 941e492b authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds
Browse files

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: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 83bad1d7
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -12,13 +12,15 @@

#include <linux/delay.h>
#include <linux/module.h>
#include <linux/timex.h>
#include <linux/param.h>
#include <linux/types.h>
#include <linux/init.h>

#include <asm/processor.h>
#include <asm/sysreg.h>

int read_current_timer(unsigned long *timer_value)
int __devinit read_current_timer(unsigned long *timer_value)
{
	*timer_value = sysreg_read(COUNT);
	return 0;
+5 −0
Original line number Diff line number Diff line
@@ -1707,6 +1707,11 @@ static void __exit rtc_mini_exit(void)
	misc_deregister(&rtc_mini_dev);
}

int __devinit read_current_timer(unsigned long *timer_val)
{
	*timer_val = tick_ops->get_tick();
	return 0;
}

module_init(rtc_mini_init);
module_exit(rtc_mini_exit);
+3 −1
Original line number Diff line number Diff line
@@ -12,8 +12,10 @@

#include <linux/module.h>
#include <linux/sched.h>
#include <linux/timex.h>
#include <linux/preempt.h>
#include <linux/delay.h>
#include <linux/init.h>

#include <asm/processor.h>
#include <asm/delay.h>
@@ -63,7 +65,7 @@ void use_tsc_delay(void)
	delay_fn = delay_tsc;
}

int read_current_timer(unsigned long *timer_val)
int __devinit read_current_timer(unsigned long *timer_val)
{
	if (delay_fn == delay_tsc) {
		rdtscl(*timer_val);
+3 −1
Original line number Diff line number Diff line
@@ -10,8 +10,10 @@

#include <linux/module.h>
#include <linux/sched.h>
#include <linux/timex.h>
#include <linux/preempt.h>
#include <linux/delay.h>
#include <linux/init.h>

#include <asm/delay.h>
#include <asm/msr.h>
@@ -20,7 +22,7 @@
#include <asm/smp.h>
#endif

int read_current_timer(unsigned long *timer_value)
int __devinit read_current_timer(unsigned long *timer_value)
{
	rdtscll(*timer_value);
	return 0;
+1 −2
Original line number Diff line number Diff line
@@ -34,7 +34,6 @@ static inline cycles_t get_cycles (void)
	return 0;
}

extern int read_current_timer(unsigned long *timer_value);
#define ARCH_HAS_READ_CURRENT_TIMER	1
#define ARCH_HAS_READ_CURRENT_TIMER

#endif /* __ASM_AVR32_TIMEX_H */
Loading