1 #ifndef _INTERFACE_ADAPTER_H
2 #define _INTERFACE_ADAPTER_H
4 struct bcm_bulk_endpoint_in {
7 unsigned char bulk_in_endpointAddr;
8 unsigned int bulk_in_pipe;
11 struct bcm_bulk_endpoint_out {
12 unsigned char bulk_out_buffer;
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;
20 struct bcm_intr_endpoint_in {
23 unsigned char int_in_endpointAddr;
24 unsigned char int_in_interval;
25 unsigned int int_in_pipe;
28 struct bcm_intr_endpoint_out {
31 unsigned char int_out_endpointAddr;
32 unsigned char int_out_interval;
33 unsigned int int_out_pipe;
49 * This is the interface specific Sub-Adapter
52 struct 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];
71 struct bcm_mini_adapter *psAdapter;
73 bool bHighSpeedDevice;
75 bool bPreparingForBusSuspend;
76 struct work_struct usbSuspendWork;