m68k: Define rtc_lock on Atari
authorGeert Uytterhoeven <geert@linux-m68k.org>
Mon, 13 Oct 2008 19:58:55 +0000 (21:58 +0200)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 14 Oct 2008 17:23:27 +0000 (10:23 -0700)
The nvram and rtc-cmos drivers use the spinlock rtc_lock to protect against
concurrent accesses to the CMOS memory. As m68k doesn't support SMP or preempt
yet, the spinlock calls tend to get optimized away, but not for all
configurations, causing in some rare cases:

| ERROR: "rtc_lock" [drivers/rtc/rtc-cmos.ko] undefined!
| ERROR: "rtc_lock" [drivers/char/nvram.ko] undefined!

Add the spinlock to the Atari core code to avoid this.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Michael Schmitz <schmitz@debian.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/m68k/atari/time.c

index e2df4a13d2bbde9d4f88627697dc619c5eb3a941..1edde27fa32dbb600dd5d07822cfd0bb5281b992 100644 (file)
@@ -20,6 +20,9 @@
 
 #include <asm/atariints.h>
 
+DEFINE_SPINLOCK(rtc_lock);
+EXPORT_SYMBOL_GPL(rtc_lock);
+
 void __init
 atari_sched_init(irq_handler_t timer_routine)
 {