zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

ubuntu android studio_android自启动

2023-06-13 09:13:40 时间

大家好,又见面了,我是你们的朋友全栈君。

(1)添加头文件:

#include <linux/earlysuspend.h>

(2)在特定驱动结构体中添加early_suspend结构:

#ifdef CONFIG_HAS_EARLYSUSPEND struct early_suspend early_suspend; #endif

(3)在驱动probe函数中注册相关early_suspend结构体:

#ifdef CONFIG_HAS_EARLYSUSPEND ftk_ts->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1; ftk_ts->early_suspend.suspend = stm_ts_early_suspend; ftk_ts->early_suspend.resume =stm_ts_late_resume; register_early_suspend(&ftk_ts->early_suspend); #endif

(4)在驱动remove函数取消early_suspend结构体的注册:

#ifdef CONFIG_HAS_EARLYSUSPEND unregister_early_suspend(&ts->early_suspend); #endif

(5)定义相关suspend和resume函数:

#ifdef CONFIG_HAS_EARLYSUSPEND static void stm_ts_early_suspend(struct early_suspend *h) { struct ftk_ts *ts; ts = container_of(h, struct ftk_ts, early_suspend); stm_ts_suspend(ts->client, PMSG_SUSPEND); }

static void stm_ts_late_resume(struct early_suspend *h) { struct ftk_ts *ts; ts = container_of(h, struct ftk_ts, early_suspend); stm_ts_resume(ts->client); } #endif

(6)在系统驱动结构体中设置未使用earlysuspend的函数接口:

#ifndef CONFIG_HAS_EARLYSUSPEND .suspend = stm_ts_suspend, .resume = stm_ts_resume, #endif

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/192209.html原文链接:https://javaforall.cn