Linux混杂设备驱动学习

Linux混杂设备是字符设备的一类,主要是混杂设备拥有相同的主设备号(10),但是次设备号是不同的。所有的混杂设备行程一个链表,对设备访问时内核更据次设备号查找到相应的混杂设备。

混杂设备用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;
    const char *nodename;
    mode_t mode;
};

首先初始化结构体struct miscdevice 

  初始化struct file_operations *

  完成 struct file_operations * 对应的函数

在模块初始化函数中,注册设备驱动mis_register()即可

注销mis_deregister()

#include <linux/miscdevice.h>

原文地址:https://www.cnblogs.com/ynxf/p/5778842.html