Commit edb6fa1a authored by Luuk Paulussen's avatar Luuk Paulussen Committed by Ralf Baechle

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: default avatarLuuk Paulussen <luuk.paulussen@alliedtelesis.co.nz>
Reviewed-by: default avatarRichard Laing <richard.laing@alliedtelesis.co.nz>
Reviewed-by: default avatarScott Parlane <scott.parlane@alliedtelesis.co.nz>
Reviewed-by: default avatarChris Packham <chris.packham@alliedtelesis.co.nz>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/14649/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 3e5de27e
...@@ -36,7 +36,7 @@ EXPORT_SYMBOL(rtc_lock); ...@@ -36,7 +36,7 @@ EXPORT_SYMBOL(rtc_lock);
int __weak rtc_mips_set_time(unsigned long sec) int __weak rtc_mips_set_time(unsigned long sec)
{ {
return 0; return -ENODEV;
} }
int __weak rtc_mips_set_mmss(unsigned long nowtime) int __weak rtc_mips_set_mmss(unsigned long nowtime)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment