diff options
author | Geoff Levand <geoffrey.levand@am.sony.com> | 2007-10-06 17:35:46 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-10-09 07:01:58 -0400 |
commit | d7b98e3dd87b4512462f6cdfe646a8e59673e62e (patch) | |
tree | e75ad71fca09dd7561528b9e2039ee8f03353b40 /arch/powerpc/platforms/ps3/time.c | |
parent | 418ef2094eb8b0916d6cbda10e2ab857b9f64d97 (diff) |
[POWERPC] PS3: Add os-area rtc_diff set/get routines
Updates for PS3 os-area rtc_diff set/get routines
o Add a new routine ps3_os_area_set_rtc_diff().
o Rename ps3_os_area_rtc_diff() to ps3_os_area_get_rtc_diff().
o Remove static variable rtc_shift with calls to ps3_os_area_get_rtc_diff().
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/ps3/time.c')
-rw-r--r-- | arch/powerpc/platforms/ps3/time.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/arch/powerpc/platforms/ps3/time.c b/arch/powerpc/platforms/ps3/time.c index 802a9ccacb5e..d0daf7d6d3b2 100644 --- a/arch/powerpc/platforms/ps3/time.c +++ b/arch/powerpc/platforms/ps3/time.c | |||
@@ -50,12 +50,6 @@ static void __maybe_unused _dump_time(int time, const char *func, | |||
50 | _dump_tm(&tm, func, line); | 50 | _dump_tm(&tm, func, line); |
51 | } | 51 | } |
52 | 52 | ||
53 | /** | ||
54 | * rtc_shift - Difference in seconds between 1970 and the ps3 rtc value. | ||
55 | */ | ||
56 | |||
57 | static s64 rtc_shift; | ||
58 | |||
59 | void __init ps3_calibrate_decr(void) | 53 | void __init ps3_calibrate_decr(void) |
60 | { | 54 | { |
61 | int result; | 55 | int result; |
@@ -66,8 +60,6 @@ void __init ps3_calibrate_decr(void) | |||
66 | 60 | ||
67 | ppc_tb_freq = tmp; | 61 | ppc_tb_freq = tmp; |
68 | ppc_proc_freq = ppc_tb_freq * 40; | 62 | ppc_proc_freq = ppc_tb_freq * 40; |
69 | |||
70 | rtc_shift = ps3_os_area_rtc_diff(); | ||
71 | } | 63 | } |
72 | 64 | ||
73 | static u64 read_rtc(void) | 65 | static u64 read_rtc(void) |
@@ -87,18 +79,18 @@ int ps3_set_rtc_time(struct rtc_time *tm) | |||
87 | u64 now = mktime(tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, | 79 | u64 now = mktime(tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, |
88 | tm->tm_hour, tm->tm_min, tm->tm_sec); | 80 | tm->tm_hour, tm->tm_min, tm->tm_sec); |
89 | 81 | ||
90 | rtc_shift = now - read_rtc(); | 82 | ps3_os_area_set_rtc_diff(now - read_rtc()); |
91 | return 0; | 83 | return 0; |
92 | } | 84 | } |
93 | 85 | ||
94 | void ps3_get_rtc_time(struct rtc_time *tm) | 86 | void ps3_get_rtc_time(struct rtc_time *tm) |
95 | { | 87 | { |
96 | to_tm(read_rtc() + rtc_shift, tm); | 88 | to_tm(read_rtc() + ps3_os_area_get_rtc_diff(), tm); |
97 | tm->tm_year -= 1900; | 89 | tm->tm_year -= 1900; |
98 | tm->tm_mon -= 1; | 90 | tm->tm_mon -= 1; |
99 | } | 91 | } |
100 | 92 | ||
101 | unsigned long __init ps3_get_boot_time(void) | 93 | unsigned long __init ps3_get_boot_time(void) |
102 | { | 94 | { |
103 | return read_rtc() + rtc_shift; | 95 | return read_rtc() + ps3_os_area_get_rtc_diff(); |
104 | } | 96 | } |