• Richard Henderson's avatar
    alpha: Reorganize rtc handling · 85d0b3a5
    Richard Henderson authored
    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: default avatarRichard Henderson <rth@twiddle.net>
    85d0b3a5
time.c 10.3 KB