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.bell...@bootlin.com>
---
 drivers/rtc/rtc-tps65910.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/drivers/rtc/rtc-tps65910.c b/drivers/rtc/rtc-tps65910.c
index 2d87b62826a8..e1415a49f4ee 100644
--- a/drivers/rtc/rtc-tps65910.c
+++ b/drivers/rtc/rtc-tps65910.c
@@ -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;
 
-- 
2.29.2

Reply via email to