#include "hub.h"\r
#include "usbutil.h"\r
\r
+\r
extern UINTN gUSBDebugLevel;\r
extern UINTN gUSBErrorLevel;\r
\r
+\r
#define MICROSECOND 10000\r
#define ONESECOND (1000 * MICROSECOND)\r
#define BUSPOLLING_PERIOD ONESECOND\r
//\r
extern EFI_DRIVER_BINDING_PROTOCOL gUsbBusDriverBinding;\r
extern EFI_COMPONENT_NAME_PROTOCOL gUsbBusComponentName;\r
-extern EFI_GUID gUSBBusDriverGuid;\r
+\r
+//\r
+// EFI_DRIVER_BINDING_PROTOCOL Protocol Interface\r
+//\r
+EFI_STATUS\r
+EFIAPI\r
+UsbBusControllerDriverSupported (\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UsbBusControllerDriverStart (\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UsbBusControllerDriverStop (\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN UINTN NumberOfChildren,\r
+ IN EFI_HANDLE *ChildHandleBuffer\r
+ );\r
+\r
+//\r
+// EFI Component Name Functions\r
+//\r
+EFI_STATUS\r
+EFIAPI\r
+UsbBusComponentNameGetDriverName (\r
+ IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **DriverName\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UsbBusComponentNameGetControllerName (\r
+ IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_HANDLE ChildHandle, OPTIONAL\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **ControllerName\r
+ );\r
\r
//\r
// Usb Device Configuration functions\r
--*/\r
;\r
\r
+EFI_STATUS\r
+EFIAPI\r
+UsbPortReset (\r
+ IN EFI_USB_IO_PROTOCOL *This\r
+ )\r
+/*++\r
+\r
+ Routine Description:\r
+ Resets and reconfigures the USB controller. This function will\r
+ work for all USB devices except USB Hub Controllers.\r
+\r
+ Arguments:\r
+ This - Indicates the calling context.\r
+\r
+ Returns:\r
+ EFI_SUCCESS\r
+ EFI_INVALID_PARAMETER\r
+ EFI_DEVICE_ERROR\r
+\r
+--*/\r
+;\r
+\r
+VOID\r
+InitializeUsbIoInstance (\r
+ IN USB_IO_CONTROLLER_DEVICE *UsbIoController\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Initialize the instance of UsbIo controller\r
+\r
+Arguments:\r
+\r
+ UsbIoController - A pointer to controller structure of UsbIo\r
+\r
+Returns:\r
+\r
+--*/\r
+;\r
+\r
#endif\r