Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
[pandora-kernel.git] / arch / s390 / include / asm / timex.h
index 09d345a..88829a4 100644 (file)
@@ -11,6 +11,8 @@
 #ifndef _ASM_S390_TIMEX_H
 #define _ASM_S390_TIMEX_H
 
+#include <asm/lowcore.h>
+
 /* The value of the TOD clock for 1.1.1970. */
 #define TOD_UNIX_EPOCH 0x7d91048bca000000ULL
 
@@ -49,6 +51,24 @@ static inline void store_clock_comparator(__u64 *time)
        asm volatile("stckc %0" : "=Q" (*time));
 }
 
+void clock_comparator_work(void);
+
+static inline unsigned long long local_tick_disable(void)
+{
+       unsigned long long old;
+
+       old = S390_lowcore.clock_comparator;
+       S390_lowcore.clock_comparator = -1ULL;
+       set_clock_comparator(S390_lowcore.clock_comparator);
+       return old;
+}
+
+static inline void local_tick_enable(unsigned long long comp)
+{
+       S390_lowcore.clock_comparator = comp;
+       set_clock_comparator(S390_lowcore.clock_comparator);
+}
+
 #define CLOCK_TICK_RATE        1193180 /* Underlying HZ */
 
 typedef unsigned long long cycles_t;