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/time | |
| 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/time')
| -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 489c86154d1..8601f0db126 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 7c2851384c4..ce618010c37 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 | /** |
