Loading arch/sh/Kconfig +1 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ config SUPERH32 select HAVE_DYNAMIC_FTRACE select HAVE_ARCH_KGDB select ARCH_HIBERNATION_POSSIBLE if MMU select RTC_LIB config SUPERH64 def_bool ARCH = "sh64" Loading arch/sh/include/asm/rtc.h +11 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,17 @@ extern void (*board_time_init)(void); extern void (*rtc_sh_get_time)(struct timespec *); extern int (*rtc_sh_set_time)(const time_t); /* some dummy definitions */ #define RTC_BATT_BAD 0x100 /* battery bad */ #define RTC_SQWE 0x08 /* enable square-wave output */ #define RTC_DM_BINARY 0x04 /* all time/date values are BCD if clear */ #define RTC_24H 0x02 /* 24 hour mode - else hours bit 7 means pm */ #define RTC_DST_EN 0x01 /* auto switch DST - works f. USA only */ struct rtc_time; unsigned int get_rtc_time(struct rtc_time *); int set_rtc_time(struct rtc_time *); #define RTC_CAP_4_DIGIT_YEAR (1 << 0) struct sh_rtc_platform_info { Loading arch/sh/kernel/time_32.c +23 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <linux/mc146818rtc.h> /* for rtc_lock */ #include <linux/platform_device.h> #include <linux/smp.h> #include <linux/rtc.h> #include <asm/clock.h> #include <asm/rtc.h> #include <asm/timer.h> Loading @@ -45,6 +46,28 @@ static int null_rtc_set_time(const time_t secs) void (*rtc_sh_get_time)(struct timespec *) = null_rtc_get_time; int (*rtc_sh_set_time)(const time_t) = null_rtc_set_time; unsigned int get_rtc_time(struct rtc_time *tm) { if (rtc_sh_get_time != null_rtc_get_time) { struct timespec tv; rtc_sh_get_time(&tv); rtc_time_to_tm(tv.tv_sec, tm); } return RTC_24H; } EXPORT_SYMBOL(get_rtc_time); int set_rtc_time(struct rtc_time *tm) { unsigned long secs; rtc_tm_to_time(tm, &secs); return rtc_sh_set_time(secs); } EXPORT_SYMBOL(set_rtc_time); #ifndef CONFIG_GENERIC_TIME void do_gettimeofday(struct timeval *tv) { Loading drivers/rtc/Kconfig +1 −1 Original line number Diff line number Diff line Loading @@ -692,7 +692,7 @@ config RTC_DRV_GENERIC tristate "Generic RTC support" # Please consider writing a new RTC driver instead of using the generic # RTC abstraction depends on PARISC || M68K || PPC depends on PARISC || M68K || PPC || SUPERH32 help Say Y or M here to enable RTC support on systems using the generic RTC abstraction. If you do not know what you are doing, you should Loading Loading
arch/sh/Kconfig +1 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ config SUPERH32 select HAVE_DYNAMIC_FTRACE select HAVE_ARCH_KGDB select ARCH_HIBERNATION_POSSIBLE if MMU select RTC_LIB config SUPERH64 def_bool ARCH = "sh64" Loading
arch/sh/include/asm/rtc.h +11 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,17 @@ extern void (*board_time_init)(void); extern void (*rtc_sh_get_time)(struct timespec *); extern int (*rtc_sh_set_time)(const time_t); /* some dummy definitions */ #define RTC_BATT_BAD 0x100 /* battery bad */ #define RTC_SQWE 0x08 /* enable square-wave output */ #define RTC_DM_BINARY 0x04 /* all time/date values are BCD if clear */ #define RTC_24H 0x02 /* 24 hour mode - else hours bit 7 means pm */ #define RTC_DST_EN 0x01 /* auto switch DST - works f. USA only */ struct rtc_time; unsigned int get_rtc_time(struct rtc_time *); int set_rtc_time(struct rtc_time *); #define RTC_CAP_4_DIGIT_YEAR (1 << 0) struct sh_rtc_platform_info { Loading
arch/sh/kernel/time_32.c +23 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <linux/mc146818rtc.h> /* for rtc_lock */ #include <linux/platform_device.h> #include <linux/smp.h> #include <linux/rtc.h> #include <asm/clock.h> #include <asm/rtc.h> #include <asm/timer.h> Loading @@ -45,6 +46,28 @@ static int null_rtc_set_time(const time_t secs) void (*rtc_sh_get_time)(struct timespec *) = null_rtc_get_time; int (*rtc_sh_set_time)(const time_t) = null_rtc_set_time; unsigned int get_rtc_time(struct rtc_time *tm) { if (rtc_sh_get_time != null_rtc_get_time) { struct timespec tv; rtc_sh_get_time(&tv); rtc_time_to_tm(tv.tv_sec, tm); } return RTC_24H; } EXPORT_SYMBOL(get_rtc_time); int set_rtc_time(struct rtc_time *tm) { unsigned long secs; rtc_tm_to_time(tm, &secs); return rtc_sh_set_time(secs); } EXPORT_SYMBOL(set_rtc_time); #ifndef CONFIG_GENERIC_TIME void do_gettimeofday(struct timeval *tv) { Loading
drivers/rtc/Kconfig +1 −1 Original line number Diff line number Diff line Loading @@ -692,7 +692,7 @@ config RTC_DRV_GENERIC tristate "Generic RTC support" # Please consider writing a new RTC driver instead of using the generic # RTC abstraction depends on PARISC || M68K || PPC depends on PARISC || M68K || PPC || SUPERH32 help Say Y or M here to enable RTC support on systems using the generic RTC abstraction. If you do not know what you are doing, you should Loading