Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.8.
 1#ifndef _INTERFACE_ADAPTER_H
 2#define _INTERFACE_ADAPTER_H
 3
 4struct bcm_bulk_endpoint_in {
 5	char	*bulk_in_buffer;
 6	size_t	bulk_in_size;
 7	unsigned char	bulk_in_endpointAddr;
 8	unsigned int	bulk_in_pipe;
 9};
10
11struct bcm_bulk_endpoint_out {
12	unsigned char	bulk_out_buffer;
13	size_t	bulk_out_size;
14	unsigned char	bulk_out_endpointAddr;
15	unsigned int	bulk_out_pipe;
16	/* this is used when int out endpoint is used as bulk out end point */
17	unsigned char	int_out_interval;
18};
19
20struct bcm_intr_endpoint_in {
21	char	*int_in_buffer;
22	size_t	int_in_size;
23	unsigned char	int_in_endpointAddr;
24	unsigned char	int_in_interval;
25	unsigned int	int_in_pipe;
26};
27
28struct bcm_intr_endpoint_out {
29	char	*int_out_buffer;
30	size_t	int_out_size;
31	unsigned char	int_out_endpointAddr;
32	unsigned char	int_out_interval;
33	unsigned int	int_out_pipe;
34};
35
36struct bcm_usb_tcb {
37	struct urb *urb;
38	void *psIntfAdapter;
39	bool bUsed;
40};
41
42struct bcm_usb_rcb {
43	struct urb *urb;
44	void *psIntfAdapter;
45	bool bUsed;
46};
47
48/*
49 * This is the interface specific Sub-Adapter
50 * Structure.
51 */
52struct bcm_interface_adapter {
53	struct usb_device *udev;
54	struct usb_interface *interface;
55	/* Bulk endpoint in info */
56	struct bcm_bulk_endpoint_in	sBulkIn;
57	/* Bulk endpoint out info */
58	struct bcm_bulk_endpoint_out	sBulkOut;
59	/* Interrupt endpoint in info */
60	struct bcm_intr_endpoint_in	sIntrIn;
61	/* Interrupt endpoint out info */
62	struct bcm_intr_endpoint_out	sIntrOut;
63	unsigned long		ulInterruptData[2];
64	struct urb *psInterruptUrb;
65	struct bcm_usb_tcb	asUsbTcb[MAXIMUM_USB_TCB];
66	struct bcm_usb_rcb	asUsbRcb[MAXIMUM_USB_RCB];
67	atomic_t	uNumTcbUsed;
68	atomic_t	uCurrTcb;
69	atomic_t	uNumRcbUsed;
70	atomic_t	uCurrRcb;
71	struct bcm_mini_adapter *psAdapter;
72	bool		bFlashBoot;
73	bool		bHighSpeedDevice;
74	bool		bSuspended;
75	bool		bPreparingForBusSuspend;
76	struct work_struct usbSuspendWork;
77};
78
79#endif