您的位置:首页 > 其它

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等级:

1
2
3
4
5
enum{
EARLY_SUSPEND_LEVEL_BLANK_SCREEN=50,
EARLY_SUSPEND_LEVEL_STOP_DRAWING=100,
EARLY_SUSPEND_LEVEL_DISABLE_FB=150,
};

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: