patch-2.4.5 linux/arch/ppc/kernel/prep_time.c
Next file: linux/arch/ppc/kernel/proc_rtas.c
Previous file: linux/arch/ppc/kernel/prep_setup.c
Back to the patch index
Back to the overall index
- Lines: 50
- Date:
Mon May 21 17:04:47 2001
- Orig file:
v2.4.4/linux/arch/ppc/kernel/prep_time.c
- Orig date:
Sun Sep 17 09:48:07 2000
diff -u --recursive --new-file v2.4.4/linux/arch/ppc/kernel/prep_time.c linux/arch/ppc/kernel/prep_time.c
@@ -1,4 +1,7 @@
/*
+ * BK Id: SCCS/s.prep_time.c 1.7 05/17/01 18:14:22 cort
+ */
+/*
* linux/arch/i386/kernel/time.c
*
* Copyright (C) 1991, 1992, 1995 Linus Torvalds
@@ -30,6 +33,8 @@
#include <asm/time.h>
+extern spinlock_t rtc_lock;
+
/*
* The motorola uses the m48t18 rtc (includes DS1643) whose registers
* are at a higher end of nvram (1ff8-1fff) than the ibm mc146818
@@ -55,6 +60,7 @@
unsigned char save_control, save_freq_select;
struct rtc_time tm;
+ spin_lock(&rtc_lock);
to_tm(nowtime, &tm);
/* tell the clock it's being set */
@@ -92,6 +98,7 @@
*/
CMOS_WRITE(save_control, RTC_CONTROL);
CMOS_WRITE(save_freq_select, RTC_FREQ_SELECT);
+ spin_unlock(&rtc_lock);
return 0;
}
@@ -149,7 +156,7 @@
unsigned char save_control;
struct rtc_time tm;
-
+ spin_lock(&rtc_lock);
to_tm(nowtime, &tm);
/* tell the clock it's being written */
@@ -175,6 +182,7 @@
/* Turn off the write bit. */
ppc_md.nvram_write_val(MK48T59_RTC_CONTROLA, save_control);
+ spin_unlock(&rtc_lock);
return 0;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)