On Thu, Oct 24, 2019 at 6:57 PM Luck, Tony <tony.luck@xxxxxxxxx> wrote: > > > arch/ia64 has a read_persistent_clock64() function, so it ends up reading > > the system time regardless of the RTC driver or CONFIG_RTC_HCTOSYS. > > > > As ia64 sets neither ARCH_HIBERNATION_POSSIBLE nor > > ARCH_SUSPEND_POSSIBLE, so we could just remove the > > read_persistent_clock64() and efi_gettimeofday(), relying instead > > on user space (/sbin/hwclock) or CONFIG_RTC_HCTOSYS. > > Seems weird. ia64 has always assumed from day 1 that it is running > on a UEFI capable platorm (well at day 1 it was called "EFI", the "U" > came later). > > So read_persistent_clock64() just calls EFI directly to get the time. > > Seems simpler than worrying about having the right drivers and CONFIG > bits set. It would just be a little more consistent. Most architectures cannot implement read_persistent_clock64() or CONFIG_RTC_HCTOSYS when the RTC driver is a loadable module, so distros normally have to set the system time after loading modules already. If some architectures have a reliable platform interface that allows setting the time at early boot, that doesn't mean we have to rely on that. Arnd