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