struct usb_ep — device side representation of USB endpoint
struct usb_ep { void * driver_data; const char * name; const struct usb_ep_ops * ops; struct list_head ep_list; unsigned maxpacket:16; };
for use by the gadget driver. all other fields are read-only to gadget drivers.
identifier for the endpoint, such as “ep-a” or “ep9in-bulk”
Function pointers used to access hardware-specific operations.
the gadget's ep_list holds all of its endpoints
The maximum packet size used on this endpoint. The initial value can sometimes be reduced (hardware allowing), according to the endpoint descriptor used to configure the endpoint.