以下内容源于朱有鹏嵌入式课程的学习与整理,如有其侵权请告知删除。
一、misc类设备的含义
1、名字含义
misc是英文Miscellaneous的缩写,中文意思是“杂项、混杂”,因此“misc类设备”也叫“杂项设备”或者“混杂设备”。因为这些字符设备不符合预先确定的字符设备范畴,所以归为misc类。
2、目录位置
这类设备相关的文件位于/sys/class/misc/目录下。
3、设备分类
它们属于典型的字符设备。
4、驱动框架这类设备有一套相应的驱动框架:驱动框架的核心层由内核驱动部分的维护者实现,主要体现在drivers/char/misc.c文件;驱动框架的具体操作层有驱动开发人员完成,主要体现在诸如x210-buzzer.c这类文件。
5、misc类的实质
misc是对原始的字符设备注册接口的一个类层次的封装,很多典型的字符设备都可以归类到misc类中,使用misc驱动框架来管理。所有这些设备采用主编号10,次设备号不一样。其实misc_register()就是在调用register_chrdev()是把主设备号这个参数设置为10。
二、misc类设备驱动框架
1、内核驱动部分的维护者实现的部分
drivers/char/misc.c文件主要包括2个关键点:类的创建、开放给驱动开发者的接口。
2、驱动工程师实现的部分比如x210-buzzer.c文件。
三、本部分学习方法
1、已经有蜂鸣器驱动源码,无需编写,以分析为主。
2、复习并验证前面讲的驱动框架的思维。
3、开始注意一些细节。