summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/rtas-rtc.c
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2005-11-18 15:52:38 +1100
committerPaul Mackerras <paulus@samba.org>2005-11-18 15:52:38 +1100
commit49e16b7becd6320bde51aa238c11815708f836d9 (patch)
tree38f6159992e890abe1134cecfff36b94146b4065 /arch/powerpc/kernel/rtas-rtc.c
parent6146eed1e972a7de93ce2e36adc5812de81e879c (diff)
downloadblackbird-op-linux-49e16b7becd6320bde51aa238c11815708f836d9.tar.gz
blackbird-op-linux-49e16b7becd6320bde51aa238c11815708f836d9.zip
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)
{
int ret[8];
int error, wait_time;
- unsigned long max_wait_tb;
+ u64 max_wait_tb;
max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT;
do {
@@ -45,7 +45,7 @@ void rtas_get_rtc_time(struct rtc_time *rtc_tm)
{
int ret[8];
int error, wait_time;
- unsigned long max_wait_tb;
+ u64 max_wait_tb;
max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT;
do {
@@ -80,7 +80,7 @@ void rtas_get_rtc_time(struct rtc_time *rtc_tm)
int rtas_set_rtc_time(struct rtc_time *tm)
{
int error, wait_time;
- unsigned long max_wait_tb;
+ u64 max_wait_tb;
max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT;
do {
OpenPOWER on IntegriCloud