void __init time_init(void) { #ifdef CONFIG_RTC_DRV_BFIN /* [#2663] hack to filter junk RTC values that would cause * userspace to have to deal with time values greater than * 2^31 seconds (which uClibc cannot cope with yet) */ if ((bfin_read_RTC_STAT() & 0xC0000000) == 0xC0000000) { printk(KERN_NOTICE "bfin-rtc: invalid date; resetting\n"); bfin_write_RTC_STAT(0); } #endif time_sched_init(timer_interrupt); }
void time_init(void) { #ifdef CONFIG_BFIN_HAVE_RTC time_t secs_since_1970 = 0; /* Initialize the RTC sub-system */ rtc_init(); /* Retrieve calendar time (secs since Jan 1970) */ rtc_get(&secs_since_1970); #else time_t secs_since_1970 = (365 * 35 + 9) * 24 * 3600; /* 1 Jan 2005 */ #endif /* Initialize xtime. From now on, xtime is updated with timer interrupts */ xtime.tv_sec = secs_since_1970; xtime.tv_nsec = 0; wall_to_monotonic.tv_sec = -xtime.tv_sec; time_sched_init(timer_interrupt); }
void __init time_init(void) { time_t secs_since_1970 = (365 * 37 + 9) * 24 * 60 * 60; /* 1 Jan 2007 */ #ifdef CONFIG_RTC_DRV_BFIN /* [#2663] hack to filter junk RTC values that would cause * userspace to have to deal with time values greater than * 2^31 seconds (which uClibc cannot cope with yet) */ if ((bfin_read_RTC_STAT() & 0xC0000000) == 0xC0000000) { printk(KERN_NOTICE "bfin-rtc: invalid date; resetting\n"); bfin_write_RTC_STAT(0); } #endif /* Initialize xtime. From now on, xtime is updated with timer interrupts */ xtime.tv_sec = secs_since_1970; xtime.tv_nsec = 0; wall_to_monotonic.tv_sec = -xtime.tv_sec; time_sched_init(timer_interrupt); }