Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d134b9e authored by Paul Mundt's avatar Paul Mundt
Browse files

sh: Wire up GENERIC_CMOS_UPDATE for the platforms that need it.



Now that everything has converted over to generic timekeeping, we need an
alternate method for keeping the RTC updated for those platforms that are
still using the rtc_sh_get/set_time pairs, presently limited to SH-03 and
the Dreamcast. This wires up the GENERIC_CMOS_UPDATE hooks for those to
maintain the same behaviour.

Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent b179b72f
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -83,6 +83,10 @@ config GENERIC_CLOCKEVENTS
config GENERIC_CLOCKEVENTS_BROADCAST
	bool

config GENERIC_CMOS_UPDATE
	def_bool y
	depends on SH_SH03 || SH_DREAMCAST

config GENERIC_LOCKBREAK
	def_bool y
	depends on SMP && PREEMPT
+14 −0
Original line number Diff line number Diff line
@@ -46,6 +46,20 @@ 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;

#ifdef CONFIG_GENERIC_CMOS_UPDATE
unsigned long read_persistent_clock(void)
{
	struct timespec tv;
	rtc_sh_get_time(&tv);
	return tv.tv_sec;
}

int update_persistent_clock(struct timespec now)
{
	return rtc_sh_set_time(now.tv_sec);
}
#endif

unsigned int get_rtc_time(struct rtc_time *tm)
{
	if (rtc_sh_get_time != null_rtc_get_time) {