2008-06-19 17:55:23 -07:00
/*
* 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
2013-11-07 08:41:27 +01:00
# define GZERO_BULK_BUFLEN 4096
# define GZERO_QLEN 32
2013-11-07 08:41:28 +01:00
# define GZERO_ISOC_INTERVAL 4
# define GZERO_ISOC_MAXPACKET 1024
2015-11-19 15:02:16 +08:00
# define GZERO_SS_BULK_QLEN 1
# define GZERO_SS_ISO_QLEN 8
2013-11-07 08:41:27 +01:00
2012-12-23 21:10:01 +01:00
struct usb_zero_options {
unsigned pattern ;
unsigned isoc_interval ;
unsigned isoc_maxpacket ;
unsigned isoc_mult ;
unsigned isoc_maxburst ;
unsigned bulk_buflen ;
unsigned qlen ;
2015-11-19 15:02:16 +08:00
unsigned ss_bulk_qlen ;
unsigned ss_iso_qlen ;
2012-12-23 21:10:01 +01:00
} ;
2008-06-19 17:55:23 -07:00
2012-12-23 21:10:01 +01:00
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 ;
2015-11-19 15:02:16 +08:00
unsigned bulk_qlen ;
unsigned iso_qlen ;
2013-11-07 08:41:28 +01:00
/*
* 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 ;
2012-12-23 21:10:01 +01:00
} ;
struct f_lb_opts {
struct usb_function_instance func_inst ;
unsigned bulk_buflen ;
unsigned qlen ;
2013-11-07 08:41:27 +01:00
/*
* 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 ;
2012-12-23 21:10:01 +01:00
} ;
void lb_modexit ( void ) ;
int lb_modinit ( void ) ;
2008-06-19 17:55:23 -07:00
/* common utilities */
void disable_endpoints ( struct usb_composite_dev * cdev ,
2012-04-16 14:19:06 -07:00
struct usb_ep * in , struct usb_ep * out ,
2015-03-11 10:00:05 -05:00
struct usb_ep * iso_in , struct usb_ep * iso_out ) ;
2008-06-19 17:55:23 -07:00
# endif /* __G_ZERO_H */