diff options
author | John Stultz <john.stultz@linaro.org> | 2012-09-11 19:58:13 -0400 |
---|---|---|
committer | John Stultz <john.stultz@linaro.org> | 2012-09-24 12:38:08 -0400 |
commit | 576094b7f0aaf41aadab9b7d4e5bd85faa432711 (patch) | |
tree | 9cf7a86b58e5b6242625663af274b594085487fa /kernel | |
parent | 706394211648117762edfaeffd6fc04bf3b1a75d (diff) |
time: Introduce new GENERIC_TIME_VSYSCALL
Now that we moved everyone over to GENERIC_TIME_VSYSCALL_OLD,
introduce the new declaration and config option for the new
update_vsyscall method.
Cc: Tony Luck <tony.luck@intel.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Paul Turner <pjt@google.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/time/Kconfig | 4 | ||||
-rw-r--r-- | kernel/time/timekeeping.c | 14 |
2 files changed, 5 insertions, 13 deletions
diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig index 489c86154d1f..8601f0db1261 100644 --- a/kernel/time/Kconfig +++ b/kernel/time/Kconfig | |||
@@ -13,6 +13,10 @@ config ARCH_CLOCKSOURCE_DATA | |||
13 | bool | 13 | bool |
14 | 14 | ||
15 | # Timekeeping vsyscall support | 15 | # Timekeeping vsyscall support |
16 | config GENERIC_TIME_VSYSCALL | ||
17 | bool | ||
18 | |||
19 | # Timekeeping vsyscall support | ||
16 | config GENERIC_TIME_VSYSCALL_OLD | 20 | config GENERIC_TIME_VSYSCALL_OLD |
17 | bool | 21 | bool |
18 | 22 | ||
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 7c2851384c46..ce618010c373 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c | |||
@@ -42,15 +42,6 @@ static inline void tk_normalize_xtime(struct timekeeper *tk) | |||
42 | } | 42 | } |
43 | } | 43 | } |
44 | 44 | ||
45 | static struct timespec tk_xtime(struct timekeeper *tk) | ||
46 | { | ||
47 | struct timespec ts; | ||
48 | |||
49 | ts.tv_sec = tk->xtime_sec; | ||
50 | ts.tv_nsec = (long)(tk->xtime_nsec >> tk->shift); | ||
51 | return ts; | ||
52 | } | ||
53 | |||
54 | static void tk_set_xtime(struct timekeeper *tk, const struct timespec *ts) | 45 | static void tk_set_xtime(struct timekeeper *tk, const struct timespec *ts) |
55 | { | 46 | { |
56 | tk->xtime_sec = ts->tv_sec; | 47 | tk->xtime_sec = ts->tv_sec; |
@@ -192,14 +183,11 @@ static inline s64 timekeeping_get_ns_raw(struct timekeeper *tk) | |||
192 | /* must hold write on timekeeper.lock */ | 183 | /* must hold write on timekeeper.lock */ |
193 | static void timekeeping_update(struct timekeeper *tk, bool clearntp) | 184 | static void timekeeping_update(struct timekeeper *tk, bool clearntp) |
194 | { | 185 | { |
195 | struct timespec xt; | ||
196 | |||
197 | if (clearntp) { | 186 | if (clearntp) { |
198 | tk->ntp_error = 0; | 187 | tk->ntp_error = 0; |
199 | ntp_clear(); | 188 | ntp_clear(); |
200 | } | 189 | } |
201 | xt = tk_xtime(tk); | 190 | update_vsyscall(tk); |
202 | update_vsyscall_old(&xt, &tk->wall_to_monotonic, tk->clock, tk->mult); | ||
203 | } | 191 | } |
204 | 192 | ||
205 | /** | 193 | /** |