diff options
Diffstat (limited to 'kernel/time.c')
-rw-r--r-- | kernel/time.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/kernel/time.c b/kernel/time.c index 2d5b6a682138..09d3c45c4da7 100644 --- a/kernel/time.c +++ b/kernel/time.c | |||
@@ -9,9 +9,9 @@ | |||
9 | */ | 9 | */ |
10 | /* | 10 | /* |
11 | * Modification history kernel/time.c | 11 | * Modification history kernel/time.c |
12 | * | 12 | * |
13 | * 1993-09-02 Philip Gladstone | 13 | * 1993-09-02 Philip Gladstone |
14 | * Created file with time related functions from sched.c and adjtimex() | 14 | * Created file with time related functions from sched.c and adjtimex() |
15 | * 1993-10-08 Torsten Duwe | 15 | * 1993-10-08 Torsten Duwe |
16 | * adjtime interface update and CMOS clock write code | 16 | * adjtime interface update and CMOS clock write code |
17 | * 1995-08-13 Torsten Duwe | 17 | * 1995-08-13 Torsten Duwe |
@@ -30,6 +30,7 @@ | |||
30 | #include <linux/module.h> | 30 | #include <linux/module.h> |
31 | #include <linux/timex.h> | 31 | #include <linux/timex.h> |
32 | #include <linux/capability.h> | 32 | #include <linux/capability.h> |
33 | #include <linux/clocksource.h> | ||
33 | #include <linux/errno.h> | 34 | #include <linux/errno.h> |
34 | #include <linux/syscalls.h> | 35 | #include <linux/syscalls.h> |
35 | #include <linux/security.h> | 36 | #include <linux/security.h> |
@@ -38,7 +39,7 @@ | |||
38 | #include <asm/uaccess.h> | 39 | #include <asm/uaccess.h> |
39 | #include <asm/unistd.h> | 40 | #include <asm/unistd.h> |
40 | 41 | ||
41 | /* | 42 | /* |
42 | * The timezone where the local system is located. Used as a default by some | 43 | * The timezone where the local system is located. Used as a default by some |
43 | * programs who obtain this value by using gettimeofday. | 44 | * programs who obtain this value by using gettimeofday. |
44 | */ | 45 | */ |
@@ -71,7 +72,7 @@ asmlinkage long sys_time(time_t __user * tloc) | |||
71 | * why not move it into the appropriate arch directory (for those | 72 | * why not move it into the appropriate arch directory (for those |
72 | * architectures that need it). | 73 | * architectures that need it). |
73 | */ | 74 | */ |
74 | 75 | ||
75 | asmlinkage long sys_stime(time_t __user *tptr) | 76 | asmlinkage long sys_stime(time_t __user *tptr) |
76 | { | 77 | { |
77 | struct timespec tv; | 78 | struct timespec tv; |
@@ -110,10 +111,10 @@ asmlinkage long sys_gettimeofday(struct timeval __user *tv, struct timezone __us | |||
110 | /* | 111 | /* |
111 | * Adjust the time obtained from the CMOS to be UTC time instead of | 112 | * Adjust the time obtained from the CMOS to be UTC time instead of |
112 | * local time. | 113 | * local time. |
113 | * | 114 | * |
114 | * This is ugly, but preferable to the alternatives. Otherwise we | 115 | * This is ugly, but preferable to the alternatives. Otherwise we |
115 | * would either need to write a program to do it in /etc/rc (and risk | 116 | * would either need to write a program to do it in /etc/rc (and risk |
116 | * confusion if the program gets run more than once; it would also be | 117 | * confusion if the program gets run more than once; it would also be |
117 | * hard to make the program warp the clock precisely n hours) or | 118 | * hard to make the program warp the clock precisely n hours) or |
118 | * compile in the timezone information into the kernel. Bad, bad.... | 119 | * compile in the timezone information into the kernel. Bad, bad.... |
119 | * | 120 | * |
@@ -158,6 +159,7 @@ int do_sys_settimeofday(struct timespec *tv, struct timezone *tz) | |||
158 | if (tz) { | 159 | if (tz) { |
159 | /* SMP safe, global irq locking makes it work. */ | 160 | /* SMP safe, global irq locking makes it work. */ |
160 | sys_tz = *tz; | 161 | sys_tz = *tz; |
162 | update_vsyscall_tz(); | ||
161 | if (firsttime) { | 163 | if (firsttime) { |
162 | firsttime = 0; | 164 | firsttime = 0; |
163 | if (!tv) | 165 | if (!tv) |