[PATCH] powerpc: Merge a few more include files
[pandora-kernel.git] / include / asm-powerpc / timex.h
similarity index 53%
rename from include/asm-ppc/timex.h
rename to include/asm-powerpc/timex.h
index cffc871..51c5b31 100644 (file)
@@ -1,11 +1,11 @@
+#ifndef _ASM_POWERPC_TIMEX_H
+#define _ASM_POWERPC_TIMEX_H
+
+#ifdef __KERNEL__
+
 /*
- * include/asm-ppc/timex.h
- *
- * ppc architecture timex specifications
+ * PowerPC architecture timex specifications
  */
-#ifdef __KERNEL__
-#ifndef _ASMppc_TIMEX_H
-#define _ASMppc_TIMEX_H
 
 #include <linux/config.h>
 #include <asm/cputable.h>
 
 typedef unsigned long cycles_t;
 
-/*
- * For the "cycle" counter we use the timebase lower half.
- * Currently only used on SMP.
- */
-
 static inline cycles_t get_cycles(void)
 {
-       cycles_t ret = 0;
+       cycles_t ret;
+
+#ifdef __powerpc64__
+
+       __asm__ __volatile__("mftb %0" : "=r" (ret) : );
+
+#else
+       /*
+        * For the "cycle" counter we use the timebase lower half.
+        * Currently only used on SMP.
+        */
+
+       ret = 0;
 
        __asm__ __volatile__(
                "98:    mftb %0\n"
@@ -33,8 +40,10 @@ static inline cycles_t get_cycles(void)
                "       .long 99b\n"
                ".previous"
                : "=r" (ret) : "i" (CPU_FTR_601));
+#endif
+
        return ret;
 }
 
-#endif
-#endif /* __KERNEL__ */
+#endif /* __KERNEL__ */
+#endif /* _ASM_POWERPC_TIMEX_H */