1/* 2 * This header declares the utility functions used by "Gadget Zero", plus 3 * interfaces to its two single-configuration function drivers. 4 */ 5 6#ifndef __G_ZERO_H 7#define __G_ZERO_H 8 9struct usb_zero_options { 10 unsigned pattern; 11 unsigned isoc_interval; 12 unsigned isoc_maxpacket; 13 unsigned isoc_mult; 14 unsigned isoc_maxburst; 15 unsigned bulk_buflen; 16 unsigned qlen; 17}; 18 19struct f_ss_opts { 20 struct usb_function_instance func_inst; 21 unsigned pattern; 22 unsigned isoc_interval; 23 unsigned isoc_maxpacket; 24 unsigned isoc_mult; 25 unsigned isoc_maxburst; 26 unsigned bulk_buflen; 27}; 28 29struct f_lb_opts { 30 struct usb_function_instance func_inst; 31 unsigned bulk_buflen; 32 unsigned qlen; 33}; 34 35void lb_modexit(void); 36int lb_modinit(void); 37 38/* common utilities */ 39struct usb_request *alloc_ep_req(struct usb_ep *ep, int len); 40void free_ep_req(struct usb_ep *ep, struct usb_request *req); 41void disable_endpoints(struct usb_composite_dev *cdev, 42 struct usb_ep *in, struct usb_ep *out, 43 struct usb_ep *iso_in, struct usb_ep *iso_out); 44 45#endif /* __G_ZERO_H */ 46