您的位置:首页 > 运维架构 > Linux

Linux usb_device usb_bus usb_driver的三角关系-USB Bus

2011-11-29 20:00 155 查看

二、USB Bus

每一条USB总线对应一个struct usb_bus结构体变量.

struct
bus_type usb_bus_type = {

.name = "usb",

.match = usb_device_match,

.uevent = usb_uevent,

.pm = &usb_bus_pm_ops,

};

struct bus_type表示总线的类型,而usb_bus_type定义了一种usb总线类型,通过bus_register(&usb_bus_type)让系统知道有usb这么一个类型的总线。

而一个总线类型和一条总线是两码子事儿。从硬件上来讲,一个host controller就会连出一条usb总线,而从软件上来讲,不管你有多少个host controller,或者说有多少条总线,它们通通属于usb_bus_type这么一个类型,只是每一条总线对应一个struct usb_bus结构体变量,这个变量在host controller的驱动程序中去申请。

HCD is bus. struct usb_hcd包含一个struct usb_bus.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: