12.混杂设备驱动模型

Posted for_learning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了12.混杂设备驱动模型相关的知识,希望对你有一定的参考价值。

          混杂设备驱动模型

  在Linux系统中,存在一类字符设备,它们拥有相同的主设备号(数字10),但次设备号不同,我们称这类设备为混杂设备(miscdevice)。所有的混杂设备形成一个链表,对设备访问时内核根据次设备号查找到相应的混杂设备。

 一、设备描述

Linux中使用struct miscdevice来描述一个混杂设备。

1 struct miscdevice {
2   int minor; /* 次设备号*/
3   const char *name; /* 设备名*/
4   const struct file_operations *fops; /*文件操作*/
5   struct list_head list; 
6   struct device *parent;
7   struct device *this_device;
8 };

  Minor是次设备号,name是设备名。还有一个struct file_operations的结构是需要我们去初始化的。

 二、设备注册

  Linux中使用misc_register函数来注册一个混杂设备驱动。

int  misc_register(struct miscdevice * misc)

  所以要实现一个混杂设备驱动。首先是初始化我们的miscdevice结构,接着就是使用misc_register函数注册一个混杂设备。

 三、混杂设备驱动总结

   

 

以上是关于12.混杂设备驱动模型的主要内容,如果未能解决你的问题,请参考以下文章

Linux驱动开发-混杂字符设备驱动模型笔记 4

Linux驱动开发-混杂字符设备驱动模型笔记 4

Linux混杂设备驱动

Linux混杂字符设备

LINUX按键驱动程序

1.混杂设备驱动