Commit | Line | Data |
---|---|---|
a400cadc DB |
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 | ||
c0501f47 AP |
9 | #define GZERO_BULK_BUFLEN 4096 |
10 | #define GZERO_QLEN 32 | |
25d80151 AP |
11 | #define GZERO_ISOC_INTERVAL 4 |
12 | #define GZERO_ISOC_MAXPACKET 1024 | |
0d6c3d96 PC |
13 | #define GZERO_SS_BULK_QLEN 1 |
14 | #define GZERO_SS_ISO_QLEN 8 | |
c0501f47 | 15 | |
cf9a08ae SAS |
16 | struct 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; | |
0d6c3d96 PC |
24 | unsigned ss_bulk_qlen; |
25 | unsigned ss_iso_qlen; | |
cf9a08ae | 26 | }; |
a400cadc | 27 | |
cf9a08ae SAS |
28 | struct 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; | |
0d6c3d96 PC |
36 | unsigned bulk_qlen; |
37 | unsigned iso_qlen; | |
25d80151 AP |
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; | |
cf9a08ae SAS |
47 | }; |
48 | ||
49 | struct f_lb_opts { | |
50 | struct usb_function_instance func_inst; | |
51 | unsigned bulk_buflen; | |
52 | unsigned qlen; | |
c0501f47 AP |
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; | |
cf9a08ae SAS |
62 | }; |
63 | ||
64 | void lb_modexit(void); | |
65 | int lb_modinit(void); | |
a400cadc DB |
66 | |
67 | /* common utilities */ | |
a400cadc | 68 | void disable_endpoints(struct usb_composite_dev *cdev, |
b4036ccd | 69 | struct usb_ep *in, struct usb_ep *out, |
2c247804 | 70 | struct usb_ep *iso_in, struct usb_ep *iso_out); |
a400cadc | 71 | |
a400cadc | 72 | #endif /* __G_ZERO_H */ |