Linux下 hid quirks的研究
来源:互联网 发布:seo网络推广公司 编辑:程序博客网 时间:2024/04/27 23:56
Sam在读USB HIDdriver时,看到quirks这部分内容。因为之前在看USB部分代码时,常看到类似的内容,但对它的语义理解并不清楚,只是笼统地认为是一个需要修正的东西。现在稍微研究一下。
一:quirks简介:
quirks: 怪癖的意思,也就是说它某种特性与通常的USB设备不相同。
Sam之前是在USB部分看到quirks:
在~/drivers/usb/core/quirks.c中,有个usb_quirk_list列表,它其实就是一个黑名单,描述了某个设备有何种问题。例如:
表明:vid=0x03f0,pid=0x4002的设备(Hewlett-Packard PhotoSmart720 ),不能自动suspend.
这个列表是不断扩展的,不断添加有问题的设备上来。
则判断一个设备是不是在这张黑名单上,然后如果是的,就判断它具体是属于哪种问题,
二:HIDquirks:
Sam在看USB HID driver时,在modulesinsmod时,会调用hid_init()。它又会调用usbhid_quirks_init()
如果在insmodmodules时,使用modules参数添加了quirks,格式为:quirks=pid:vid:quirks
则将此项内容添加或替换在动态建立的dquirks_list中。换句话说,也就是当modules的提供商知道自己的设备会有什么异常时,可以这样使用。
注意:此处仅仅是将某种PID,VID的quirks添加进动态列表而已。
有动态黑名单,就有静态黑名单。静态黑名单在~/drivers/hid/usbhid/hid-quirks.c中--hid_blacklist。它描绘了已知所有的quirks.
三:如何使用HIDquirks:
在hid设备probe时,会调用usbhid_lookup_quirk(),它则分别调用usbhid_exists_dquirk(动态)——和usbhid_exists_squirk(静态)在静态黑名单和动态黑名单中寻找有没有对应的vid和pid设备。如果有,则将quirks纪录在hid->quirks中。
- Linux下 hid quirks的研究
- Linux下 hid quirks的研究
- Linux下 hid quirks的研究
- Linux下USB HID device driver研究
- Linux下 USB HID device driver研究(三)--probe
- Linux下USB HID device driver研究(三)--probe
- Linux下USB HID device driver研究(二)
- Linux下USB HID device driver研究(一)
- Linux下USB HID device driver研究(一)
- Linux下USB HID device driver研究(二)
- Linux下USB HID device driver研究(二)
- Linux Gadget的一点研究之HID设备
- Linux 下的 hid dev 设备编程处理
- Linux 下的 hid dev 设备编程处理
- linux下自定义USB HID设备
- linux HID
- Android上实现Bluetooth HID device的研究(一)
- 研究linux下的Swap分区
- Ullrich Köthe's Publications关于结构张量的文章
- 作用域与成员函数
- 实现在Picture控件中获取鼠标位置
- Java根据word模板生成word文档之后台解析和实现及部分代码(三)E
- 如何改变Activity的显示方向
- Linux下 hid quirks的研究
- GestureDetector.OnGestureListener 详解以及android手势动作详解!
- “灵异类”灭火机器人
- 作品展(三)
- POJ-4043(简单数论)(Remoteland)
- Loadrunner如何监控tomcat Web容器内存状况
- Linux下 USB HID device driver研究(三)--probe
- uva 563 - Crimewave(分点+最大流)
- 两种方式隐藏键盘