|
@@ -73,21 +73,24 @@ static irqreturn_t timer_interrupt(int irq, void *dummy)
|
|
|
return IRQ_HANDLED;
|
|
|
}
|
|
|
|
|
|
-void __init time_init(void)
|
|
|
+void read_persistent_clock(struct timespec *ts)
|
|
|
{
|
|
|
struct rtc_time time;
|
|
|
+ ts->tv_sec = 0;
|
|
|
+ ts->tv_nsec = 0;
|
|
|
|
|
|
if (mach_hwclk) {
|
|
|
mach_hwclk(0, &time);
|
|
|
|
|
|
if ((time.tm_year += 1900) < 1970)
|
|
|
time.tm_year += 100;
|
|
|
- xtime.tv_sec = mktime(time.tm_year, time.tm_mon, time.tm_mday,
|
|
|
+ ts->tv_sec = mktime(time.tm_year, time.tm_mon, time.tm_mday,
|
|
|
time.tm_hour, time.tm_min, time.tm_sec);
|
|
|
- xtime.tv_nsec = 0;
|
|
|
}
|
|
|
- wall_to_monotonic.tv_sec = -xtime.tv_sec;
|
|
|
+}
|
|
|
|
|
|
+void __init time_init(void)
|
|
|
+{
|
|
|
mach_sched_init(timer_interrupt);
|
|
|
}
|
|
|
|