From 8e4bff4cab0ddac6060645b0715210484d02ff40 Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Wed, 30 Aug 2017 08:25:59 +0000 Subject: Initial file dump from open source release --- drivers/staging/bcm/InterfaceAdapter.h | 79 ++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 drivers/staging/bcm/InterfaceAdapter.h (limited to 'drivers/staging/bcm/InterfaceAdapter.h') diff --git a/drivers/staging/bcm/InterfaceAdapter.h b/drivers/staging/bcm/InterfaceAdapter.h new file mode 100644 index 00000000..06a6b18b --- /dev/null +++ b/drivers/staging/bcm/InterfaceAdapter.h @@ -0,0 +1,79 @@ +#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 -- cgit v1.3.1