[Blackfin] arch: actually implement get_cycles function
authorMike Frysinger <vapier.adi@gmail.com>
Wed, 23 Apr 2008 21:07:29 +0000 (05:07 +0800)
committerBryan Wu <cooloney@kernel.org>
Wed, 23 Apr 2008 21:07:29 +0000 (05:07 +0800)
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
arch/blackfin/kernel/time-ts.c
include/asm-blackfin/timex.h

index 3aad6d7107265f6c7a9e72dbd3a42c0245602396..1ce8cb1e4982659dfefd7f8e9de52282c58c3e42 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/profile.h>
 #include <linux/interrupt.h>
 #include <linux/time.h>
+#include <linux/timex.h>
 #include <linux/irq.h>
 #include <linux/clocksource.h>
 #include <linux/clockchips.h>
@@ -35,9 +36,7 @@ static inline unsigned long long cycles_2_ns(cycle_t cyc)
 
 static cycle_t read_cycles(void)
 {
-       unsigned long tmp, tmp2;
-       asm("%0 = cycles; %1 = cycles2;" : "=d"(tmp), "=d"(tmp2));
-       return tmp | ((cycle_t)tmp2 << 32);
+       return get_cycles();
 }
 
 unsigned long long sched_clock(void)
index 828590117f51acd105fe52c0f7e69e4c30eee9a3..22b0806161bb614b2179c7ec1eee002a0255779e 100644 (file)
@@ -1,18 +1,23 @@
-/* blackfin architecture timex specifications: Lineo Inc. 2001
+/*
+ * asm-blackfin/timex.h: cpu cycles!
  *
- * Based on: include/asm-m68knommu/timex.h
+ * Copyright 2004-2008 Analog Devices Inc.
+ *
+ * Licensed under the GPL-2 or later.
  */
 
-#ifndef _ASMBLACKFIN_TIMEX_H
-#define _ASMBLACKFIN_TIMEX_H
+#ifndef _ASM_BLACKFIN_TIMEX_H
+#define _ASM_BLACKFIN_TIMEX_H
 
 #define CLOCK_TICK_RATE        1000000 /* Underlying HZ */
 
-typedef unsigned long cycles_t;
+typedef unsigned long long cycles_t;
 
 static inline cycles_t get_cycles(void)
 {
-       return 0;
+       unsigned long tmp, tmp2;
+       __asm__("%0 = cycles; %1 = cycles2;" : "=d"(tmp), "=d"(tmp2));
+       return tmp | ((cycles_t)tmp2 << 32);
 }
 
 #endif