aboutsummaryrefslogtreecommitdiffstats
path: root/arch/xtensa/kernel
diff options
context:
space:
mode:
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>2006-10-01 02:28:31 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-01 03:39:27 -0400
commit8ef386092d7c2891bd7acefb2a87f878f7e9a0d6 (patch)
treeb149f0c63f9b9bb3f43e82097f1ae5972662288f /arch/xtensa/kernel
parent70bc42f90a3f4721c89dbe865e6c95da8565b41c (diff)
[PATCH] kill wall_jiffies
With 2.6.18-rc4-mm2, now wall_jiffies will always be the same as jiffies. So we can kill wall_jiffies completely. This is just a cleanup and logically should not change any real behavior except for one thing: RTC updating code in (old) ppc and xtensa use a condition "jiffies - wall_jiffies == 1". This condition is never met so I suppose it is just a bug. I just remove that condition only instead of kill the whole "if" block. [heiko.carstens@de.ibm.com: s390 build fix and cleanup] Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Cc: Andi Kleen <ak@muc.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Ian Molton <spyro@f2s.com> Cc: Mikael Starvik <starvik@axis.com> Cc: David Howells <dhowells@redhat.com> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Hirokazu Takata <takata.hirokazu@renesas.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp> Cc: Richard Curnow <rc@rc0.org.uk> Cc: William Lee Irwin III <wli@holomorphy.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jeff Dike <jdike@addtoit.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp> Cc: Chris Zankel <chris@zankel.net> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/xtensa/kernel')
-rw-r--r--arch/xtensa/kernel/time.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/arch/xtensa/kernel/time.c b/arch/xtensa/kernel/time.c
index 241db201f40e..37347e369987 100644
--- a/arch/xtensa/kernel/time.c
+++ b/arch/xtensa/kernel/time.c
@@ -26,8 +26,6 @@
26#include <asm/platform.h> 26#include <asm/platform.h>
27 27
28 28
29extern volatile unsigned long wall_jiffies;
30
31DEFINE_SPINLOCK(rtc_lock); 29DEFINE_SPINLOCK(rtc_lock);
32EXPORT_SYMBOL(rtc_lock); 30EXPORT_SYMBOL(rtc_lock);
33 31
@@ -110,7 +108,6 @@ int do_settimeofday(struct timespec *tv)
110 */ 108 */
111 ccount = get_ccount(); 109 ccount = get_ccount();
112 nsec -= (ccount - last_ccount_stamp) * CCOUNT_NSEC; 110 nsec -= (ccount - last_ccount_stamp) * CCOUNT_NSEC;
113 nsec -= (jiffies - wall_jiffies) * CCOUNT_PER_JIFFY * CCOUNT_NSEC;
114 111
115 wtm_sec = wall_to_monotonic.tv_sec + (xtime.tv_sec - sec); 112 wtm_sec = wall_to_monotonic.tv_sec + (xtime.tv_sec - sec);
116 wtm_nsec = wall_to_monotonic.tv_nsec + (xtime.tv_nsec - nsec); 113 wtm_nsec = wall_to_monotonic.tv_nsec + (xtime.tv_nsec - nsec);
@@ -129,7 +126,7 @@ EXPORT_SYMBOL(do_settimeofday);
129void do_gettimeofday(struct timeval *tv) 126void do_gettimeofday(struct timeval *tv)
130{ 127{
131 unsigned long flags; 128 unsigned long flags;
132 unsigned long sec, usec, delta, lost, seq; 129 unsigned long sec, usec, delta, seq;
133 130
134 do { 131 do {
135 seq = read_seqbegin_irqsave(&xtime_lock, flags); 132 seq = read_seqbegin_irqsave(&xtime_lock, flags);
@@ -137,12 +134,9 @@ void do_gettimeofday(struct timeval *tv)
137 delta = get_ccount() - last_ccount_stamp; 134 delta = get_ccount() - last_ccount_stamp;
138 sec = xtime.tv_sec; 135 sec = xtime.tv_sec;
139 usec = (xtime.tv_nsec / NSEC_PER_USEC); 136 usec = (xtime.tv_nsec / NSEC_PER_USEC);
140
141 lost = jiffies - wall_jiffies;
142
143 } while (read_seqretry_irqrestore(&xtime_lock, seq, flags)); 137 } while (read_seqretry_irqrestore(&xtime_lock, seq, flags));
144 138
145 usec += lost * (1000000UL/HZ) + (delta * CCOUNT_NSEC) / NSEC_PER_USEC; 139 usec += (delta * CCOUNT_NSEC) / NSEC_PER_USEC;
146 for (; usec >= 1000000; sec++, usec -= 1000000) 140 for (; usec >= 1000000; sec++, usec -= 1000000)
147 ; 141 ;
148 142
@@ -179,8 +173,7 @@ again:
179 173
180 if (ntp_synced() && 174 if (ntp_synced() &&
181 xtime.tv_sec - last_rtc_update >= 659 && 175 xtime.tv_sec - last_rtc_update >= 659 &&
182 abs((xtime.tv_nsec/1000)-(1000000-1000000/HZ))<5000000/HZ && 176 abs((xtime.tv_nsec/1000)-(1000000-1000000/HZ))<5000000/HZ) {
183 jiffies - wall_jiffies == 1) {
184 177
185 if (platform_set_rtc_time(xtime.tv_sec+1) == 0) 178 if (platform_set_rtc_time(xtime.tv_sec+1) == 0)
186 last_rtc_update = xtime.tv_sec+1; 179 last_rtc_update = xtime.tv_sec+1;