struct rtc_class_ops是为RTC设备提供的底层操作函数集: structrtc_class_ops {int(*ioctl)(structdevice *, unsignedint, unsignedlong);int(*read_time)(structdevice *,structrtc_time *);int(*set_time)(structdevice *,structrtc_time *);int(*read_alarm)(structdevice *,structrtc_wkalrm *);int(...
(struct device *, struct rtc_wkalrm *); int (*set_alarm)(struct device *, struct rtc_wkalrm *); int (*proc)(struct device *, struct seq_file *); int (*set_mmss)(struct device *, unsigned long secs); int (*read_callback)(struct device *, int data); int (*alarm_irq_...
这里的ioctl函数并不一定要实现所有的命令,对于一些命令如果rtc_class_ops的ioctl返回ENOIOCTLCMD的话,内核的RTC子系统会 实现这些命令的方法。不需要自己实现的命令有: * RTC_RD_TIME, RTC_SET_TIMEread_time/set_time * RTC_ALM_SET, RTC_ALM_READ, RTC_WKALM_SET, RTC_WKALM_RD 调用set_alarm/read_al...
#define RTC_ALM_SET _IOW('p', 0x07, struct rtc_time)/* Set alarm time */ #define RTC_ALM_READ _IOR('p', 0x08, struct rtc_time)/* Read alarm time */ #define RTC_RD_TIME _IOR('p', 0x09, struct rtc_time)/* Read RTC time */ #define RTC_SET_TIME _IOW('p', 0x0a, ...
1.1.2Linux内核RTC实时时钟配置查看与选择: 进入到内核根目录下,输入:make menuconfig进入到内核配置菜单: 根据选项进入到RTC实时驱动菜单: Device Drivers ---> [*] Real Time Clock ---> ││ [*] Set system time from RTC on startup and resume ││ ...
int (*set_alarm)(struct device *, struct rtc_wkalrm *); int (*proc)(struct device *, struct seq_file *); int (*set_mmss)(struct device *, unsigned long secs); int (*read_callback)(struct device *, int data); ...
76int(*set_time)(struct device *,struct rtc_time *);77int(*read_alarm)(struct device *,struct rtc_wkalrm *);78int(*set_alarm)(struct device *,struct rtc_wkalrm *);79int(*proc)(struct device *,struct seq_file *);80int(*set_mmss64)(struct device *,time64_t secs);81int(*set...
__rtc_read_time函数代码段 从第94行可以看出,__rtc_read_time函数会通过调用rtc_class_ops中的read_time成员变量来从RTC设备中获取当前时间。rtc_dev_ioctl函数对其他的命令处理都是类似的,比如RTC_ALM_READ命令会通过rtc_read_alarm函数获取到闹钟值,而rtc_read_alarm函数经过层层调用,最终会调用rtc_class_ops...
从示例代码60.1.5中的32行可以看出,__rtc_read_time函数会通过调用rtc_class_ops中的read_time来从RTC设备中获取当前时间。rtc_dev_ioctl函数对其他的命令处理都是类似的,比如RTC_ALM_READ命令会通过rtc_read_alarm函数获取到闹钟值,而rtc_read_alarm函数经过层层调用,最终会调用rtc_class_ops中的read_alarm函数...
(6) RTC_RD_TIME, RTC_SET_TIME: read_time/set_time 函数会被调用。 (7) RTC_ALM_SET, RTC_ALM_READ, RTC_WKALM_SET, RTC_WKALM_RD: set_alarm/read_alarm 函数将会被调用. (8) RTC_IRQP_SET, RTC_IRQP_READ: irq_set_freq 函数将会调用,用来设置频率,RTC类构架会处理读请求,而频率保存在...