patch-2.3.99-pre2 linux/arch/alpha/kernel/time.c
Next file: linux/arch/alpha/kernel/traps.c
Previous file: linux/arch/alpha/kernel/sys_takara.c
Back to the patch index
Back to the overall index
- Lines: 34
- Date:
Wed Mar 15 11:08:04 2000
- Orig file:
v2.3.99-pre1/linux/arch/alpha/kernel/time.c
- Orig date:
Thu Mar 2 14:36:22 2000
diff -u --recursive --new-file v2.3.99-pre1/linux/arch/alpha/kernel/time.c linux/arch/alpha/kernel/time.c
@@ -48,6 +48,7 @@
static int set_rtc_mmss(unsigned long);
+spinlock_t rtc_lock = SPIN_LOCK_UNLOCKED;
/*
* Shift amount by which scaled_ticks_per_cycle is scaled. Shifting
@@ -163,7 +164,7 @@
}
void
-common_init_rtc()
+common_init_rtc(void)
{
unsigned char x;
@@ -406,6 +407,8 @@
int real_seconds, real_minutes, cmos_minutes;
unsigned char save_control, save_freq_select;
+ /* irq are locally disabled here */
+ spin_lock(&rtc_lock);
/* Tell the clock it's being set */
save_control = CMOS_READ(RTC_CONTROL);
CMOS_WRITE((save_control|RTC_SET), RTC_CONTROL);
@@ -455,6 +458,7 @@
*/
CMOS_WRITE(save_control, RTC_CONTROL);
CMOS_WRITE(save_freq_select, RTC_FREQ_SELECT);
+ spin_unlock(&rtc_lock);
return retval;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)