Commit 22685519 authored by Alexandre Belloni's avatar Alexandre Belloni
Browse files

rtc: expose correction feature



Add a new feature for RTCs able to correct the oscillator imprecision. This
is also called offset or trimming. Such drivers have a .set_offset callback,
use that to set the feature bit from the core.

Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20211018151933.76865-4-alexandre.belloni@bootlin.com
parent 6a8af1b6
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -389,6 +389,9 @@ int __devm_rtc_register_device(struct module *owner, struct rtc_device *rtc)
	if (!rtc->ops->set_alarm)
		clear_bit(RTC_FEATURE_ALARM, rtc->features);

	if (rtc->ops->set_offset)
		set_bit(RTC_FEATURE_CORRECTION, rtc->features);

	rtc->owner = owner;
	rtc_device_get_offset(rtc);

+2 −1
Original line number Diff line number Diff line
@@ -131,7 +131,8 @@ struct rtc_param {
#define RTC_FEATURE_NEED_WEEK_DAY	2
#define RTC_FEATURE_ALARM_RES_2S	3
#define RTC_FEATURE_UPDATE_INTERRUPT	4
#define RTC_FEATURE_CNT			5
#define RTC_FEATURE_CORRECTION		5
#define RTC_FEATURE_CNT			6

/* parameter list */
#define RTC_PARAM_FEATURES		0