History

MIPS: Return -ENODEV from weak implementation of rtc_mips_set_time

The sync_cmos_clock function in kernel/time/ntp.c first tries to update the internal clock of the cpu by calling the "update_persistent_clock64" architecture specific function. If this returns -ENODEV, it then tries to update an external RTC using "rtc_set_ntp_time". On the mips architecture, the weak implementation of the underlying function would return 0 if it wasn't overridden. This meant that the sync_cmos_clock function would never try to update an external RTC (if both CONFIG_GENERIC_CMOS_UPDATE and CONFIG_RTC_SYSTOHC are configured) Returning -ENODEV instead, means that an external RTC will be tried.

Luuk Paulussen committed 9 years ago

Commit edb6fa11 parent 3e5de271 file · +1 −1Browse files

Unified · Split

arch/mips/kernel/time.c+1−1
@@ -36,7 +36,7 @@ EXPORT_SYMBOL(rtc_lock); · 35 unmodified lines
36 36
37int __weak rtc_mips_set_time(unsigned long sec)37int __weak rtc_mips_set_time(unsigned long sec)
38{38{
39 return 0;39 return -ENODEV;
40}40}
41 41
42int __weak rtc_mips_set_mmss(unsigned long nowtime)42int __weak rtc_mips_set_mmss(unsigned long nowtime)