rtc: cmos: remove cmos_rtc_ops_no_alarm
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Sun, 10 Jan 2021 23:17:39 +0000 (00:17 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Sat, 16 Jan 2021 22:19:26 +0000 (23:19 +0100)
Clear RTC_FEATURE_ALARM to signal that alarms are not available instead of
having a supplementary struct rtc_class_ops with a NULL .set_alarm.

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

index 51e80bc70d42325d14aea0baa72dff39b1113f48..c3746e249f5a4684935d9eb1ad0fdd7232c36be4 100644 (file)
@@ -574,12 +574,6 @@ static const struct rtc_class_ops cmos_rtc_ops = {
        .alarm_irq_enable       = cmos_alarm_irq_enable,
 };
 
-static const struct rtc_class_ops cmos_rtc_ops_no_alarm = {
-       .read_time              = cmos_read_time,
-       .set_time               = cmos_set_time,
-       .proc                   = cmos_procfs,
-};
-
 /*----------------------------------------------------------------*/
 
 /*
@@ -857,12 +851,12 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)
                        dev_dbg(dev, "IRQ %d is already in use\n", rtc_irq);
                        goto cleanup1;
                }
-
-               cmos_rtc.rtc->ops = &cmos_rtc_ops;
        } else {
-               cmos_rtc.rtc->ops = &cmos_rtc_ops_no_alarm;
+               clear_bit(RTC_FEATURE_ALARM, cmos_rtc.rtc->features);
        }
 
+       cmos_rtc.rtc->ops = &cmos_rtc_ops;
+
        retval = devm_rtc_register_device(cmos_rtc.rtc);
        if (retval)
                goto cleanup2;