术语Misc设备类型
来源:互联网 发布:wind数据库怎么用 编辑:程序博客网 时间:2024/06/07 02:12
answer one:
为不好归类的设备归为一 类。另外不用自己申请主设备号,而且不会随便占用其他主设备号
answer two:
Misc(或miscellaneous)驱动是一些拥有着共同特性的简单字符设备驱动。内核抽象出这些特性而形成一些API(在文件drivers/char/misc.c中实现),以简化这些设备驱动程序的初始化。所有的misc设备被分配同一个主设备号MISC_MAJOR(10),但是每一个可以选择一个单独的次设备号。如果一个字符设备驱动要驱动多个设备,那么它就不应该用misc设备来实现。
通常情况下,一个字符设备都不得不在初始化的过程中进行下面的步骤:
通过alloc_chrdev_region()分配主/次设备号。
使用cdev_init()和cdev_add()来以一个字符设备注册自己。
而一个misc驱动,则可以只用一个调用misc_register()来完成这所有的步骤。
所有的miscdevice设备形成一个链表,对设备访问时,内核根据次设备号查找对应的miscdevice设备,然后调用其file_operations中注册的文件操作方法进行操作。
在Linux内核中,使用struct miscdevice来表示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;
};
minor是这个混杂设备的次设备号,若由系统自动配置,则可以设置为MISC_DYNANIC_MINOR,name是设备名。
每一个misc驱动会自动出现在/sys/class/misc下,而不需要驱动程序作者明确的去做。Linux watchdog timer驱动被实现为misc 驱动,他们被放在drivers/char/watchdog/目录下。Watchdog 驱动也导出了一个标准设备接口到用户空间。这样就可以使符合这个接口的应用程序的实现独立于Watchdog硬件。这个API在内核树中的Documentation/watchdog/watchdog-api.txt文件中有详细的说明。需要watchdog服务的程序可以操作/dev/watchdog,这个设备有一个misc次设备号130。
WDT在内核中通常都实现为misc驱动。
- 术语Misc设备类型
- 术语Misc设备类型
- misc设备
- misc设备
- Linux misc设备
- misc杂项设备驱动
- misc设备驱动
- MISC设备 --pwd_audio驱动
- MISC设备驱动
- misc杂项设备
- misc设备驱动模型
- Linux misc 设备驱动
- MISC设备和char设备
- MISC设备和CHAR设备
- 杂项设备(misc device)
- 杂项设备(misc device)
- linux misc混杂设备驱动
- 杂项设备(misc device)
- ubuntu计算器
- Oracle需要启动的服务总结
- 线程同步之事件对象
- 自定义标签viewIP的步骤
- PhotoShop中与我有关的连接
- 术语Misc设备类型
- android无用之“迷思”
- C语言中int 类型的字节长度
- 超级强大的下载工具wget
- 常用ARM汇编指令及ATPCS规则
- 关于 typedef 关键字的用法讲解:
- 使用python和redis实现实时聊天室
- 验证码
- 支付宝接口