1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /* SPDX-License-Identifier: GPL-2.0 */
- /*
- * This header declares the utility functions used by "Gadget Zero", plus
- * interfaces to its two single-configuration function drivers.
- */
- #ifndef __G_ZERO_H
- #define __G_ZERO_H
- #define GZERO_BULK_BUFLEN 4096
- #define GZERO_QLEN 32
- #define GZERO_ISOC_INTERVAL 4
- #define GZERO_ISOC_MAXPACKET 1024
- #define GZERO_SS_BULK_QLEN 1
- #define GZERO_SS_ISO_QLEN 8
- struct usb_zero_options {
- unsigned pattern;
- unsigned isoc_interval;
- unsigned isoc_maxpacket;
- unsigned isoc_mult;
- unsigned isoc_maxburst;
- unsigned bulk_buflen;
- unsigned qlen;
- unsigned ss_bulk_qlen;
- unsigned ss_iso_qlen;
- };
- struct f_ss_opts {
- struct usb_function_instance func_inst;
- unsigned pattern;
- unsigned isoc_interval;
- unsigned isoc_maxpacket;
- unsigned isoc_mult;
- unsigned isoc_maxburst;
- unsigned bulk_buflen;
- unsigned bulk_qlen;
- unsigned iso_qlen;
- /*
- * Read/write access to configfs attributes is handled by configfs.
- *
- * This is to protect the data from concurrent access by read/write
- * and create symlink/remove symlink.
- */
- struct mutex lock;
- int refcnt;
- };
- struct f_lb_opts {
- struct usb_function_instance func_inst;
- unsigned bulk_buflen;
- unsigned qlen;
- /*
- * Read/write access to configfs attributes is handled by configfs.
- *
- * This is to protect the data from concurrent access by read/write
- * and create symlink/remove symlink.
- */
- struct mutex lock;
- int refcnt;
- };
- void lb_modexit(void);
- int lb_modinit(void);
- /* common utilities */
- void disable_endpoints(struct usb_composite_dev *cdev,
- struct usb_ep *in, struct usb_ep *out,
- struct usb_ep *iso_in, struct usb_ep *iso_out);
- #endif /* __G_ZERO_H */
|