Playing with alarms

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 ...

Get Linux Device Drivers Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.