1.需要关注的代码
(struct device; struct device_driver; struct bus_type;这些结构图在linux/include里定义)
drivers/usb/storage/
drivers/usb/core/负责核心功能:初始化整个usb系统,初始化 hub, 初始化 controller, 内存申请,公共函数 ,host controller, root hub
drivers/usb/host/ 不同的host controller
常见的host controller有三种 EHCI UHCI OHCI
2.代码分析
模块加载时会执行drivers/usb/storage/usb.c =》usb_stor_init(void)
=》usb_register