先看一张熟悉的图:
可见usb设备都是接在hub上的,设备的检测自然跟hub相关了,这里以root hub为例。
看usb hub驱动代码,跟usb设备检测相关的有如下几处(按在hub_probe中的调用顺序):
1.INIT_WORK(&hub->events, hub_event);
2.usb_fill_int_urb(hub->urb, hdev, pipe, *hub->buffer, maxp, hub_irq,
hub, endpoint->bInte

可见usb设备都是接在hub上的,设备的检测自然跟hub相关了,这里以root hub为例。
看usb hub驱动代码,跟usb设备检测相关的有如下几处(按在hub_probe中的调用顺序):
1.INIT_WORK(&hub->events, hub_event);
2.usb_fill_int_urb(hub->urb, hdev, pipe, *hub->buffer, maxp, hub_irq,
hub, endpoint->bInte