diff options
Diffstat (limited to 'arch/arm26')
-rw-r--r-- | arch/arm26/kernel/time.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/arch/arm26/kernel/time.c b/arch/arm26/kernel/time.c index 80adbd005fc5..1206469b2b86 100644 --- a/arch/arm26/kernel/time.c +++ b/arch/arm26/kernel/time.c | |||
@@ -33,8 +33,6 @@ | |||
33 | #include <asm/irq.h> | 33 | #include <asm/irq.h> |
34 | #include <asm/ioc.h> | 34 | #include <asm/ioc.h> |
35 | 35 | ||
36 | extern unsigned long wall_jiffies; | ||
37 | |||
38 | /* this needs a better home */ | 36 | /* this needs a better home */ |
39 | DEFINE_SPINLOCK(rtc_lock); | 37 | DEFINE_SPINLOCK(rtc_lock); |
40 | 38 | ||
@@ -136,16 +134,11 @@ void do_gettimeofday(struct timeval *tv) | |||
136 | { | 134 | { |
137 | unsigned long flags; | 135 | unsigned long flags; |
138 | unsigned long seq; | 136 | unsigned long seq; |
139 | unsigned long usec, sec, lost; | 137 | unsigned long usec, sec; |
140 | 138 | ||
141 | do { | 139 | do { |
142 | seq = read_seqbegin_irqsave(&xtime_lock, flags); | 140 | seq = read_seqbegin_irqsave(&xtime_lock, flags); |
143 | usec = gettimeoffset(); | 141 | usec = gettimeoffset(); |
144 | |||
145 | lost = jiffies - wall_jiffies; | ||
146 | if (lost) | ||
147 | usec += lost * USECS_PER_JIFFY; | ||
148 | |||
149 | sec = xtime.tv_sec; | 142 | sec = xtime.tv_sec; |
150 | usec += xtime.tv_nsec / 1000; | 143 | usec += xtime.tv_nsec / 1000; |
151 | } while (read_seqretry_irqrestore(&xtime_lock, seq, flags)); | 144 | } while (read_seqretry_irqrestore(&xtime_lock, seq, flags)); |
@@ -174,8 +167,7 @@ int do_settimeofday(struct timespec *tv) | |||
174 | * wall time. Discover what correction gettimeofday() would have | 167 | * wall time. Discover what correction gettimeofday() would have |
175 | * done, and then undo it! | 168 | * done, and then undo it! |
176 | */ | 169 | */ |
177 | tv->tv_nsec -= 1000 * (gettimeoffset() + | 170 | tv->tv_nsec -= 1000 * gettimeoffset(); |
178 | (jiffies - wall_jiffies) * USECS_PER_JIFFY); | ||
179 | 171 | ||
180 | while (tv->tv_nsec < 0) { | 172 | while (tv->tv_nsec < 0) { |
181 | tv->tv_nsec += NSEC_PER_SEC; | 173 | tv->tv_nsec += NSEC_PER_SEC; |