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 #include <linux/usb/composite.h>
10 
11 /* global state */
12 extern unsigned buflen;
13 extern const struct usb_descriptor_header *otg_desc[];
14 
15 /* common utilities */
16 struct usb_request *alloc_ep_req(struct usb_ep *ep);
17 void free_ep_req(struct usb_ep *ep, struct usb_request *req);
18 void disable_endpoints(struct usb_composite_dev *cdev,
19 		struct usb_ep *in, struct usb_ep *out);
20 
21 /* configuration-specific linkup */
22 int sourcesink_add(struct usb_composite_dev *cdev, bool autoresume);
23 int loopback_add(struct usb_composite_dev *cdev, bool autoresume);
24 
25 #endif /* __G_ZERO_H */
26