对于USB从设备而言,结构USB_gadget就可以代表。Gadget通过“Gadget驱动程序”来实现设备功能,处理所有的USB配置和接口。通过操作函数集,Gadget驱动程序与硬件特定代码间接通信。它将Gadget驱动程序与那个硬件细节隔开,并通过I/O队列包装硬件端点。 “usb_gadget”“usb_ep”接口则可提供对硬件的隔离。
其结构usb_gadget的代码如下:
结构usb_gadget_ops是USB设备控制期的设备控制函数集,其操作包括get_frames、wakeup、pullop、ioctl等。结构struct usb_ep是USB端点从设备侧的代表,总线控制器驱动程序中列出了在gadget->ep_list里所有的通用端点,但控制端点不在列表中,它仅在回应驱动程序的setup 0 回调函数时才被访问,其代码如下:
4 结束语
本文主要通过在S