mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
cf9a08ae5a
This patch converts the f_sourcesink and f_loopback file to the USB-function module. Both functions shares a few common utility functions which are currently implemented in g_zero.c itself. This patch moves the common code into the sourcesink file and creates one module out of the the two functions (source sink and loop back). The g_zero gadget is function specific to source sink and loop back to set a few options. This Symbol dependency enforces a modul load right now. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Felipe Balbi <balbi@ti.com>
46 lines
1.0 KiB
C
46 lines
1.0 KiB
C
/*
|
|
* 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
|
|
|
|
struct usb_zero_options {
|
|
unsigned pattern;
|
|
unsigned isoc_interval;
|
|
unsigned isoc_maxpacket;
|
|
unsigned isoc_mult;
|
|
unsigned isoc_maxburst;
|
|
unsigned bulk_buflen;
|
|
unsigned 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;
|
|
};
|
|
|
|
struct f_lb_opts {
|
|
struct usb_function_instance func_inst;
|
|
unsigned bulk_buflen;
|
|
unsigned qlen;
|
|
};
|
|
|
|
void lb_modexit(void);
|
|
int lb_modinit(void);
|
|
|
|
/* common utilities */
|
|
struct usb_request *alloc_ep_req(struct usb_ep *ep, int len);
|
|
void free_ep_req(struct usb_ep *ep, struct usb_request *req);
|
|
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 */
|