.set_time = s3c_rtc_settime, .irq_set_freq = s3c_rtc_setfreq, .irq_set_state = s3c_rtc_setpie, }; RTC打开设备函数s3c_rtc_open() static int s3c_rtc_open(struct device *dev) { struct platform_device *pdev = to_platform_device(dev);//从平台设备中获取RTC设备类的数据 struct rtc_...
int (*irq_set_state)(struct device *, int enabled); //设置中断状态 int (*irq_set_freq)(struct device *, int freq); //设置中断频率,最大不能超过64 int (*read_callback)(struct device *, int data); int (*alarm_irq_enable)(struct device *, unsigned int enabled); //用来设置中断使...
151 int (*irq_set_state)(struct device *, int enabled); //周期采样中断的开关,根据enabled的值来设置 152 int (*irq_set_freq)(struct device *, int freq); //设置周期中断的频率 153 int (*read_callback)(struct device *, int data); //用户空间获得数据后会传入读取的数据,并用这个函数返回...
RTC_AIE_ON RTC_AIE_OFF rtc_alarm_irq_enable 使能禁止RTC闹钟中断 RTC_UIE_OFF RTC_UIE_ON rtc_update_irq_enable 使能禁止RTC更新中断 RTC_IRQP_SET rtc_irq_set_freq 设置中断的频率 以上就是所有ioctl的命令与实现的对应关系。其中如果不涉及中断的话,有两个命令需要我们特别关心一下,就是R...
int (*irq_set_state)(struct device *, int enabled); //设置中断状态 int (*irq_set_freq)(struct device *, int freq); //设置中断频率,最大不能超过64 int (*read_callback)(struct device *, int data); int (*alarm_irq_enable)(struct device *, unsigned int enabled); //用来设置中断使...
读取时间与日期 RTC_SET_TIME rtc_set_time 设置时间与日期 RTC_PIE_ON RTC_PIE_OFF rtc_irq_set_state 开关RTC全局中断的函数 RTC_AIE_ON RTC_AIE_OFF rtc_alarm_irq_enable 使能禁止RTC闹钟中断 RTC_UIE_OFF RTC_UIE_ON rtc_update_irq_enable 使能禁止RTC更新中断 RTC_IRQP_SET rtc_irq_set_freq ...
int (*irq_set_state)(struct device *, int enabled); int (*irq_set_freq)(struct device *, int freq); int (*read_callback)(struct device *, int data); int (*alarm_irq_enable)(struct device *, unsigned int enabled); int (*update_irq_enable)(struct device *, unsigned int enabled...
.start = IRQ_TICK, .end = IRQ_TICK, .flags = IORESOURCE_IRQ } }; struct platform_device s3c_device_rtc = { //定义了RTC平台设备 .name = "s3c2410-rtc", //设备名称 .id = -1, .num_resources = ARRAY_SIZE(s3c_rtc_resource), //资源数量 ...
spin_lock_irq(&rtc->irq_task_lock); if (rtc->irq_task == task) rtc->irq_task = NULL; spin_unlock_irq(&rtc->irq_task_lock); } EXPORT_SYMBOL_GPL(rtc_irq_unregister); /** * rtc_irq_set_state - enable/disable 2^N Hz periodic IRQs ...
int (*set_mmss)(struct device *, unsignedlong secs);//将传入的参数secs转换为struct rtc_time然后调用set_time函数。程序员可以不实现这个函数,但 前提是定义好了read_time/set_time,因为RTC框架需要用这两个函数来实现这个功能。 int (*irq_set_state)(struct device *,int enabled);//周期采样中断的开...