at v3.18-rc7 78 lines 1.9 kB view raw
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_INT_INTERVAL 1 /* Default interrupt interval = 1 ms */ 14#define GZERO_INT_MAXPACKET 1024 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 int_interval; /* In ms */ 23 unsigned int_maxpacket; 24 unsigned int_mult; 25 unsigned int_maxburst; 26 unsigned bulk_buflen; 27 unsigned qlen; 28}; 29 30struct f_ss_opts { 31 struct usb_function_instance func_inst; 32 unsigned pattern; 33 unsigned isoc_interval; 34 unsigned isoc_maxpacket; 35 unsigned isoc_mult; 36 unsigned isoc_maxburst; 37 unsigned int_interval; /* In ms */ 38 unsigned int_maxpacket; 39 unsigned int_mult; 40 unsigned int_maxburst; 41 unsigned bulk_buflen; 42 43 /* 44 * Read/write access to configfs attributes is handled by configfs. 45 * 46 * This is to protect the data from concurrent access by read/write 47 * and create symlink/remove symlink. 48 */ 49 struct mutex lock; 50 int refcnt; 51}; 52 53struct f_lb_opts { 54 struct usb_function_instance func_inst; 55 unsigned bulk_buflen; 56 unsigned qlen; 57 58 /* 59 * Read/write access to configfs attributes is handled by configfs. 60 * 61 * This is to protect the data from concurrent access by read/write 62 * and create symlink/remove symlink. 63 */ 64 struct mutex lock; 65 int refcnt; 66}; 67 68void lb_modexit(void); 69int lb_modinit(void); 70 71/* common utilities */ 72void free_ep_req(struct usb_ep *ep, struct usb_request *req); 73void disable_endpoints(struct usb_composite_dev *cdev, 74 struct usb_ep *in, struct usb_ep *out, 75 struct usb_ep *iso_in, struct usb_ep *iso_out, 76 struct usb_ep *int_in, struct usb_ep *int_out); 77 78#endif /* __G_ZERO_H */