关于混杂设备驱动

混杂设备驱动?个人理解就是一类设备,为了开发方便,可以把这一类设备的属性都放在一起,方便开发。

 

一、混杂设备的定义

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

二、描述混杂设备的结构体

struct miscdevice{
int minor;/* 次设备号*/
const char *name;/* 设备名*/
const struct file_operations *fops;/*文件操作*/
structlist_headlist; 
struct device *parent;
struct device *this_device;
};

三、混杂设备只要在驱动程序中进行一次注册就可以在驱动程序中定义相关设备的属性。

函数:

int misc_register(struct miscdevice* misc)

四、混杂设备程序的具体实现

描述的结构体:

static struct miscdevice misc = {
	.minor = MISC_DYNAMIC_MINOR,    //这个宏(内核中)定义的混杂设备的此设备号,
	                                //由内核动态的进行分配的。
	.name = DEVICE_NAME,            //定义了设备的名字--可以随意定义。
	.fops = &dev_fops,              //混杂设备的实质是字符设备,字符设备都有file_operations。
};

注册:

 /*注册混杂设备*/
	ret = misc_register(&misc);

备注:注册混杂设备的函数是在注册设备驱动程序中定义的,即init。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值