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