Linux内核版本:2.6.28
driver/usb/core/driver.c
struct bus_type usb_bus_type = {
.name = "usb",
.match = usb_device_match,
.uevent = usb_uevent,
};
usb设备: struct usb_device
usb配置: struct usb_host_config
usb接口: struct usb_interface 对应驱动程序,代表一种基本功能。
usb端点:struct usb_host_endpoint
usb设备 > usb配置 > usb接口 > usb端点
usb端点类型: 中断,控制,等时,批量
usb端点属性:端点地址,端点方向(单方向),端点的类型(中断,控制等),端点处理的最大字节数
/* table of devices that work with this driver */
static struct usb_device_id skel_table [] = {
{ USB_DEVICE(USB_SKEL_VENDOR_ID, USB_SKEL_PRODUCT_ID) },
{ } /* Terminating entry */
};
MODULE_DEVICE_TABLE(usb,skel_table);