6. USB总线驱动程序的作用
a. 识别USB设备
1.0 USB通过端口0 ,给USB分配新的地址,set address
2.0 发出命令,获取设备描述符。
b. 查找并安装对应的设备驱动程序
c. 提供USB读写函数
在分析USB设备驱动程序的时候,肯定会遇到Hub.c
hub_port_connect_change method
hub_port_init
hub_set_address
在内核目录下搜:
grep "USB device using" * -nR
drivers/usb/core/hub.c:2186: "%s %s speed %sUSB device using %s and address %d\n",
hub_irq
kick_khubd
hub_thread
hub_events
hub_port_connect_change
udev = usb_alloc_dev(hdev, hdev->bus, port1);
dev->dev.bus = &usb_bus_type;
dev->dev.type = &usb_device_type; 这个目前还不知道在哪里用到
这个地方把device的bus总线赋值成usb_bus_type,说明是USB总线
看这个usb_bus_type,其实是一个结构体,里面有