混杂设备属于字符设备,有相同的主设备号(都是10),不同的次设备号。所有的混杂设备形成一个链表,对设备访问时,内核根据次设备号查找相应的混杂设备。
linux中使用struct miscdevice来描述一个混杂设备。
struct miscdevice{
int minor; 次设备号
const char *name 设备名
const struct file_operations *fops; 文件操作
struct list_head list;
struct device *parent;
struct device *this_device;
};
linux中使用misc_register函数来注册一个混杂设备驱动
int misc_register(struct miscdevice *misc)
编写驱动步骤:
一:初始化混杂设备:
初始化以下变量:
1、minor
2、name
3、fops
二:注册混杂设备:
使用下面函数注册:
1、int misc_register(struct miscdevice *misc)