Commit 15d82d22 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Alexandre Belloni

rtc: sh: Fix invalid alarm warning for non-enabled alarm

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: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent d6752e18
...@@ -374,7 +374,7 @@ static int sh_rtc_set_time(struct device *dev, struct rtc_time *tm) ...@@ -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) static inline int sh_rtc_read_alarm_value(struct sh_rtc *rtc, int reg_off)
{ {
unsigned int byte; 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); byte = readb(rtc->regbase + reg_off);
if (byte & AR_ENB) { if (byte & AR_ENB) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment