74 lines · 1.7 KB · C
RawDownload
/* 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_maxburst;	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 */