diff options
author | Paul Mackerras <paulus@samba.org> | 2005-11-17 23:52:38 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-11-17 23:52:38 -0500 |
commit | 49e16b7becd6320bde51aa238c11815708f836d9 (patch) | |
tree | 38f6159992e890abe1134cecfff36b94146b4065 /arch/powerpc/kernel/rtas-rtc.c | |
parent | 6146eed1e972a7de93ce2e36adc5812de81e879c (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.c | 6 |
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) | |||
80 | int rtas_set_rtc_time(struct rtc_time *tm) | 80 | int 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 { |