blob: dd2f16ad5a888541da09071f83a7b963c59f962e [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 */
22int sourcesink_add(struct usb_composite_dev *cdev);
David Brownelle5760fd2008-06-19 17:55:35 -070023int loopback_add(struct usb_composite_dev *cdev);
David Brownella400cad2008-06-19 17:55:23 -070024
25#endif /* __G_ZERO_H */