aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/clocksource.h3
-rw-r--r--include/linux/time.h2
2 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index f0a7fb984413..f88d32f8ff7c 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -79,6 +79,7 @@ struct clocksource {
79 /* timekeeping specific data, ignore */ 79 /* timekeeping specific data, ignore */
80 cycle_t cycle_interval; 80 cycle_t cycle_interval;
81 u64 xtime_interval; 81 u64 xtime_interval;
82 u32 raw_interval;
82 /* 83 /*
83 * Second part is written at each timer interrupt 84 * Second part is written at each timer interrupt
84 * Keep it in a different cache line to dirty no 85 * Keep it in a different cache line to dirty no
@@ -87,6 +88,7 @@ struct clocksource {
87 cycle_t cycle_last ____cacheline_aligned_in_smp; 88 cycle_t cycle_last ____cacheline_aligned_in_smp;
88 u64 xtime_nsec; 89 u64 xtime_nsec;
89 s64 error; 90 s64 error;
91 struct timespec raw_time;
90 92
91#ifdef CONFIG_CLOCKSOURCE_WATCHDOG 93#ifdef CONFIG_CLOCKSOURCE_WATCHDOG
92 /* Watchdog related data, used by the framework */ 94 /* Watchdog related data, used by the framework */
@@ -215,6 +217,7 @@ static inline void clocksource_calculate_interval(struct clocksource *c,
215 217
216 /* Go back from cycles -> shifted ns, this time use ntp adjused mult */ 218 /* Go back from cycles -> shifted ns, this time use ntp adjused mult */
217 c->xtime_interval = (u64)c->cycle_interval * c->mult; 219 c->xtime_interval = (u64)c->cycle_interval * c->mult;
220 c->raw_interval = ((u64)c->cycle_interval * c->mult_orig) >> c->shift;
218} 221}
219 222
220 223
diff --git a/include/linux/time.h b/include/linux/time.h
index e15206a7e82e..205f974b9ebf 100644
--- a/include/linux/time.h
+++ b/include/linux/time.h
@@ -117,6 +117,7 @@ extern int do_setitimer(int which, struct itimerval *value,
117extern unsigned int alarm_setitimer(unsigned int seconds); 117extern unsigned int alarm_setitimer(unsigned int seconds);
118extern int do_getitimer(int which, struct itimerval *value); 118extern int do_getitimer(int which, struct itimerval *value);
119extern void getnstimeofday(struct timespec *tv); 119extern void getnstimeofday(struct timespec *tv);
120extern void getrawmonotonic(struct timespec *ts);
120extern void getboottime(struct timespec *ts); 121extern void getboottime(struct timespec *ts);
121extern void monotonic_to_bootbased(struct timespec *ts); 122extern void monotonic_to_bootbased(struct timespec *ts);
122 123
@@ -214,6 +215,7 @@ struct itimerval {
214#define CLOCK_MONOTONIC 1 215#define CLOCK_MONOTONIC 1
215#define CLOCK_PROCESS_CPUTIME_ID 2 216#define CLOCK_PROCESS_CPUTIME_ID 2
216#define CLOCK_THREAD_CPUTIME_ID 3 217#define CLOCK_THREAD_CPUTIME_ID 3
218#define CLOCK_MONOTONIC_RAW 4
217 219
218/* 220/*
219 * The IDs of various hardware clocks: 221 * The IDs of various hardware clocks: