linux MISC 驱动模型分析
发布日期:2021-07-01 01:01:22
浏览次数:2
分类:技术文章
本文共 697 字,大约阅读时间需要 2 分钟。
linux MISC 驱动模型分析
阅读led驱动程序的代码的时候,没有发现ldd3中提到的各种字符设备注册函数,而是发现了一个misc_register函数,这说明led设备是作为杂项设备出现在内核中的,在内核中,misc杂项设备驱动接口是对一些字符设备的简单封装,他们共享一个主设备号,有不同的次设备号,共享一个open调用,其他的操作函数在打开后运用linux驱动程序的方法重载进行装载。1. 主要数据结构
内核维护一个misc_list链表,misc设备在misc_register注册的时候链接到这个链表,在misc_deregister中解除链接。主要的设备结构就是miscdevice。定义如下: struct miscdevice { int minor; const char *name; const struct file_operations *fops; struct list_head list; struct device *parent; struct device *this_device; const char *nodename; mode_t mode; }; 这个结构体是misc设备基本的结构体,在注册misc设备的时候必须要声明并初始化一个这样的结构体,但其中一般只需填充name minor fops字段就可以了。下面就是led驱动程序中初始化miscdevice的代码: static struct miscdevice misc = { .minor = MISC_DYNAMIC_MINOR, .name = DEVICE_NAME,转载地址:https://mao0514.blog.csdn.net/article/details/115252472 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月18日 10时31分40秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
linux进程、线程与cpu的亲和性(affinity)
2019-05-01
mac的terminal快捷键
2019-05-01
C语言可变参数va_list
2019-05-01
__BEGIN_DECLS 和 __END_DECLS
2019-05-01
[转帖]Robots.txt指南
2019-05-01
[转帖]robots.txt和Robots META标签
2019-05-01
[转帖]Gooele排名PR页查询
2019-05-01
[转帖]Google左侧排名攻略
2019-05-01
Tomcat配置技巧
2019-05-01
安装eclipse及语言包
2019-05-01
启动TOMCAT时出现"-Djaava.endorsed.dirs="的解决办法
2019-05-01
Eclipse + MyEclipse下配置J2EE工程(英文界面)
2019-05-01
Eclipse及其插件下载网址大全
2019-05-01
使用links方式安装Eclipse插件
2019-05-01
在Eclipse中用myEclipse进行开发(中文界面)
2019-05-01
Eclipse中使用Junit插件测试
2019-05-01
利用Eclipse编辑中文资源文件
2019-05-01
微软高级开发者管理峰会演讲摘要:产品质量的基石
2019-05-01
产品开发模式管理网站开发
2019-05-01
String和StringBuffer的比较(附带程序说明)
2019-05-01