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
;