交互时做了什么
发
收
- 中断何时会发生
插入设备
数据来到
- 中断发生时
usb_hcd_irq
hcd->driver->irq(hcd) // ohci_irq (drivers/usb/host/ohci-hcd.c 提供的 struct hc_driver ohci_hc_driver 结构体中的 irq成员)
// xhci_irq drivers/usb/host/xhci.c 中的 struct hc_driver xhci_hc_driver 结构体的 irq 成员
A. usb_hcd_irq
*hci_irq
tasklet 唤醒底半部
B .底半部的顶层函数
...
hub_irq/usb_mouse_irq
C.1 功能函数hub_irq
唤醒hub_thread 让你检测设备// 从而创建设备device 和 接口device
C.2 功能函数 usb_mouse_irq
上报给input子系统数据
C.3 ...