美文网首页
如何调整模块earlySuspend/lateResume的顺序

如何调整模块earlySuspend/lateResume的顺序

作者: RTThread小师弟 | 来源:发表于2017-10-30 17:15 被阅读0次

[DESCRIPTION]

有些情况下,因为一些模块在earlySuspend时的特殊操作,而导致另外一些模块在

earlySuspend/lateResume后无法工作,

比如常见的CTP跟MEMs Sensor如果公用一个I2C port,经常会有一些冲突;

调整earlySuspend/lateResume的顺序可以解决类似的问题

[SOLUTION]

earlySuspend跟lateResume的顺序是关联的,简单地说先执行earlySuspend的模块,必然后执行lateResume;

类似于堆栈,先进后出;这个顺序是在模块驱动代码中注册earlySuspend函数时传入的:

-------------------------------------------------------------

obj->early_drv.level = EARLY_SUSPEND_LEVEL_DISABLE_FB-1,

obj->early_drv.suspend = xxx_early_suspend,

obj->early_drv.resume=xxx_late_resume,

register_early_suspend(&obj->early_drv),

-------------------------------------------------------------

这里的level值就决定了该模块在earlySuspend/lateResume执行中的顺序

earlySuspend的执行顺序是 low level ---> high level

lateResume的执行顺序是 high level ---> low level

EarlySuspend.h中定义了几个宏作为基准,主要依据是mtk系统屏幕的状态;

其他的模块可以参照这些基准值自行决定,一般来说,跟屏幕显示有关的,都要放到

EARLY_SUSPEND_LEVEL_DISABLE_FB之前

-------------------------------------------------------------

enum {

EARLY_SUSPEND_LEVEL_BLACK_SCREEN = 50,

EARLY_SUSPEND_LEVEL_STOP_DRAWING = 100,

EARLY_SUSPEND_LEVEL_DISABLE_FB =150,

};

-------------------------------------------------------------

来源:一牛网论坛

相关文章

  • 如何调整模块earlySuspend/lateResume的顺序

    [DESCRIPTION] 有些情况下,因为一些模块在earlySuspend时的特殊操作,而导致另外一些模块在 ...

  • 调整驱动加载顺序

    Linux内核驱动程序初始化顺序的调整(1) 如何调整Linux内核启动中的驱动初始化顺序

  • Android earlysuspend

    early_suspend / late_resume LCD显示屏是休眠了,触摸屏也休眠了,但是标准的Linux...

  • Python基础(6) - 打乱列表顺序的操作

    手工打乱列表元素的顺序 编写函数(不使用Python模块的函数),打乱列表元素的顺序 如何对列表元素进行随机排列 ...

  • Python学习知识点

    import 语句的模块顺序 我们推荐所有的模块在 Python 模块的开头部分导入。 而且最好按照这样的顺序: ...

  • 简书中如何调整连载的顺序?

    简书中如何调整连载的顺序? 首先:必须是电脑上才能调整(手机上我找过,没有此项功能) 其次:用鼠标拖动连载目录中的...

  • 太牛了!Word段落竟然还可以这样调整顺序

    在工作中我们常常因为某种原因需要对文章进行重新排序,你知道如何调整顺序吗?今天给大家分享一种快速调整段落顺序的方式...

  • 13.钉钉左侧导航栏个性化设置

    1.点击"更多"-——“编辑” 2.可以把右侧的任意想拖动模块,拖动到左侧 3.左侧导航栏也可以拖动调整顺序,最后...

  • 数组调整顺序

    var arr =[ { "itsystemid":968263, "Id":363, "pp":000, "na...

  • 思考:多个任务需要执行,如何调整其执行顺序?优先队列:特殊的“队列”,取出元素的顺序是依照元素的优先权(关键字)大...

网友评论

      本文标题:如何调整模块earlySuspend/lateResume的顺序

      本文链接:https://www.haomeiwen.com/subject/ybhmpxtx.html