blob: e84b3c47ed3c3da1d9676b5a32055eac8caad6fd [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
9#include <linux/usb/composite.h>
10
11/* global state */
David Brownelle5760fd2008-06-19 17:55:35 -070012extern unsigned buflen;
David Brownella400cad2008-06-19 17:55:23 -070013extern 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 */
David Brownellab943a22009-03-19 14:16:09 -070022int sourcesink_add(struct usb_composite_dev *cdev, bool autoresume);
23int loopback_add(struct usb_composite_dev *cdev, bool autoresume);
David Brownella400cad2008-06-19 17:55:23 -070024
25#endif /* __G_ZERO_H */