diff options
author | Geert Uytterhoeven <geert+renesas@glider.be> | 2019-03-20 11:32:14 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-05-08 07:21:46 +0200 |
commit | 8a734e251c0c5e2f8750b375aefb2ecbf6395b55 (patch) | |
tree | 49fcf64abb91f0ab03f5f98c7c9cf640b0d6a12c /drivers/rtc | |
parent | 5b5c653ddf919ab94629ef470f43d4996f369b61 (diff) | |
download | linux-stable-8a734e251c0c5e2f8750b375aefb2ecbf6395b55.tar.gz linux-stable-8a734e251c0c5e2f8750b375aefb2ecbf6395b55.tar.bz2 linux-stable-8a734e251c0c5e2f8750b375aefb2ecbf6395b55.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>
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/rtc-sh.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c index 51ba414798a8..3d7414e5ed35 100644 --- a/drivers/rtc/rtc-sh.c +++ b/drivers/rtc/rtc-sh.c @@ -377,7 +377,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) { |