[POWERPC] Add powerpc get/set_rtc_time interface to new generic rtc class

Add powerpc get/set_rtc_time interface to new generic rtc class. This
abstracts rtc chip specific code from the platform code for rtc-over-i2c
platforms.  Specific RTC chip support is now configured under
Device Drivers -> Real Time Clock. Setting time of day from the RTC
on startup is also configurable.

this time without the potentially platform breaking initcall.

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Kim Phillips
2006-09-26 17:46:37 -05:00
committed by Paul Mackerras
parent 2bf118197c
commit 7a69af63e7
2 changed files with 47 additions and 1 deletions

View File

@ -1048,6 +1048,48 @@ void __init time_init(void)
set_dec(tb_ticks_per_jiffy);
}
#ifdef CONFIG_RTC_CLASS
static int set_rtc_class_time(struct rtc_time *tm)
{
int err;
struct class_device *class_dev =
rtc_class_open(CONFIG_RTC_HCTOSYS_DEVICE);
if (class_dev == NULL)
return -ENODEV;
err = rtc_set_time(class_dev, tm);
rtc_class_close(class_dev);
return 0;
}
static void get_rtc_class_time(struct rtc_time *tm)
{
int err;
struct class_device *class_dev =
rtc_class_open(CONFIG_RTC_HCTOSYS_DEVICE);
if (class_dev == NULL)
return;
err = rtc_read_time(class_dev, tm);
rtc_class_close(class_dev);
return;
}
int __init rtc_class_hookup(void)
{
ppc_md.get_rtc_time = get_rtc_class_time;
ppc_md.set_rtc_time = set_rtc_class_time;
return 0;
}
#endif /* CONFIG_RTC_CLASS */
#define FEBRUARY 2
#define STARTOFTIME 1970