您的位置:首页 > 其它

12.按键驱动程序设计(1)-混杂设备驱动模型

2017-01-05 02:00 288 查看

1 混杂设备描述


 在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;
const char *nodename;
umode_t mode;
};

2 混杂驱动注册


Linux中 中 使用misc_register 函数 来注 册一 个混杂设备驱动。
int misc_register(struct miscdevice * misc)

3 范例驱动分析
#include <linux/module.h>

#include <linux/init.h>

#include <linux/miscdevice.h>

int key_open(struct inode *node,sturct file *filp)

{
return 0 ;

}

struct file_operations key_fops = {
.open = key_open;

};

struct miscdevice key_miscdev = 

{
.minor = 200;
.name = "key";
.fops = &key_fops;

};

static int key_init()

{
misc_register(&key_miscdev);

}

static int key_exit()

{
misc_deregister(&key_miscdev);

}

module_init(key_init);

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