rtc: pl031: remove useless invalid alarm handling
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Fri, 6 Mar 2020 00:58:07 +0000 (01:58 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Mon, 16 Mar 2020 10:12:11 +0000 (11:12 +0100)
The core will never pass an invalid alarm to .set_alarm, it is not
necessary to check for its validity.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20200306005809.38530-1-alexandre.belloni@bootlin.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-pl031.c

index 180caeb..2e8e019 100644 (file)
@@ -210,17 +210,13 @@ static int pl031_stv2_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
        unsigned long bcd_year;
        int ret;
 
-       /* At the moment, we can only deal with non-wildcarded alarm times. */
-       ret = rtc_valid_tm(&alarm->time);
+       ret = pl031_stv2_tm_to_time(dev, &alarm->time,
+                                   &time, &bcd_year);
        if (ret == 0) {
-               ret = pl031_stv2_tm_to_time(dev, &alarm->time,
-                                           &time, &bcd_year);
-               if (ret == 0) {
-                       writel(bcd_year, ldata->base + RTC_YMR);
-                       writel(time, ldata->base + RTC_MR);
+               writel(bcd_year, ldata->base + RTC_YMR);
+               writel(time, ldata->base + RTC_MR);
 
-                       pl031_alarm_irq_enable(dev, alarm->enabled);
-               }
+               pl031_alarm_irq_enable(dev, alarm->enabled);
        }
 
        return ret;
@@ -285,14 +281,10 @@ static int pl031_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
        unsigned long time;
        int ret;
 
-       /* At the moment, we can only deal with non-wildcarded alarm times. */
-       ret = rtc_valid_tm(&alarm->time);
+       ret = rtc_tm_to_time(&alarm->time, &time);
        if (ret == 0) {
-               ret = rtc_tm_to_time(&alarm->time, &time);
-               if (ret == 0) {
-                       writel(time, ldata->base + RTC_MR);
-                       pl031_alarm_irq_enable(dev, alarm->enabled);
-               }
+               writel(time, ldata->base + RTC_MR);
+               pl031_alarm_irq_enable(dev, alarm->enabled);
        }
 
        return ret;