CRIS: Remove legacy RTC drivers
These old drivers are not used anymore, we use the ones in drivers/rtc. This allows us to remove some cruft in the CRIS timekeeping code. Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
This commit is contained in:
@@ -21,7 +21,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <asm/rtc.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/param.h>
|
||||
@@ -32,7 +31,8 @@
|
||||
#include <linux/profile.h>
|
||||
#include <linux/sched.h> /* just for sched_clock() - funny that */
|
||||
|
||||
int have_rtc; /* used to remember if we have an RTC or not */;
|
||||
|
||||
#define D(x)
|
||||
|
||||
#define TICK_SIZE tick
|
||||
|
||||
@@ -50,78 +50,16 @@ u32 arch_gettimeoffset(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* BUG: This routine does not handle hour overflow properly; it just
|
||||
* sets the minutes. Usually you'll only notice that after reboot!
|
||||
*/
|
||||
|
||||
int set_rtc_mmss(unsigned long nowtime)
|
||||
{
|
||||
int retval = 0;
|
||||
int real_seconds, real_minutes, cmos_minutes;
|
||||
|
||||
printk(KERN_DEBUG "set_rtc_mmss(%lu)\n", nowtime);
|
||||
|
||||
if(!have_rtc)
|
||||
return 0;
|
||||
|
||||
cmos_minutes = CMOS_READ(RTC_MINUTES);
|
||||
cmos_minutes = bcd2bin(cmos_minutes);
|
||||
|
||||
/*
|
||||
* since we're only adjusting minutes and seconds,
|
||||
* don't interfere with hour overflow. This avoids
|
||||
* messing with unknown time zones but requires your
|
||||
* RTC not to be off by more than 15 minutes
|
||||
*/
|
||||
real_seconds = nowtime % 60;
|
||||
real_minutes = nowtime / 60;
|
||||
if (((abs(real_minutes - cmos_minutes) + 15)/30) & 1)
|
||||
real_minutes += 30; /* correct for half hour time zone */
|
||||
real_minutes %= 60;
|
||||
|
||||
if (abs(real_minutes - cmos_minutes) < 30) {
|
||||
real_seconds = bin2bcd(real_seconds);
|
||||
real_minutes = bin2bcd(real_minutes);
|
||||
CMOS_WRITE(real_seconds,RTC_SECONDS);
|
||||
CMOS_WRITE(real_minutes,RTC_MINUTES);
|
||||
} else {
|
||||
printk_once(KERN_NOTICE
|
||||
"set_rtc_mmss: can't update from %d to %d\n",
|
||||
cmos_minutes, real_minutes);
|
||||
retval = -1;
|
||||
}
|
||||
|
||||
return retval;
|
||||
D(printk(KERN_DEBUG "set_rtc_mmss(%lu)\n", nowtime));
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* grab the time from the RTC chip */
|
||||
|
||||
unsigned long
|
||||
get_cmos_time(void)
|
||||
unsigned long get_cmos_time(void)
|
||||
{
|
||||
unsigned int year, mon, day, hour, min, sec;
|
||||
if(!have_rtc)
|
||||
return 0;
|
||||
|
||||
sec = CMOS_READ(RTC_SECONDS);
|
||||
min = CMOS_READ(RTC_MINUTES);
|
||||
hour = CMOS_READ(RTC_HOURS);
|
||||
day = CMOS_READ(RTC_DAY_OF_MONTH);
|
||||
mon = CMOS_READ(RTC_MONTH);
|
||||
year = CMOS_READ(RTC_YEAR);
|
||||
|
||||
sec = bcd2bin(sec);
|
||||
min = bcd2bin(min);
|
||||
hour = bcd2bin(hour);
|
||||
day = bcd2bin(day);
|
||||
mon = bcd2bin(mon);
|
||||
year = bcd2bin(year);
|
||||
|
||||
if ((year += 1900) < 1970)
|
||||
year += 100;
|
||||
|
||||
return mktime(year, mon, day, hour, min, sec);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -132,7 +70,7 @@ int update_persistent_clock(struct timespec now)
|
||||
|
||||
void read_persistent_clock(struct timespec *ts)
|
||||
{
|
||||
ts->tv_sec = get_cmos_time();
|
||||
ts->tv_sec = 0;
|
||||
ts->tv_nsec = 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user