diff options
author | Richard Henderson <rth@twiddle.net> | 2013-07-13 18:49:45 -0400 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2013-11-16 19:33:16 -0500 |
commit | 85d0b3a573d8b711ee0c96199ac24a0f3283ed68 (patch) | |
tree | e3ccfb8221bac388dc44fcc068ab1b32f67839a3 /drivers/rtc | |
parent | 7f3bbb82e0c371d6881129f776c90130ba66f051 (diff) |
alpha: Reorganize rtc handling
Discontinue use of GENERIC_CMOS_UPDATE; rely on the RTC subsystem.
The marvel platform requires that the rtc only be touched from the
boot cpu. This had been partially implemented with hooks for
get/set_rtc_time, but read/update_persistent_clock were not handled.
Move the hooks from the machine_vec to a special rtc_class_ops struct.
We had read_persistent_clock managing the epoch against which the
rtc hw is based, but this didn't apply to get_rtc_time or set_rtc_time.
This resulted in incorrect values when hwclock(8) gets involved.
Allow the epoch to be set from the kernel command-line, overriding
the autodetection, which is doomed to fail in 2020. Further, by
implementing the rtc ioctl function, we can expose this epoch to
userland.
Elide the alarm functions that RTC_DRV_CMOS implements. This was
highly questionable on Alpha, since the interrupt is used by the
system timer.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/Kconfig | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index 15f166a470a7..007730222116 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig | |||
@@ -626,7 +626,7 @@ comment "Platform RTC drivers" | |||
626 | 626 | ||
627 | config RTC_DRV_CMOS | 627 | config RTC_DRV_CMOS |
628 | tristate "PC-style 'CMOS'" | 628 | tristate "PC-style 'CMOS'" |
629 | depends on X86 || ALPHA || ARM || M32R || ATARI || PPC || MIPS || SPARC64 | 629 | depends on X86 || ARM || M32R || ATARI || PPC || MIPS || SPARC64 |
630 | default y if X86 | 630 | default y if X86 |
631 | help | 631 | help |
632 | Say "yes" here to get direct support for the real time clock | 632 | Say "yes" here to get direct support for the real time clock |
@@ -643,6 +643,14 @@ config RTC_DRV_CMOS | |||
643 | This driver can also be built as a module. If so, the module | 643 | This driver can also be built as a module. If so, the module |
644 | will be called rtc-cmos. | 644 | will be called rtc-cmos. |
645 | 645 | ||
646 | config RTC_DRV_ALPHA | ||
647 | bool "Alpha PC-style CMOS" | ||
648 | depends on ALPHA | ||
649 | default y | ||
650 | help | ||
651 | Direct support for the real-time clock found on every Alpha | ||
652 | system, specifically MC146818 compatibles. If in doubt, say Y. | ||
653 | |||
646 | config RTC_DRV_VRTC | 654 | config RTC_DRV_VRTC |
647 | tristate "Virtual RTC for Intel MID platforms" | 655 | tristate "Virtual RTC for Intel MID platforms" |
648 | depends on X86_INTEL_MID | 656 | depends on X86_INTEL_MID |