Message ID | 20191116110548.8562-1-jongk@linux-m68k.org |
---|---|
State | Accepted |
Headers | show |
Series | rtc: msm6242: Fix reading of 10-hour digit | expand |
Forgot to add: Fixes: 4f9b9bba1dd1 ("rtc: Add an RTC driver for the Oki MSM6242") Op za 16 nov. 2019 om 12:06 schreef Kars de Jong <jongk@linux-m68k.org>: > > 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. > > Cc: Geert Uytterhoeven <geert@linux-m68k.org> > Tested-by: Kars de Jong <jongk@linux-m68k.org> > Signed-off-by: Kars de Jong <jongk@linux-m68k.org>
On Sat, Nov 16, 2019 at 12:06 PM Kars de Jong <jongk@linux-m68k.org> wrote: > 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. > > Cc: Geert Uytterhoeven <geert@linux-m68k.org> > Tested-by: Kars de Jong <jongk@linux-m68k.org> > Signed-off-by: Kars de Jong <jongk@linux-m68k.org> Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> Gr{oetje,eeting}s, Geert
On 16/11/2019 12:05:48+0100, Kars de Jong wrote: > 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. > > Cc: Geert Uytterhoeven <geert@linux-m68k.org> > Tested-by: Kars de Jong <jongk@linux-m68k.org> > Signed-off-by: Kars de Jong <jongk@linux-m68k.org> > --- > drivers/rtc/rtc-msm6242.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > Applied, thanks.
diff --git a/drivers/rtc/rtc-msm6242.c b/drivers/rtc/rtc-msm6242.c index 1c2d3c4a4963..b1f2bedee77e 100644 --- a/drivers/rtc/rtc-msm6242.c +++ b/drivers/rtc/rtc-msm6242.c @@ -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);