| #ifndef _INTERFACE_ADAPTER_H | |
| #define _INTERFACE_ADAPTER_H | |
| struct bcm_bulk_endpoint_in { | |
| char *bulk_in_buffer; | |
| size_t bulk_in_size; | |
| unsigned char bulk_in_endpointAddr; | |
| unsigned int bulk_in_pipe; | |
| }; | |
| struct bcm_bulk_endpoint_out { | |
| unsigned char bulk_out_buffer; | |
| size_t bulk_out_size; | |
| unsigned char bulk_out_endpointAddr; | |
| unsigned int bulk_out_pipe; | |
| /* this is used when int out endpoint is used as bulk out end point */ | |
| unsigned char int_out_interval; | |
| }; | |
| struct bcm_intr_endpoint_in { | |
| char *int_in_buffer; | |
| size_t int_in_size; | |
| unsigned char int_in_endpointAddr; | |
| unsigned char int_in_interval; | |
| unsigned int int_in_pipe; | |
| }; | |
| struct bcm_intr_endpoint_out { | |
| char *int_out_buffer; | |
| size_t int_out_size; | |
| unsigned char int_out_endpointAddr; | |
| unsigned char int_out_interval; | |
| unsigned int int_out_pipe; | |
| }; | |
| struct bcm_usb_tcb { | |
| struct urb *urb; | |
| void *psIntfAdapter; | |
| bool bUsed; | |
| }; | |
| struct bcm_usb_rcb { | |
| struct urb *urb; | |
| void *psIntfAdapter; | |
| bool bUsed; | |
| }; | |
| /* | |
| * This is the interface specific Sub-Adapter | |
| * Structure. | |
| */ | |
| struct bcm_interface_adapter { | |
| struct usb_device *udev; | |
| struct usb_interface *interface; | |
| /* Bulk endpoint in info */ | |
| struct bcm_bulk_endpoint_in sBulkIn; | |
| /* Bulk endpoint out info */ | |
| struct bcm_bulk_endpoint_out sBulkOut; | |
| /* Interrupt endpoint in info */ | |
| struct bcm_intr_endpoint_in sIntrIn; | |
| /* Interrupt endpoint out info */ | |
| struct bcm_intr_endpoint_out sIntrOut; | |
| unsigned long ulInterruptData[2]; | |
| struct urb *psInterruptUrb; | |
| struct bcm_usb_tcb asUsbTcb[MAXIMUM_USB_TCB]; | |
| struct bcm_usb_rcb asUsbRcb[MAXIMUM_USB_RCB]; | |
| atomic_t uNumTcbUsed; | |
| atomic_t uCurrTcb; | |
| atomic_t uNumRcbUsed; | |
| atomic_t uCurrRcb; | |
| struct bcm_mini_adapter *psAdapter; | |
| bool bFlashBoot; | |
| bool bHighSpeedDevice; | |
| bool bSuspended; | |
| bool bPreparingForBusSuspend; | |
| struct work_struct usbSuspendWork; | |
| }; | |
| #endif |