GT9xxxxx系列------如何加入电源管理模块
2016-02-29 19:38
477 查看
最近看到Gt的driver有电源管理部分之前没有看到过,今天写一下
struct goodix_ts_data {
struct early_suspend early_suspend;
};
static int gtp_register_powermanger(struct goodix_ts_data *ts)
{
ts->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1;
ts->early_suspend.suspend = goodix_ts_early_suspend;
ts->early_suspend.resume = goodix_ts_late_resume;
register_early_suspend(&ts->early_suspend);
return 0;
}
希望执行early suspend的设备,他的设备驱动程序需要向电源管理系统注册,该结构体用于向电源管理系统注册earlysuspend/lateresume,当电源管理系统启动suspend流程时,回调函数suspend会被调用,相反,resume的最后阶段,回调函数resume会被调用,ts->early_suspend.level字段用于调整该结构体在注册链表中的位置,suspend时,level的数值越小,回调函数的被调用的时间越早,resume时则反过来。Android预先定义了3个level等级:
struct goodix_ts_data {
struct early_suspend early_suspend;
};
static int gtp_register_powermanger(struct goodix_ts_data *ts)
{
ts->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1;
ts->early_suspend.suspend = goodix_ts_early_suspend;
ts->early_suspend.resume = goodix_ts_late_resume;
register_early_suspend(&ts->early_suspend);
return 0;
}
希望执行early suspend的设备,他的设备驱动程序需要向电源管理系统注册,该结构体用于向电源管理系统注册earlysuspend/lateresume,当电源管理系统启动suspend流程时,回调函数suspend会被调用,相反,resume的最后阶段,回调函数resume会被调用,ts->early_suspend.level字段用于调整该结构体在注册链表中的位置,suspend时,level的数值越小,回调函数的被调用的时间越早,resume时则反过来。Android预先定义了3个level等级:
1 2 3 4 5 | enum{ EARLY_SUSPEND_LEVEL_BLANK_SCREEN=50, EARLY_SUSPEND_LEVEL_STOP_DRAWING=100, EARLY_SUSPEND_LEVEL_DISABLE_FB=150, }; |
相关文章推荐
- Sunday算法详解
- python iris 数据集
- 安卓菜单的使用系列5:显示弹出菜单
- Android Https
- 构建自己的PHP框架--实现Model类(2)
- 软件工程概论第一节
- 关于编程中遇到inf的情况
- linux内核睡眠与唤醒
- CSS 元素垂直居中的 6种方法
- 数据结构之二叉搜索树
- uva10617
- 截获系统调用(sys_call_table/VFS)
- 表空间使用率
- PASCAL VOC数据集The PASCAL Object Recognition Database Collection
- 《程序员自我修养》第七章读书笔记
- 解决键盘弹起时把UINavigationBar顶出屏幕外面的问题
- FFT(快速傅立叶变换):HDU 1402 A * B Problem Plus
- 51nod 1008 N的阶乘mod P
- 星期几(蓝桥杯)
- % 与 & 操作符