Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
 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#define GZERO_BULK_BUFLEN	4096
10#define GZERO_QLEN		32
11#define GZERO_ISOC_INTERVAL	4
12#define GZERO_ISOC_MAXPACKET	1024
13#define GZERO_SS_BULK_QLEN	1
14#define GZERO_SS_ISO_QLEN	8
15
16struct usb_zero_options {
17	unsigned pattern;
18	unsigned isoc_interval;
19	unsigned isoc_maxpacket;
20	unsigned isoc_mult;
21	unsigned isoc_maxburst;
22	unsigned bulk_buflen;
23	unsigned qlen;
24	unsigned ss_bulk_qlen;
25	unsigned ss_iso_qlen;
26};
27
28struct f_ss_opts {
29	struct usb_function_instance func_inst;
30	unsigned pattern;
31	unsigned isoc_interval;
32	unsigned isoc_maxpacket;
33	unsigned isoc_mult;
34	unsigned isoc_maxburst;
35	unsigned bulk_buflen;
36	unsigned bulk_qlen;
37	unsigned iso_qlen;
38
39	/*
40	 * Read/write access to configfs attributes is handled by configfs.
41	 *
42	 * This is to protect the data from concurrent access by read/write
43	 * and create symlink/remove symlink.
44	 */
45	struct mutex			lock;
46	int				refcnt;
47};
48
49struct f_lb_opts {
50	struct usb_function_instance func_inst;
51	unsigned bulk_buflen;
52	unsigned qlen;
53
54	/*
55	 * Read/write access to configfs attributes is handled by configfs.
56	 *
57	 * This is to protect the data from concurrent access by read/write
58	 * and create symlink/remove symlink.
59	 */
60	struct mutex			lock;
61	int				refcnt;
62};
63
64void lb_modexit(void);
65int lb_modinit(void);
66
67/* common utilities */
68void disable_endpoints(struct usb_composite_dev *cdev,
69		struct usb_ep *in, struct usb_ep *out,
70		struct usb_ep *iso_in, struct usb_ep *iso_out);
71
72#endif /* __G_ZERO_H */