MIPS: Return -ENODEV from weak implementation of rtc_mips_set_time
authorLuuk Paulussen <luuk.paulussen@alliedtelesis.co.nz>
Wed, 7 Dec 2016 22:43:34 +0000 (11:43 +1300)
committerRalf Baechle <ralf@linux-mips.org>
Sun, 11 Dec 2016 10:19:04 +0000 (11:19 +0100)
commitedb6fa1a6452edf736c04d02e3f6de59043df69e
treef854dd896b1e5033a26f305ec9a50a87b1b13939
parent3e5de27e940d00d8d504dfb96625fb654f641509
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 <luuk.paulussen@alliedtelesis.co.nz>
Reviewed-by: Richard Laing <richard.laing@alliedtelesis.co.nz>
Reviewed-by: Scott Parlane <scott.parlane@alliedtelesis.co.nz>
Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/14649/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/time.c