the driver is not supported on_GetPeDriver

the driver is not supported on_GetPeDriver1.添加头文件#ifdefCONFIG_HAS_EARLYSUSPEND#include#endif2.在驱动结构体中添加early_suspend结构体#ifdefCONFIG_HAS_EARLYSUSPEND structearly_suspendearly_suspend;#endif /*CONFIG_HAS_EARLYSUSPEND*/3.在驱

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1.添加头文件

#ifdef CONFIG_HAS_EARLYSUSPEND
#include <linux/earlysuspend.h>
#endif

2. 在驱动结构体中添加early_suspend结构体

#ifdef CONFIG_HAS_EARLYSUSPEND
	struct early_suspend early_suspend;
#endif	/* CONFIG_HAS_EARLYSUSPEND */

3. 在驱动probe结构函数中,注册相应early_suspend结构体

#ifdef CONFIG_HAS_EARLYSUSPEND1
	/*
	 * The higher the level, the earlier it resume,
	 * and the later it suspend.
	 */
	dev_info(&client->dev, "%s register_early_suspend\n", __func__);
	par->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1;
	par->early_suspend.suspend = ssd1307fb_earlysuspend;
	par->early_suspend.resume = ssd1307fb_earlyresume;
	register_early_suspend(&par->early_suspend);
#endif /* CONFIG_HAS_EARLYSUSPEND */

4. 在驱动remove函数中取消earlay_suspend结构体的注册

#ifdef CONFIG_HAS_EARLYSUSPEND
	unregister_early_suspend(&par->early_suspend);
#endif	/* CONFIG_HAS_EARLYSUSPEND */

5. 定义相关suspend 和 resume 函数

#ifdef CONFIG_HAS_EARLYSUSPEND
void ssd1307fb_earlysuspend(struct early_suspend *h)
{
    printk(KERN_ACCT "%s: suspend bklight\n", __func__);
    ssd1305fb_full_screen(global_par, 0);
    gpio_set_value(global_par->bklight, 0);
	return;
}

void ssd1307fb_earlyresume(struct early_suspend *h)
{
    printk(KERN_ACCT, "%s: resume bklight\n", __func__);
    ssd1305fb_update_display(global_par);
    gpio_set_value(global_par->bklight, 1);
	return;
}
#endif	/* CONFIG_HAS_EARLYSUSPEND */

6. 在系统驱动结构体中设置没有使用的suspend和resume的函数接口

#ifndef CONFIG_HAS_EARLYSUSPEND
.suspend = xxxx_suspend,
.resume = xxxx_resume,
#endif

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux load average负载详细解释「建议收藏」

    linux load average负载详细解释「建议收藏」转载至linuxloadaverage负载详细解释一、loadaveragetop命令中loadaverage显示的是最近1分钟、5分钟和15分钟的系统平均负载。系统平均负载表示  系统平均负载被定义为在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程数。如果一个进程满足以下条件则其就会位于运行队列中:  -它没有在等待I/O操作的结果  -它没有主动…

    2022年7月17日
    14
  • java 哈希冲突

    java 哈希冲突问题一:什么是哈希冲突通过哈希函数产生的哈希值是有限的,而数据可能比较多,导致经过哈希函数处理后仍然有不同的数据对应相同的哈希值。这时候就产生了哈希冲突。问题二:怎么解决哈希冲突开放地址法;再哈希法;链地址法(拉链法);公共溢出区法。开放地址法:开放地址法处理冲突的基本原则就是出现冲突后按照一定算法查找一个空位置存放…

    2022年6月16日
    29
  • python解释器安装步骤_怎么安装python解释器

    python解释器安装步骤_怎么安装python解释器Python目前已支持所有主流操作系统,在Linux,Unix,Mac系统上自带Python环境,在Windows系统上需要安装一下,超简单。1、下载python首先,根据你的Windows版本(64位还是32位)从Python的官方网站下载Python3.7对应的64位安装程序或32位安装程序(网速慢的同学请移步国内镜像),然后,运行下载的EXE安装包:2、运行Python安装成功后,打开命令…

    2022年7月22日
    13
  • Python 标识符详解[学习 Python 必备基础知识][看此一篇就够了]「建议收藏」

    Python 标识符详解[学习 Python 必备基础知识][看此一篇就够了]「建议收藏」标识符就是一个名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。就好像我们人一样,需要起个名字,便于称呼、指代。在给标识符命名的时候还要尽量做到“见名知其意”,例如`book_name`我们看到之后,就能大概猜出是“书的名字”相关的内容;`user_name`我们看到之后,能大概猜出是“用户名字”相关的内容等等。

    2022年9月9日
    0
  • vue开发环境搭建(win7)

    vue开发环境搭建(win7)vue开发环境搭建-win71.安装node,js2.设置nodeglobal(全局)和cache(缓存)路径3.配置环境变量4.基于Node.js安装cnpm(淘宝镜像)5.安装vue6.安装vue脚手架vue-cli7.项目创建8.添加相关依赖9.修改端口号10.运行项目1.安装node,js下载node.js安装包:node.js下载官网在这里,我选择…

    2022年8月30日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号