• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
9 struct 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 
19 struct 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 
29 struct f_lb_opts {
30 	struct usb_function_instance func_inst;
31 	unsigned bulk_buflen;
32 	unsigned qlen;
33 };
34 
35 void lb_modexit(void);
36 int lb_modinit(void);
37 
38 /* common utilities */
39 struct usb_request *alloc_ep_req(struct usb_ep *ep, int len);
40 void free_ep_req(struct usb_ep *ep, struct usb_request *req);
41 void 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