diff options
Diffstat (limited to 'arch/sh/kernel')
-rw-r--r-- | arch/sh/kernel/time_32.c | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/arch/sh/kernel/time_32.c b/arch/sh/kernel/time_32.c index 109409f5ca53..a2458bfdda26 100644 --- a/arch/sh/kernel/time_32.c +++ b/arch/sh/kernel/time_32.c | |||
@@ -237,21 +237,8 @@ unsigned long long sched_clock(void) | |||
237 | } | 237 | } |
238 | #endif | 238 | #endif |
239 | 239 | ||
240 | void __init time_init(void) | 240 | static void __init sh_late_time_init(void) |
241 | { | 241 | { |
242 | if (board_time_init) | ||
243 | board_time_init(); | ||
244 | |||
245 | clk_init(); | ||
246 | |||
247 | rtc_sh_get_time(&xtime); | ||
248 | set_normalized_timespec(&wall_to_monotonic, | ||
249 | -xtime.tv_sec, -xtime.tv_nsec); | ||
250 | |||
251 | #ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST | ||
252 | local_timer_setup(smp_processor_id()); | ||
253 | #endif | ||
254 | |||
255 | /* | 242 | /* |
256 | * Make sure all compiled-in early timers register themselves. | 243 | * Make sure all compiled-in early timers register themselves. |
257 | * Run probe() for one "earlytimer" device. | 244 | * Run probe() for one "earlytimer" device. |
@@ -270,3 +257,22 @@ void __init time_init(void) | |||
270 | 257 | ||
271 | printk(KERN_INFO "Using %s for system timer\n", sys_timer->name); | 258 | printk(KERN_INFO "Using %s for system timer\n", sys_timer->name); |
272 | } | 259 | } |
260 | |||
261 | void __init time_init(void) | ||
262 | { | ||
263 | if (board_time_init) | ||
264 | board_time_init(); | ||
265 | |||
266 | clk_init(); | ||
267 | |||
268 | rtc_sh_get_time(&xtime); | ||
269 | set_normalized_timespec(&wall_to_monotonic, | ||
270 | -xtime.tv_sec, -xtime.tv_nsec); | ||
271 | |||
272 | #ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST | ||
273 | local_timer_setup(smp_processor_id()); | ||
274 | #endif | ||
275 | |||
276 | late_time_init = sh_late_time_init; | ||
277 | } | ||
278 | |||