1USB_EP_ENABLE(9) Kernel Mode Gadget API USB_EP_ENABLE(9)
2
3
4
6 usb_ep_enable - configure endpoint, making it usable
7
9 int usb_ep_enable(struct usb_ep * ep,
10 const struct usb_endpoint_descriptor * desc);
11
13 ep
14 the endpoint being configured. may not be the endpoint named “ep0”.
15 drivers discover endpoints through the ep_list of a usb_gadget.
16
17 desc
18 descriptor for desired behavior. caller guarantees this pointer
19 remains valid until the endpoint is disabled; the data byte order
20 is little-endian (usb-standard).
21
23 when configurations are set, or when interface settings change, the
24 driver will enable or disable the relevant endpoints. while it is
25 enabled, an endpoint may be used for i/o until the driver receives a
26 disconnect from the host or until the endpoint is disabled.
27
28 the ep0 implementation (which calls this routine) must ensure that the
29 hardware capabilities of each endpoint match the descriptor provided
30 for it. for example, an endpoint named “ep2in-bulk” would be usable for
31 interrupt transfers as well as bulk, but it likely couldn´t be used for
32 iso transfers or for endpoint 14. some endpoints are fully
33 configurable, with more generic names like “ep-a”. (remember that for
34 USB, “in” means “towards the USB master”.)
35
36 returns zero, or a negative error code.
37
39 David Brownell <dbrownell@users.sourceforge.net>
40 Author.
41
43Kernel Hackers Manual 2.6. June 2019 USB_EP_ENABLE(9)