rtc: tps65910: remove tps65910_rtc_ops_noirq
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Sun, 10 Jan 2021 23:17:52 +0000 (00:17 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Sat, 16 Jan 2021 22:19:27 +0000 (23:19 +0100)
Clear RTC_FEATURE_ALARM to signal that alarms are not available instead of
having a supplementary struct rtc_class_ops without alarm callbacks.

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

index 2d87b62..e1415a4 100644 (file)
@@ -361,13 +361,6 @@ static const struct rtc_class_ops tps65910_rtc_ops = {
        .set_offset     = tps65910_set_offset,
 };
 
-static const struct rtc_class_ops tps65910_rtc_ops_noirq = {
-       .read_time      = tps65910_rtc_read_time,
-       .set_time       = tps65910_rtc_set_time,
-       .read_offset    = tps65910_read_offset,
-       .set_offset     = tps65910_set_offset,
-};
-
 static int tps65910_rtc_probe(struct platform_device *pdev)
 {
        struct tps65910 *tps65910 = NULL;
@@ -425,12 +418,12 @@ static int tps65910_rtc_probe(struct platform_device *pdev)
                irq = -1;
 
        tps_rtc->irq = irq;
-       if (irq != -1) {
+       if (irq != -1)
                device_set_wakeup_capable(&pdev->dev, 1);
-               tps_rtc->rtc->ops = &tps65910_rtc_ops;
-       } else
-               tps_rtc->rtc->ops = &tps65910_rtc_ops_noirq;
+       else
+               clear_bit(RTC_FEATURE_ALARM, tps_rtc->rtc->features);
 
+       tps_rtc->rtc->ops = &tps65910_rtc_ops;
        tps_rtc->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
        tps_rtc->rtc->range_max = RTC_TIMESTAMP_END_2099;