android_kernel_xiaomi_sm8450/arch/m68k
Finn Thain b65769fc01 m68k: Fix off-by-one calendar month
This fixes a bug in read_persistent_clock() which causes the system
clock to lag the Real Time Clock by one month. The problem was noticed
on a Mac, but theoretically it must also affect Atari, BVME6000 and Q40.

The tm_mon value in the struct rtc_time passed to mach_hwclk() is
zero-based, and atari_mste_hwclk(), atari_tt_hwclk(), bvme6000_hwclk(),
mac_hwclk() and q40_hwclk() all make this adjustment. Unfortunately,
dn_dummy_hwclk(), mvme147_hwclk(), mvme16x_hwclk(), sun3_hwclk() and
sun3x_hwclk() fail to decrement tm_mon.  Also m68328_hwclk() assumes
a one-based tm_mon.

Bring these platforms into line and fix read_persistent_clock() so it
works correctly on all m68k platforms.

The datasheets for the RTC devices found on the affected platforms
all confirm that the year is stored as a value in the range 0-99 and
the month is stored as a value in the range 1-12. Please refer to the
datasheets for MC146818 (Apollo), DS1643 (MVME), ICM7170 (Sun 3)
and M48T02 (Sun 3x).

Reported-by: Stan Johnson <userm57@yahoo.com>
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2018-05-22 10:31:50 +02:00
..
68000 m68k: Fix off-by-one calendar month 2018-05-22 10:31:50 +02:00
amiga treewide: Switch DEFINE_TIMER callbacks to struct timer_list * 2017-11-21 15:57:05 -08:00
apollo m68k: Fix off-by-one calendar month 2018-05-22 10:31:50 +02:00
atari m68k/atari: Modernize printing of kernel messages 2017-02-12 10:36:49 +01:00
bvme6000 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
coldfire m68k: set dma and coherent masks for platform FEC ethernets 2018-03-28 22:27:09 +10:00
configs m68k/defconfig: Update defconfigs for v4.16-rc5 2018-03-19 10:26:47 +01:00
emu net: Remove usage of net_device last_rx member 2017-01-18 17:22:49 -05:00
fpsp040 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hp300 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ifpsp060 scripts/spelling.txt: add regsiter -> register spelling mistake 2017-05-08 17:15:13 -07:00
include bug.h: work around GCC PR82365 in BUG() 2018-02-21 15:35:43 -08:00
kernel m68k: Fix off-by-one calendar month 2018-05-22 10:31:50 +02:00
lib License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mac m68k/mac: Fix SWIM memory resource end address 2018-05-22 10:31:13 +02:00
math-emu m68k: Assorted spelling fixes 2016-07-03 14:05:28 +02:00
mm m68k/mm: Stop printing the virtual memory layout 2018-03-19 10:22:59 +01:00
mvme16x m68k: Fix off-by-one calendar month 2018-05-22 10:31:50 +02:00
mvme147 m68k: Fix off-by-one calendar month 2018-05-22 10:31:50 +02:00
q40 m68k/q40: Modernize printing of kernel messages 2017-02-12 10:36:51 +01:00
sun3 m68k: Fix off-by-one calendar month 2018-05-22 10:31:50 +02:00
sun3x m68k: Fix off-by-one calendar month 2018-05-22 10:31:50 +02:00
tools/amiga License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
install.sh kbuild: use INSTALLKERNEL to select customized installkernel script 2009-09-20 12:18:14 +02:00
Kconfig License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig.bus License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig.cpu m68k: allow ColdFire m5441x parts to run with MMU enabled 2017-11-06 08:25:20 +10:00
Kconfig.debug License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig.devices License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig.machine m68k: add Sysam stmark2 open board support 2017-11-07 13:27:38 +10:00
Makefile m68knommu: remove obsolete 68360 support 2016-03-07 10:07:17 +10:00