patch-2.4.9 linux/arch/arm/mach-integrator/time.c

Next file: linux/arch/arm/mach-sa1100/Makefile
Previous file: linux/arch/arm/mach-integrator/pci_v3.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.8/linux/arch/arm/mach-integrator/time.c linux/arch/arm/mach-integrator/time.c
@@ -1,7 +1,7 @@
 /*
  *  linux/arch/arm/mach-integrator/time.c
  *
- *  Copyright (C) 2000 Deep Blue Solutions
+ *  Copyright (C) 2000-2001 Deep Blue Solutions
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -12,13 +12,14 @@
 #include <linux/init.h>
 
 #include <asm/hardware.h>
+#include <asm/io.h>
 
-#define RTC_DR		(*(unsigned long *)(IO_ADDRESS(INTEGRATOR_RTC_BASE) + 0))
-#define RTC_MR		(*(unsigned long *)(IO_ADDRESS(INTEGRATOR_RTC_BASE) + 4))
-#define RTC_STAT	(*(unsigned long *)(IO_ADDRESS(INTEGRATOR_RTC_BASE) + 8))
-#define RTC_EOI		(*(unsigned long *)(IO_ADDRESS(INTEGRATOR_RTC_BASE) + 8))
-#define RTC_LR		(*(unsigned long *)(IO_ADDRESS(INTEGRATOR_RTC_BASE) + 12))
-#define RTC_CR		(*(unsigned long *)(IO_ADDRESS(INTEGRATOR_RTC_BASE) + 16))
+#define RTC_DR		(IO_ADDRESS(INTEGRATOR_RTC_BASE) + 0)
+#define RTC_MR		(IO_ADDRESS(INTEGRATOR_RTC_BASE) + 4)
+#define RTC_STAT	(IO_ADDRESS(INTEGRATOR_RTC_BASE) + 8)
+#define RTC_EOI		(IO_ADDRESS(INTEGRATOR_RTC_BASE) + 8)
+#define RTC_LR		(IO_ADDRESS(INTEGRATOR_RTC_BASE) + 12)
+#define RTC_CR		(IO_ADDRESS(INTEGRATOR_RTC_BASE) + 16)
 
 #define RTC_CR_MIE	0x00000001
 
@@ -26,16 +27,16 @@
 
 static int integrator_set_rtc(void)
 {
-	RTC_LR = xtime.tv_sec;
+	__raw_writel(xtime.tv_sec, RTC_LR);
 	return 1;
 }
 
 static int integrator_rtc_init(void)
 {
-	RTC_CR = 0;
-	RTC_EOI = 0;
+	__raw_writel(0, RTC_CR);
+	__raw_writel(0, RTC_EOI);
 
-	xtime.tv_sec = RTC_DR;
+	xtime.tv_sec = __raw_readl(RTC_DR);
 
 	set_rtc = integrator_set_rtc;
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)