device_init_wakeup()
来源:互联网 发布:手机编程输入软件 编辑:程序博客网 时间:2024/06/06 20:48
要认识device_init_wakeup(),首先需要知道两个概念:can_wakeup和should_wakeup。这两个家伙从哪里来的?看struct device结构体,里面有一个成员struct dev_pm_info power,来看一看struct dev_pm_info,来自include/linux/pm.h文件:
265 struct dev_pm_info { 266 pm_message_t power_state; 267 unsigned can_wakeup:1; 268 #ifdef CONFIG_PM 269 unsigned should_wakeup:1; 270 pm_message_t prev_state; 271 void * saved_state; 272 struct device * pm_parent; 273 struct list_head entry; 274 #endif 275 };
这些都是电源管理部分的核心数据结构,显然,我们没有必要深入研究,只是需要知道,can_wakeup为1时表明一个设备可以被唤醒,设备驱动为了支持Linux中的电源管理,有责任调用device_init_wakeup()来初始化can_wakeup。而should_wakeup则是在设备的电源状态发生变化时被device_may_wakeup()用来测试,测试它该不该变化。因此,can_wakeup表明的是一种能力,should_wakeup表明的是有了这种能力以后去不去做某件事。
- device_init_wakeup()
- device_init_wakeup()
- linux设备驱动中device_init_wakeup
- C++ static成员变量与static成员函数
- 网页的<title> 部分与后台数据库绑定
- hibernate主键生成策略全览
- Direct access to objective-c's isa is deprecated...
- NumPy学习笔记--入门篇
- device_init_wakeup()
- .net 与ios 消息推送----编写push notification之获取device token
- 优化反射性能的总结(上)
- ASP.NET MVC4 中整合 NHibernate3.3、Spring.NET2.0、ExtJS4 笔记二:开发环境搭建
- Vs 2008 解决方案的目录结构设置和管理
- Django Interactive Console Debug
- 二分图的最大匹配
- iOS动画效果和实现
- 营改增