diff options
authorLuuk Paulussen <>2016-12-08 11:43:34 +1300
committerRalf Baechle <>2016-12-11 11:19:04 +0100
commitedb6fa1a6452edf736c04d02e3f6de59043df69e (patch)
parent3e5de27e940d00d8d504dfb96625fb654f641509 (diff)
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. Signed-off-by: Luuk Paulussen <> Reviewed-by: Richard Laing <> Reviewed-by: Scott Parlane <> Reviewed-by: Chris Packham <> Cc: Patchwork: Signed-off-by: Ralf Baechle <>
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c
index 8d0170969e22..a7f81261c781 100644
--- a/arch/mips/kernel/time.c
+++ b/arch/mips/kernel/time.c
@@ -36,7 +36,7 @@ EXPORT_SYMBOL(rtc_lock);
int __weak rtc_mips_set_time(unsigned long sec)
- return 0;
+ return -ENODEV;
int __weak rtc_mips_set_mmss(unsigned long nowtime)