rtc: s35390a: let the core handle the alarm resolution
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Sun, 7 Nov 2021 22:54:47 +0000 (23:54 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Tue, 9 Nov 2021 23:45:57 +0000 (00:45 +0100)
Tell the RTC core UIE are not supported because the resolution of the alarm
is a minute.

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20211107225458.111068-2-alexandre.belloni@bootlin.com
drivers/rtc/rtc-s35390a.c

index b5bdeda7d76781a8b1233715a4e4cb91bc42b91f..26278c77073153e7c1e38bb76c2e3ec569d935f4 100644 (file)
@@ -285,9 +285,6 @@ static int s35390a_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alm)
                alm->time.tm_min, alm->time.tm_hour, alm->time.tm_mday,
                alm->time.tm_mon, alm->time.tm_year, alm->time.tm_wday);
 
-       if (alm->time.tm_sec != 0)
-               dev_warn(&client->dev, "Alarms are only supported on a per minute basis!\n");
-
        /* disable interrupt (which deasserts the irq line) */
        err = s35390a_set_reg(s35390a, S35390A_CMD_STATUS2, &sts, sizeof(sts));
        if (err < 0)
@@ -491,8 +488,8 @@ static int s35390a_probe(struct i2c_client *client,
        s35390a->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
        s35390a->rtc->range_max = RTC_TIMESTAMP_END_2099;
 
-       /* supports per-minute alarms only, therefore set uie_unsupported */
-       s35390a->rtc->uie_unsupported = 1;
+       set_bit(RTC_FEATURE_ALARM_RES_MINUTE, s35390a->rtc->features);
+       clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, s35390a->rtc->features );
 
        if (status1 & S35390A_FLAG_INT2)
                rtc_update_irq(s35390a->rtc, 1, RTC_AF);