]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
rtc: msm6242: Fix reading of 10-hour digit
authorKars de Jong <jongk@linux-m68k.org>
Sat, 16 Nov 2019 11:05:48 +0000 (12:05 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Mon, 18 Nov 2019 14:20:20 +0000 (15:20 +0100)
The driver was reading the wrong register as the 10-hour digit due to
a misplaced ')'. It was in fact reading the 1-second digit register due
to this bug.

Also remove the use of a magic number for the hour mask and use the define
for it which was already present.

Fixes: 4f9b9bba1dd1 ("rtc: Add an RTC driver for the Oki MSM6242")
Tested-by: Kars de Jong <jongk@linux-m68k.org>
Signed-off-by: Kars de Jong <jongk@linux-m68k.org>
Link: https://lore.kernel.org/r/20191116110548.8562-1-jongk@linux-m68k.org
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-msm6242.c

index 1c2d3c4a49638b6414202f5a5b5045dcea7b6a1d..b1f2bedee77e2176d19cc2ceb96914bb165239b2 100644 (file)
@@ -133,7 +133,8 @@ static int msm6242_read_time(struct device *dev, struct rtc_time *tm)
                      msm6242_read(priv, MSM6242_SECOND1);
        tm->tm_min  = msm6242_read(priv, MSM6242_MINUTE10) * 10 +
                      msm6242_read(priv, MSM6242_MINUTE1);
-       tm->tm_hour = (msm6242_read(priv, MSM6242_HOUR10 & 3)) * 10 +
+       tm->tm_hour = (msm6242_read(priv, MSM6242_HOUR10) &
+                      MSM6242_HOUR10_HR_MASK) * 10 +
                      msm6242_read(priv, MSM6242_HOUR1);
        tm->tm_mday = msm6242_read(priv, MSM6242_DAY10) * 10 +
                      msm6242_read(priv, MSM6242_DAY1);