summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert+renesas@glider.be>2019-03-20 11:32:14 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-05-16 09:17:18 +0200
commit00a9ea1b3a7dea4242a10dbf07fcbcb7d826e73d (patch)
tree8ff6d6d247b4787a5b8ddfbc1d728eb9804c90a2
parent358e9483e84ac7cfa269856fa560eca307ab57dd (diff)
downloadlinux-stable-00a9ea1b3a7dea4242a10dbf07fcbcb7d826e73d.tar.gz
linux-stable-00a9ea1b3a7dea4242a10dbf07fcbcb7d826e73d.tar.bz2
linux-stable-00a9ea1b3a7dea4242a10dbf07fcbcb7d826e73d.zip
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 <sashal@kernel.org>
-rw-r--r--drivers/rtc/rtc-sh.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c
index d0d2b047658b..dcd5dcae7b3c 100644
--- a/drivers/rtc/rtc-sh.c
+++ b/drivers/rtc/rtc-sh.c
@@ -455,7 +455,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) {