Linux Audio

Check our new training course

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