| From 49c41cbcd9f37ea5b8382625ad9f3f169f73c287 Mon Sep 17 00:00:00 2001 |
| From: Geert Uytterhoeven <geert+renesas@glider.be> |
| Date: Wed, 20 Mar 2019 11:32:14 +0100 |
| Subject: rtc: sh: Fix invalid alarm warning for non-enabled alarm |
| |
| [ Upstream commit 15d82d22498784966df8e4696174a16b02cc1052 ] |
| |
| When no alarm has been programmed on RSK-RZA1, an error message is |
| printed during boot: |
| |
| rtc rtc0: invalid alarm value: 2019-03-14T255:255:255 |
| |
| sh_rtc_read_alarm_value() returns 0xff when querying a hardware alarm |
| field that is not enabled. __rtc_read_alarm() validates the received |
| alarm values, and fills in missing fields when needed. |
| While 0xff is handled fine for the year, month, and day fields, and |
| corrected as considered being out-of-range, this is not the case for the |
| hour, minute, and second fields, where -1 is expected for missing |
| fields. |
| |
| Fix this by returning -1 instead, as this value is handled fine for all |
| fields. |
| |
| Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> |
| Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> |
| Signed-off-by: Sasha Levin (Microsoft) <sashal@kernel.org> |
| --- |
| drivers/rtc/rtc-sh.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c |
| index d417b203cbc5..1d3de2a3d1a4 100644 |
| --- a/drivers/rtc/rtc-sh.c |
| +++ b/drivers/rtc/rtc-sh.c |
| @@ -374,7 +374,7 @@ static int sh_rtc_set_time(struct device *dev, struct rtc_time *tm) |
| static inline int sh_rtc_read_alarm_value(struct sh_rtc *rtc, int reg_off) |
| { |
| unsigned int byte; |
| - int value = 0xff; /* return 0xff for ignored values */ |
| + int value = -1; /* return -1 for ignored values */ |
| |
| byte = readb(rtc->regbase + reg_off); |
| if (byte & AR_ENB) { |
| -- |
| 2.20.1 |
| |