aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/rtas-rtc.c
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2005-11-17 23:52:38 -0500
committerPaul Mackerras <paulus@samba.org>2005-11-17 23:52:38 -0500
commit49e16b7becd6320bde51aa238c11815708f836d9 (patch)
tree38f6159992e890abe1134cecfff36b94146b4065 /arch/powerpc/kernel/rtas-rtc.c
parent6146eed1e972a7de93ce2e36adc5812de81e879c (diff)
powerpc: time-of-day fixes for 32-bit CHRP systems
This makes 32-bit CHRP systems use the RTAS time-of-day routines if available. It fixes a bug in the RTAS time-of-day routines where they were storing a 64-bit timebase value in an unsigned long by making those variables u64. Also, the direct-access time-of-day routines had the wrong convention for the month and year in the struct rtc_time. Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/rtas-rtc.c')
-rw-r--r--arch/powerpc/kernel/rtas-rtc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/rtas-rtc.c b/arch/powerpc/kernel/rtas-rtc.c
index 7b948662704c..635d3b9a8811 100644
--- a/arch/powerpc/kernel/rtas-rtc.c
+++ b/arch/powerpc/kernel/rtas-rtc.c
@@ -15,7 +15,7 @@ unsigned long __init rtas_get_boot_time(void)
15{ 15{
16 int ret[8]; 16 int ret[8];
17 int error, wait_time; 17 int error, wait_time;
18 unsigned long max_wait_tb; 18 u64 max_wait_tb;
19 19
20 max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT; 20 max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT;
21 do { 21 do {
@@ -45,7 +45,7 @@ void rtas_get_rtc_time(struct rtc_time *rtc_tm)
45{ 45{
46 int ret[8]; 46 int ret[8];
47 int error, wait_time; 47 int error, wait_time;
48 unsigned long max_wait_tb; 48 u64 max_wait_tb;
49 49
50 max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT; 50 max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT;
51 do { 51 do {
@@ -80,7 +80,7 @@ void rtas_get_rtc_time(struct rtc_time *rtc_tm)
80int rtas_set_rtc_time(struct rtc_time *tm) 80int rtas_set_rtc_time(struct rtc_time *tm)
81{ 81{
82 int error, wait_time; 82 int error, wait_time;
83 unsigned long max_wait_tb; 83 u64 max_wait_tb;
84 84
85 max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT; 85 max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT;
86 do { 86 do {