USB_EP_ENABLE

Section: Kernel Mode Gadget API (9)
Updated: February 2011
Index Return to Main Contents
 

NAME

usb_ep_enable - configure endpoint, making it usable  

SYNOPSIS

int usb_ep_enable(struct usb_ep * ep, const struct usb_endpoint_descriptor * desc);
 

ARGUMENTS

ep

the endpoint being configured. may not be the endpoint named lqep0rq. drivers discover endpoints through the ep_list of a usb_gadget.

desc

descriptor for desired behavior. caller guarantees this pointer remains valid until the endpoint is disabled; the data byte order is little-endian (usb-standard).
 

DESCRIPTION

when configurations are set, or when interface settings change, the driver will enable or disable the relevant endpoints. while it is enabled, an endpoint may be used for i/o until the driver receives a disconnect from the host or until the endpoint is disabled.

the ep0 implementation (which calls this routine) must ensure that the hardware capabilities of each endpoint match the descriptor provided for it. for example, an endpoint named lqep2in-bulkrq would be usable for interrupt transfers as well as bulk, but it likely couldn't be used for iso transfers or for endpoint 14. some endpoints are fully configurable, with more generic names like lqep-arq. (remember that for USB, lqinrq means lqtowards the USB masterrq.)

returns zero, or a negative error code.  

AUTHOR

David Brownell <dbrownell@users.sourceforge.net>

Author.
 

COPYRIGHT