rtc: rx8010: use range checking provided by core RTC code
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Mon, 14 Sep 2020 15:46:01 +0000 (17:46 +0200)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Tue, 15 Sep 2020 08:50:38 +0000 (10:50 +0200)
We don't need to check the time range manually in set_time(), we can
use range_min and range_max exposed by struct rtc_device.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20200914154601.32245-15-brgl@bgdev.pl
drivers/rtc/rtc-rx8010.c

index b8aa98fb62de60451b48022e0ffe061f987d2e62..01e9017d4025ade69db7ce4d903d74d4b51fb794 100644 (file)
@@ -140,9 +140,6 @@ static int rx8010_set_time(struct device *dev, struct rtc_time *dt)
        u8 date[RX8010_YEAR - RX8010_SEC + 1];
        int err;
 
-       if ((dt->tm_year < 100) || (dt->tm_year > 199))
-               return -EINVAL;
-
        /* set STOP bit before changing clock/calendar */
        err = regmap_set_bits(rx8010->regs, RX8010_CTRL, RX8010_CTRL_STOP);
        if (err)
@@ -419,6 +416,8 @@ static int rx8010_probe(struct i2c_client *client)
        }
 
        rx8010->rtc->max_user_freq = 1;
+       rx8010->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
+       rx8010->rtc->range_max = RTC_TIMESTAMP_END_2099;
 
        return rtc_register_device(rx8010->rtc);
 }