Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android
[firefly-linux-kernel-4.4.55.git] / drivers / usb / gadget / g_zero.h
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 */