Re: [PATCH 0/4] RTC regression fixups

Marcelo Roberto Jimenez
2011-02-03T21:08:11Z

Hi John,

Currently, the RTC driver _must_ declare the read_alarm() callback,
even if it does nothing. But the code in drivers/rtc/interface.c does

if (rtc->ops == NULL)
err = -ENODEV;
else if (!rtc->ops->read_alarm)
err = -EINVAL;
else {
memset(alarm, 0, sizeof(struct rtc_wkalrm));
alarm->enabled = rtc->aie_timer.enabled;
alarm->time = rtc_ktime_to_tm(rtc->aie_timer.node.expires);
}

The read_alarm() callback is not being performed.

Two questions:

1 - Should the callback be removed or should it be kept and called in
the else part?

2 - In case we are keeping it, should it be enforced like it is now,
or should it be kept optional? I'd rather have it optional, that means
less useless code in the drivers.

Regards,
Marcelo.