您的位置:首页 > 运维架构 > Linux

Linux混杂设备驱动模型

2016-04-03 21:55 260 查看
来厦门快一个月了,一直没出去转一下,今天专门一个人跑去看海。来回路上花了一个多小时,但实际只在海边逗留了半个多小时。看来我只适合宅在宿舍玩。晚上抽空再学习一下Linux驱动,以前虽然学过,但也基本忘得差不多了。只有重新再回顾一遍了。

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

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)



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: