linux那些事之我是USB
2013-11-28 22:10
211 查看
这两天闲着没事,就翻开这本<linux那些事之我是USB>看了一下,这里做些笔记,帮助自己以后复习用。
usb的主要代码位于/driver/usb/storage下面,核心代码在/driver/usb/storage/core目录下面,
这幅图是看书的过程中画的,这就是一个简单的总线设备模型,相信不难理解,当设备连接上时会被添加到总线的devices链表中,那么驱动通过usb_register注册的时候也会加入到对应的drivers链表中,那么设备和驱动是怎么联系起来的呢?
相信从图中不难看出,首先,要说的是,一个设备只能对于一个驱动,但是一个驱动却可以支持多种设备。
驱动遍历devices链表,找到device_driver指正为空的device,然后查看这个设备的特征,如果是自己支持的设备,那么就让这个指针指向自己,并且把这个device加入到自己的list_head链表中,到这里总线、设备、驱动这个三角形就简历起来了。
usb的主要代码位于/driver/usb/storage下面,核心代码在/driver/usb/storage/core目录下面,
这幅图是看书的过程中画的,这就是一个简单的总线设备模型,相信不难理解,当设备连接上时会被添加到总线的devices链表中,那么驱动通过usb_register注册的时候也会加入到对应的drivers链表中,那么设备和驱动是怎么联系起来的呢?
相信从图中不难看出,首先,要说的是,一个设备只能对于一个驱动,但是一个驱动却可以支持多种设备。
驱动遍历devices链表,找到device_driver指正为空的device,然后查看这个设备的特征,如果是自己支持的设备,那么就让这个指针指向自己,并且把这个device加入到自己的list_head链表中,到这里总线、设备、驱动这个三角形就简历起来了。
相关文章推荐
- 安全删除USB 快捷键一键搞定
- RK平台下USB_OTG提供的接口和返回的状态
- 从USB驱动器运行Windows 10
- (转)USB体系结构
- Ubuntu下为virtualbox设置共享文件夹,共享粘贴板,识别USB设备问题
- 从USB驱动器运行Windows 10
- windows wdf 驱动开发总结(3)-usb驱动
- usb的几个概念
- Linux usb子系统(一) _写一个usb鼠标驱动
- Ubuntu: VirtualBox启用Usb设备(主机Windows + VirtualBox(Ubuntu))
- wince下USB设备驱动程序导读
- ttyUSB串口设备节点生成过程
- 二、不同类型的USB 3.0连接器
- Android【USB名称修改系列】第8项-如何修改mtp设备在设备管理器中的”Portable Devices”下的名称
- 树莓派3使用USB摄像头
- 基于USB的IAP功能实现
- NEXYS 3开发板练手--USB UART(三)
- B. USB vs. PS/2(结构体排序)
- USB模块
- USB芯片 收发数据