RTC alarms are programmable events, to be triggered by the device at a given time. An RTC alarm is represented as an instance of the struct rtc_wkalrm structure:
struct rtc_wkalrm { unsigned char enabled; /* 0 = alarm disabled, 1 = enabled */ unsigned char pending; /* 0 = alarm not pending, 1 = pending */ struct rtc_time time; /* time the alarm is set to */ };
The driver should provide set_alarm() and read_alarm() operations, to set and read the time at which the alarm should occur, as well as alarm_irq_enable(), which is a function used to enable/disable the alarm. When the set_alarm() function is invoked, it is given as an input parameter, a pointer to a struct rtc_wkalrm whose .time field contains the time the alarm ...