blob: ef3e8515272b1e99c31c06673e88e6f710bc9359 [file] [log] [blame]
David Brownella400cad2008-06-19 17:55:23 -07001/*
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
Sebastian Andrzej Siewiorcf9a08a2012-12-23 21:10:01 +01009struct 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};
David Brownella400cad2008-06-19 17:55:23 -070018
Sebastian Andrzej Siewiorcf9a08a2012-12-23 21:10:01 +010019struct 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);
David Brownella400cad2008-06-19 17:55:23 -070037
38/* common utilities */
Paul Zimmermanb4036cc2012-04-16 14:19:06 -070039struct usb_request *alloc_ep_req(struct usb_ep *ep, int len);
David Brownella400cad2008-06-19 17:55:23 -070040void free_ep_req(struct usb_ep *ep, struct usb_request *req);
41void disable_endpoints(struct usb_composite_dev *cdev,
Paul Zimmermanb4036cc2012-04-16 14:19:06 -070042 struct usb_ep *in, struct usb_ep *out,
43 struct usb_ep *iso_in, struct usb_ep *iso_out);
David Brownella400cad2008-06-19 17:55:23 -070044
David Brownella400cad2008-06-19 17:55:23 -070045#endif /* __G_ZERO_H */