]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBus.c
Fix various 'EFIAPI' inconsistencies found while building MdeModulePkg.
[mirror_edk2.git] / MdeModulePkg / Bus / Usb / UsbBusDxe / UsbBus.c
index 332871a6851d013a9857fa206e5ad629e63ea00d..d0def777bd79aad2174e21344b6ff5f98ba896dc 100644 (file)
@@ -1,5 +1,7 @@
 /** @file\r
 \r
+    Usb Bus Driver Binding and Bus IO Protocol.\r
+\r
 Copyright (c) 2004 - 2007, Intel Corporation\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
@@ -9,17 +11,6 @@ http://opensource.org/licenses/bsd-license.php
 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-  Module Name:\r
-\r
-    UsbBus.c\r
-\r
-  Abstract:\r
-\r
-    Usb Bus Driver Binding and Bus IO Protocol\r
-\r
-  Revision History\r
-\r
-\r
 **/\r
 \r
 #include "UsbBus.h"\r
@@ -29,6 +20,31 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 //\r
 EFI_GUID  mUsbBusProtocolGuid = EFI_USB_BUS_PROTOCOL_GUID;\r
 \r
+EFI_USB_IO_PROTOCOL mUsbIoProtocol = {\r
+  UsbIoControlTransfer,\r
+  UsbIoBulkTransfer,\r
+  UsbIoAsyncInterruptTransfer,\r
+  UsbIoSyncInterruptTransfer,\r
+  UsbIoIsochronousTransfer,\r
+  UsbIoAsyncIsochronousTransfer,\r
+  UsbIoGetDeviceDescriptor,\r
+  UsbIoGetActiveConfigDescriptor,\r
+  UsbIoGetInterfaceDescriptor,\r
+  UsbIoGetEndpointDescriptor,\r
+  UsbIoGetStringDescriptor,\r
+  UsbIoGetSupportedLanguages,\r
+  UsbIoPortReset\r
+};\r
+\r
+EFI_DRIVER_BINDING_PROTOCOL mUsbBusDriverBinding = {\r
+  UsbBusControllerDriverSupported,\r
+  UsbBusControllerDriverStart,\r
+  UsbBusControllerDriverStop,\r
+  0xa,\r
+  NULL,\r
+  NULL\r
+};\r
+\r
 \r
 /**\r
   USB_IO function to execute a control transfer. This\r
@@ -45,11 +61,10 @@ EFI_GUID  mUsbBusProtocolGuid = EFI_USB_BUS_PROTOCOL_GUID;
   @param  UsbStatus              USB result\r
 \r
   @retval EFI_INVALID_PARAMETER  The parameters are invalid\r
-  @retval EFI_SUCCESS            The control transfer succeded.\r
+  @retval EFI_SUCCESS            The control transfer succeeded.\r
   @retval Others                 Failed to execute the transfer\r
 \r
 **/\r
-STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 UsbIoControlTransfer (\r
@@ -96,6 +111,7 @@ UsbIoControlTransfer (
     // Clear TT buffer when CTRL/BULK split transaction failes\r
     // Clear the TRANSLATOR TT buffer, not parent's buffer\r
     //\r
+    ASSERT (Dev->Translator.TranslatorHubAddress < USB_MAX_DEVICES);\r
     if (Dev->Translator.TranslatorHubAddress != 0) {\r
       UsbHubCtrlClearTTBuffer (\r
         Dev->Bus->Devices[Dev->Translator.TranslatorHubAddress],\r
@@ -137,7 +153,7 @@ UsbIoControlTransfer (
   // should stop use its current UsbIo after calling this driver. The old\r
   // UsbIo will be uninstalled and new UsbIo be installed. We can't use\r
   // ReinstallProtocol since interfaces in different configuration may be\r
-  // completely irrellvant.\r
+  // completely irrelevant.\r
   //\r
   if ((Request->Request == USB_REQ_SET_CONFIG) &&\r
       (Request->RequestType == USB_REQUEST_TYPE (EfiUsbNoData, USB_REQ_TYPE_STANDARD,\r
@@ -180,6 +196,7 @@ UsbIoControlTransfer (
     Status = UsbSelectSetting (UsbIf->IfDesc, (UINT8) Request->Value);\r
 \r
     if (!EFI_ERROR (Status)) {\r
+      ASSERT (UsbIf->IfDesc->ActiveIndex < USB_MAX_INTERFACE_SETTING);\r
       UsbIf->IfSetting = UsbIf->IfDesc->Settings[UsbIf->IfDesc->ActiveIndex];\r
     }\r
   }\r
@@ -191,22 +208,21 @@ ON_EXIT:
 \r
 \r
 /**\r
-  Execute a bulk transfer to the device endpoint\r
+  Execute a bulk transfer to the device endpoint.\r
 \r
-  @param  This                   The USB IO instance\r
-  @param  Endpoint               The device endpoint\r
-  @param  Data                   The data to transfer\r
-  @param  DataLength             The length of the data to transfer\r
-  @param  Timeout                Time to wait before timeout\r
-  @param  UsbStatus              The result of USB transfer\r
+  @param  This                   The USB IO instance.\r
+  @param  Endpoint               The device endpoint.\r
+  @param  Data                   The data to transfer.\r
+  @param  DataLength             The length of the data to transfer.\r
+  @param  Timeout                Time to wait before timeout.\r
+  @param  UsbStatus              The result of USB transfer.\r
 \r
-  @retval EFI_SUCCESS            The bulk transfer is OK\r
-  @retval EFI_INVALID_PARAMETER  Some parameters are invalid\r
+  @retval EFI_SUCCESS            The bulk transfer is OK.\r
+  @retval EFI_INVALID_PARAMETER  Some parameters are invalid.\r
   @retval Others                 Failed to execute transfer, reason returned in\r
-                                 UsbStatus\r
+                                 UsbStatus.\r
 \r
 **/\r
-STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 UsbIoBulkTransfer (\r
@@ -268,6 +284,7 @@ UsbIoBulkTransfer (
     // Clear TT buffer when CTRL/BULK split transaction failes.\r
     // Clear the TRANSLATOR TT buffer, not parent's buffer\r
     //\r
+    ASSERT (Dev->Translator.TranslatorHubAddress < USB_MAX_DEVICES);\r
     if (Dev->Translator.TranslatorHubAddress != 0) {\r
       UsbHubCtrlClearTTBuffer (\r
         Dev->Bus->Devices[Dev->Translator.TranslatorHubAddress],\r
@@ -286,22 +303,21 @@ ON_EXIT:
 \r
 \r
 /**\r
-  Execute a synchronous interrupt transfer\r
+  Execute a synchronous interrupt transfer.\r
 \r
-  @param  This                   The USB IO instance\r
-  @param  Endpoint               The device endpoint\r
-  @param  Data                   The data to transfer\r
-  @param  DataLength             The length of the data to transfer\r
-  @param  Timeout                Time to wait before timeout\r
-  @param  UsbStatus              The result of USB transfer\r
+  @param  This                   The USB IO instance.\r
+  @param  Endpoint               The device endpoint.\r
+  @param  Data                   The data to transfer.\r
+  @param  DataLength             The length of the data to transfer.\r
+  @param  Timeout                Time to wait before timeout.\r
+  @param  UsbStatus              The result of USB transfer.\r
 \r
-  @retval EFI_SUCCESS            The synchronous interrupt transfer is OK\r
-  @retval EFI_INVALID_PARAMETER  Some parameters are invalid\r
+  @retval EFI_SUCCESS            The synchronous interrupt transfer is OK.\r
+  @retval EFI_INVALID_PARAMETER  Some parameters are invalid.\r
   @retval Others                 Failed to execute transfer, reason returned in\r
-                                 UsbStatus\r
+                                 UsbStatus.\r
 \r
 **/\r
-STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 UsbIoSyncInterruptTransfer (\r
@@ -363,25 +379,24 @@ ON_EXIT:
 \r
 /**\r
   Queue a new asynchronous interrupt transfer, or remove the old\r
-  request if (IsNewTransfer == FALSE)\r
+  request if (IsNewTransfer == FALSE).\r
 \r
-  @param  This                   The USB_IO instance\r
-  @param  Endpoint               The device endpoint\r
+  @param  This                   The USB_IO instance.\r
+  @param  Endpoint               The device endpoint.\r
   @param  IsNewTransfer          Whether this is a new request, if it's old, remove\r
-                                 the request\r
-  @param  PollInterval           The interval to poll the transfer result, (in ms)\r
-  @param  DataLength             The length of perodic data transfer\r
+                                 the request.\r
+  @param  PollInterval           The interval to poll the transfer result, (in ms).\r
+  @param  DataLength             The length of perodic data transfer.\r
   @param  Callback               The function to call periodicaly when transfer is\r
-                                 ready\r
-  @param  Context                The context to the callback\r
+                                 ready.\r
+  @param  Context                The context to the callback.\r
 \r
-  @retval EFI_SUCCESS            New transfer is queued or old request is removed\r
-  @retval EFI_INVALID_PARAMETER  Some parameters are invalid\r
+  @retval EFI_SUCCESS            New transfer is queued or old request is removed.\r
+  @retval EFI_INVALID_PARAMETER  Some parameters are invalid.\r
   @retval Others                 Failed to queue the new request or remove the old\r
-                                 request\r
+                                 request.\r
 \r
 **/\r
-STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 UsbIoAsyncInterruptTransfer (\r
@@ -441,18 +456,17 @@ ON_EXIT:
 \r
 \r
 /**\r
-  Execute a synchronous isochronous transfer\r
+  Execute a synchronous isochronous transfer.\r
 \r
-  @param  This                   The USB IO instance\r
-  @param  DeviceEndpoint         The device endpoint\r
-  @param  Data                   The data to transfer\r
-  @param  DataLength             The length of the data to transfer\r
-  @param  UsbStatus              The result of USB transfer\r
+  @param  This                   The USB IO instance.\r
+  @param  DeviceEndpoint         The device endpoint.\r
+  @param  Data                   The data to transfer.\r
+  @param  DataLength             The length of the data to transfer.\r
+  @param  UsbStatus              The result of USB transfer.\r
 \r
-  @retval EFI_UNSUPPORTED        Currently isochronous transfer isn't supported\r
+  @retval EFI_UNSUPPORTED        Currently isochronous transfer isn't supported.\r
 \r
 **/\r
-STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 UsbIoIsochronousTransfer (\r
@@ -468,19 +482,19 @@ UsbIoIsochronousTransfer (
 \r
 \r
 /**\r
-  Queue an asynchronous isochronous transfer\r
+  Queue an asynchronous isochronous transfer.\r
 \r
-  @param  This                   The USB_IO instance\r
-  @param  DeviceEndpoint         The device endpoint\r
-  @param  DataLength             The length of perodic data transfer\r
+  @param  This                   The USB_IO instance.\r
+  @param  DeviceEndpoint         The device endpoint.\r
+  @param  Data                   The data to transfer.\r
+  @param  DataLength             The length of perodic data transfer.\r
   @param  IsochronousCallBack    The function to call periodicaly when transfer is\r
-                                 ready\r
-  @param  Context                The context to the callback\r
+                                 ready.\r
+  @param  Context                The context to the callback.\r
 \r
-  @retval EFI_UNSUPPORTED        Currently isochronous transfer isn't supported\r
+  @retval EFI_UNSUPPORTED        Currently isochronous transfer isn't supported.\r
 \r
 **/\r
-STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 UsbIoAsyncIsochronousTransfer (\r
@@ -497,16 +511,15 @@ UsbIoAsyncIsochronousTransfer (
 \r
 \r
 /**\r
-  Retrieve the device descriptor of the device\r
+  Retrieve the device descriptor of the device.\r
 \r
-  @param  This                   The USB IO instance\r
-  @param  Descriptor             The variable to receive the device descriptor\r
+  @param  This                   The USB IO instance.\r
+  @param  Descriptor             The variable to receive the device descriptor.\r
 \r
-  @retval EFI_SUCCESS            The device descriptor is returned\r
-  @retval EFI_INVALID_PARAMETER  The parameter is invalid\r
+  @retval EFI_SUCCESS            The device descriptor is returned.\r
+  @retval EFI_INVALID_PARAMETER  The parameter is invalid.\r
 \r
 **/\r
-STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 UsbIoGetDeviceDescriptor (\r
@@ -535,17 +548,16 @@ UsbIoGetDeviceDescriptor (
 \r
 \r
 /**\r
-  Return the configuration descriptor of the current active configuration\r
+  Return the configuration descriptor of the current active configuration.\r
 \r
-  @param  This                   The USB IO instance\r
-  @param  Descriptor             The USB configuration descriptor\r
+  @param  This                   The USB IO instance.\r
+  @param  Descriptor             The USB configuration descriptor.\r
 \r
-  @retval EFI_SUCCESS            The active configuration descriptor is returned\r
-  @retval EFI_INVALID_PARAMETER  Some parameter is invalid\r
+  @retval EFI_SUCCESS            The active configuration descriptor is returned.\r
+  @retval EFI_INVALID_PARAMETER  Some parameter is invalid.\r
   @retval EFI_NOT_FOUND          Currently no active configuration is selected.\r
 \r
 **/\r
-STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 UsbIoGetActiveConfigDescriptor (\r
@@ -582,16 +594,15 @@ ON_EXIT:
 \r
 \r
 /**\r
-  Retrieve the active interface setting descriptor for this USB IO instance\r
+  Retrieve the active interface setting descriptor for this USB IO instance.\r
 \r
-  @param  This                   The USB IO instance\r
-  @param  Descriptor             The variable to receive active interface setting\r
+  @param  This                   The USB IO instance.\r
+  @param  Descriptor             The variable to receive active interface setting.\r
 \r
-  @retval EFI_SUCCESS            The active interface setting is returned\r
-  @retval EFI_INVALID_PARAMETER  Some parameter is invalid\r
+  @retval EFI_SUCCESS            The active interface setting is returned.\r
+  @retval EFI_INVALID_PARAMETER  Some parameter is invalid.\r
 \r
 **/\r
-STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 UsbIoGetInterfaceDescriptor (\r
@@ -617,18 +628,17 @@ UsbIoGetInterfaceDescriptor (
 \r
 \r
 /**\r
-  Retrieve the endpoint descriptor from this interface setting\r
+  Retrieve the endpoint descriptor from this interface setting.\r
 \r
-  @param  This                   The USB IO instance\r
+  @param  This                   The USB IO instance.\r
   @param  Index                  The index (start from zero) of the endpoint to\r
-                                 retrieve\r
-  @param  Descriptor             The variable to receive the descriptor\r
+                                 retrieve.\r
+  @param  Descriptor             The variable to receive the descriptor.\r
 \r
-  @retval EFI_SUCCESS            The endpoint descriptor is returned\r
-  @retval EFI_INVALID_PARAMETER  Some parameter is invalid\r
+  @retval EFI_SUCCESS            The endpoint descriptor is returned.\r
+  @retval EFI_INVALID_PARAMETER  Some parameter is invalid.\r
 \r
 **/\r
-STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 UsbIoGetEndpointDescriptor (\r
@@ -666,16 +676,15 @@ UsbIoGetEndpointDescriptor (
 \r
 \r
 /**\r
-  Retrieve the supported language ID table from the device\r
+  Retrieve the supported language ID table from the device.\r
 \r
-  @param  This                   The USB IO instance\r
-  @param  LangIDTable            The table to return the language IDs\r
-  @param  TableSize              The number of supported languanges\r
+  @param  This                   The USB IO instance.\r
+  @param  LangIDTable            The table to return the language IDs.\r
+  @param  TableSize              The number of supported languanges.\r
 \r
-  @retval EFI_SUCCESS            The language ID is return\r
+  @retval EFI_SUCCESS            The language ID is return.\r
 \r
 **/\r
-STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 UsbIoGetSupportedLanguages (\r
@@ -702,18 +711,17 @@ UsbIoGetSupportedLanguages (
 \r
 \r
 /**\r
-  Retrieve an indexed string in the language of LangID\r
+  Retrieve an indexed string in the language of LangID.\r
 \r
-  @param  This                   The USB IO instance\r
-  @param  LangID                 The language ID of the string to retrieve\r
-  @param  StringIndex            The index of the string\r
-  @param  String                 The variable to receive the string\r
+  @param  This                   The USB IO instance.\r
+  @param  LangID                 The language ID of the string to retrieve.\r
+  @param  StringIndex            The index of the string.\r
+  @param  String                 The variable to receive the string.\r
 \r
-  @retval EFI_SUCCESS            The string is returned\r
-  @retval EFI_NOT_FOUND          No such string existed\r
+  @retval EFI_SUCCESS            The string is returned.\r
+  @retval EFI_NOT_FOUND          No such string existed.\r
 \r
 **/\r
-STATIC\r
 EFI_STATUS\r
 EFIAPI\r
 UsbIoGetStringDescriptor (\r
@@ -746,6 +754,7 @@ UsbIoGetStringDescriptor (
   Status = EFI_NOT_FOUND;\r
 \r
   for (Index = 0; Index < Dev->TotalLangId; Index++) {\r
+    ASSERT (Index < USB_MAX_LANG_ID);\r
     if (Dev->LangId[Index] == LangID) {\r
       break;\r
     }\r
@@ -793,10 +802,10 @@ ON_EXIT:
   Reset the device, then if that succeeds, reconfigure the\r
   device with its address and current active configuration.\r
 \r
-  @param  This                   The USB IO instance\r
+  @param  This                   The USB IO instance.\r
 \r
-  @retval EFI_SUCCESS            The device is reset and configured\r
-  @retval Others                 Failed to reset the device\r
+  @retval EFI_SUCCESS            The device is reset and configured.\r
+  @retval Others                 Failed to reset the device.\r
 \r
 **/\r
 EFI_STATUS\r
@@ -817,7 +826,7 @@ UsbIoPortReset (
   UsbIf  = USB_INTERFACE_FROM_USBIO (This);\r
   Dev    = UsbIf->Device;\r
 \r
-  if (UsbIf->IsHub == TRUE) {\r
+  if (UsbIf->IsHub) {\r
     Status = EFI_INVALID_PARAMETER;\r
     goto ON_EXIT;\r
   }\r
@@ -840,7 +849,8 @@ UsbIoPortReset (
   Address       = Dev->Address;\r
   Dev->Address  = 0;\r
   Status        = UsbSetAddress (Dev, Address);\r
-\r
+  Dev->Address  = Address;\r
+  \r
   if (EFI_ERROR (Status)) {\r
     DEBUG (( EFI_D_ERROR, "UsbIoPortReset: failed to set address for device %d - %r\n",\r
                 Address, Status));\r
@@ -848,8 +858,10 @@ UsbIoPortReset (
     goto ON_EXIT;\r
   }\r
 \r
-  Dev->Address  = Address;\r
+  gBS->Stall (USB_SET_DEVICE_ADDRESS_STALL);\r
 \r
+  DEBUG (( EFI_D_INFO, "UsbIoPortReset: device is now ADDRESSED at %d\n", Address));\r
+  \r
   //\r
   // Reset the current active configure, after this device\r
   // is in CONFIGURED state.\r
@@ -870,15 +882,15 @@ ON_EXIT:
 \r
 \r
 /**\r
-  Install Usb Bus Protocol on host controller, and start the Usb bus\r
+  Install Usb Bus Protocol on host controller, and start the Usb bus.\r
 \r
-  @param This                    The USB bus driver binding instance\r
-  @param Controller              The controller to check\r
-  @param RemainingDevicePath     The remaining device patch\r
+  @param This                    The USB bus driver binding instance.\r
+  @param Controller              The controller to check.\r
+  @param RemainingDevicePath     The remaining device patch.\r
 \r
-  @retval EFI_SUCCESS            The controller is controlled by the usb bus\r
-  @retval EFI_ALREADY_STARTED    The controller is already controlled by the usb bus\r
-  @retval EFI_OUT_OF_RESOURCES   Failed to allocate resources\r
+  @retval EFI_SUCCESS            The controller is controlled by the usb bus.\r
+  @retval EFI_ALREADY_STARTED    The controller is already controlled by the usb bus.\r
+  @retval EFI_OUT_OF_RESOURCES   Failed to allocate resources.\r
 \r
 **/\r
 EFI_STATUS\r
@@ -916,13 +928,13 @@ UsbBusBuildProtocol (
   if (EFI_ERROR (Status)) {\r
     DEBUG ((EFI_D_ERROR, "UsbBusStart: Failed to open device path %r\n", Status));\r
 \r
-    gBS->FreePool (UsbBus);\r
+    FreePool (UsbBus);\r
     return Status;\r
   }\r
 \r
   //\r
   // Get USB_HC2/USB_HC host controller protocol (EHCI/UHCI).\r
-  // This is for backward compatbility with EFI 1.x. In UEFI\r
+  // This is for backward compatibility with EFI 1.x. In UEFI\r
   // 2.x, USB_HC2 replaces USB_HC. We will open both USB_HC2\r
   // and USB_HC because EHCI driver will install both protocols\r
   // (for the same reason). If we don't consume both of them,\r
@@ -957,7 +969,7 @@ UsbBusBuildProtocol (
   UsbHcSetState (UsbBus, EfiUsbHcStateOperational);\r
 \r
   //\r
-  // Install an EFI_USB_BUS_PROTOCOL to host controler to identify it.\r
+  // Install an EFI_USB_BUS_PROTOCOL to host controller to identify it.\r
   //\r
   Status = gBS->InstallProtocolInterface (\r
                   &Controller,\r
@@ -990,7 +1002,7 @@ UsbBusBuildProtocol (
   RootIf = AllocateZeroPool (sizeof (USB_INTERFACE));\r
 \r
   if (RootIf == NULL) {\r
-    gBS->FreePool (RootHub);\r
+    FreePool (RootHub);\r
     Status = EFI_OUT_OF_RESOURCES;\r
     goto FREE_ROOTHUB;\r
   }\r
@@ -1011,15 +1023,15 @@ UsbBusBuildProtocol (
 \r
   UsbBus->Devices[0] = RootHub;\r
 \r
-  DEBUG ((EFI_D_INFO, "UsbBusStart: usb bus started on %x, root hub %x\n", Controller, RootIf));\r
+  DEBUG ((EFI_D_INFO, "UsbBusStart: usb bus started on %p, root hub %p\n", Controller, RootIf));\r
   return EFI_SUCCESS;\r
 \r
 FREE_ROOTHUB:\r
   if (RootIf != NULL) {\r
-    gBS->FreePool (RootIf);\r
+    FreePool (RootIf);\r
   }\r
   if (RootHub != NULL) {\r
-    gBS->FreePool (RootHub);\r
+    FreePool (RootHub);\r
   }\r
 \r
 UNINSTALL_USBBUS:\r
@@ -1048,52 +1060,29 @@ CLOSE_HC:
          This->DriverBindingHandle,\r
          Controller\r
          );\r
-  gBS->FreePool (UsbBus);\r
+  FreePool (UsbBus);\r
 \r
   DEBUG ((EFI_D_ERROR, "UsbBusStart: Failed to start bus driver %r\n", Status));\r
   return Status;\r
 }\r
 \r
-EFI_USB_IO_PROTOCOL mUsbIoProtocol = {\r
-  UsbIoControlTransfer,\r
-  UsbIoBulkTransfer,\r
-  UsbIoAsyncInterruptTransfer,\r
-  UsbIoSyncInterruptTransfer,\r
-  UsbIoIsochronousTransfer,\r
-  UsbIoAsyncIsochronousTransfer,\r
-  UsbIoGetDeviceDescriptor,\r
-  UsbIoGetActiveConfigDescriptor,\r
-  UsbIoGetInterfaceDescriptor,\r
-  UsbIoGetEndpointDescriptor,\r
-  UsbIoGetStringDescriptor,\r
-  UsbIoGetSupportedLanguages,\r
-  UsbIoPortReset\r
-};\r
 \r
+/**\r
+  The USB bus driver entry pointer.\r
+\r
+  @param ImageHandle       The driver image handle.\r
+  @param SystemTable       The system table.\r
 \r
+  @return EFI_SUCCESS      The component name protocol is installed.\r
+  @return Others           Failed to init the usb driver.\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 UsbBusDriverEntryPoint (\r
   IN EFI_HANDLE           ImageHandle,\r
   IN EFI_SYSTEM_TABLE     *SystemTable\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  The USB bus driver entry pointer\r
-\r
-Arguments:\r
-\r
-  ImageHandle - The driver image handle\r
-  SystemTable - The system table\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - The component name protocol is installed\r
-  Others      - Failed to init the usb driver\r
-\r
---*/\r
 {\r
   return EfiLibInstallDriverBindingComponentName2 (\r
            ImageHandle,\r
@@ -1107,14 +1096,14 @@ Returns:
 \r
 \r
 /**\r
-  Check whether USB bus driver support this device\r
+  Check whether USB bus driver support this device.\r
 \r
-  @param  This                   The USB bus driver binding protocol\r
-  @param  Controller             The controller handle to test againist\r
-  @param  RemainingDevicePath    The remaining device path\r
+  @param  This                   The USB bus driver binding protocol.\r
+  @param  Controller             The controller handle to check.\r
+  @param  RemainingDevicePath    The remaining device path.\r
 \r
   @retval EFI_SUCCESS            The bus supports this controller.\r
-  @retval EFI_UNSUPPORTED        This device isn't supported\r
+  @retval EFI_UNSUPPORTED        This device isn't supported.\r
 \r
 **/\r
 EFI_STATUS\r
@@ -1228,16 +1217,16 @@ UsbBusControllerDriverSupported (
 \r
 \r
 /**\r
-  Start to process the controller\r
+  Start to process the controller.\r
 \r
-  @param  This                   The USB bus driver binding instance\r
-  @param  Controller             The controller to check\r
-  @param  RemainingDevicePath    The remaining device patch\r
+  @param  This                   The USB bus driver binding instance.\r
+  @param  Controller             The controller to check.\r
+  @param  RemainingDevicePath    The remaining device patch.\r
 \r
-  @retval EFI_SUCCESS            The controller is controlled by the usb bus\r
+  @retval EFI_SUCCESS            The controller is controlled by the usb bus.\r
   @retval EFI_ALREADY_STARTED    The controller is already controlled by the usb\r
-                                 bus\r
-  @retval EFI_OUT_OF_RESOURCES   Failed to allocate resources\r
+                                 bus.\r
+  @retval EFI_OUT_OF_RESOURCES   Failed to allocate resources.\r
 \r
 **/\r
 EFI_STATUS\r
@@ -1266,7 +1255,7 @@ UsbBusControllerDriverStart (
 \r
   if (EFI_ERROR (Status)) {\r
     //\r
-    // If first start, build the bus execute enviorment and install bus protocol\r
+    // If first start, build the bus execute environment and install bus protocol\r
     //\r
     Status = UsbBusBuildProtocol (This, Controller, RemainingDevicePath);\r
     if (EFI_ERROR (Status)) {\r
@@ -1309,16 +1298,16 @@ UsbBusControllerDriverStart (
 \r
 \r
 /**\r
-  Stop handle the controller by this USB bus driver\r
+  Stop handle the controller by this USB bus driver.\r
 \r
-  @param  This                   The USB bus driver binding protocol\r
-  @param  Controller             The controller to release\r
+  @param  This                   The USB bus driver binding protocol.\r
+  @param  Controller             The controller to release.\r
   @param  NumberOfChildren       The child of USB bus that opened controller\r
-                                 BY_CHILD\r
-  @param  ChildHandleBuffer      The array of child handle\r
+                                 BY_CHILD.\r
+  @param  ChildHandleBuffer      The array of child handle.\r
 \r
-  @retval EFI_SUCCESS            The controller or children are stopped\r
-  @retval EFI_DEVICE_ERROR       Failed to stop the driver\r
+  @retval EFI_SUCCESS            The controller or children are stopped.\r
+  @retval EFI_DEVICE_ERROR       Failed to stop the driver.\r
 \r
 **/\r
 EFI_STATUS\r
@@ -1379,7 +1368,7 @@ UsbBusControllerDriverStop (
     return EFI_SUCCESS;\r
   }\r
 \r
-  DEBUG (( EFI_D_INFO, "UsbBusStop: usb bus stopped on %x\n", Controller));\r
+  DEBUG (( EFI_D_INFO, "UsbBusStop: usb bus stopped on %p\n", Controller));\r
 \r
   //\r
   // Locate USB_BUS for the current host controller\r
@@ -1459,12 +1448,3 @@ UsbBusControllerDriverStop (
 \r
   return Status;\r
 }\r
-\r
-EFI_DRIVER_BINDING_PROTOCOL mUsbBusDriverBinding = {\r
-  UsbBusControllerDriverSupported,\r
-  UsbBusControllerDriverStart,\r
-  UsbBusControllerDriverStop,\r
-  0xa,\r
-  NULL,\r
-  NULL\r
-};\r