From: xli24 Date: Tue, 13 Jan 2009 08:46:31 +0000 (+0000) Subject: Minor refinement for USB modules. X-Git-Tag: edk2-stable201903~18991 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=c92e277d99335fa827994e410a3dc0830904a264 Minor refinement for USB modules. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7257 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.c b/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.c index 1ccc8784d0..74f19c3278 100644 --- a/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.c +++ b/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.c @@ -120,7 +120,7 @@ USBKeyboardDriverBindingSupported ( } /** - Starts the device with this driver. + Starts the keyboard device with this driver. This function produces Simple Text Input Protocol and Simple Text Input Ex Protocol, initializes the keyboard device, and submit Asynchronous Interrupt Transfer to manage @@ -219,7 +219,7 @@ USBKeyboardDriverBindingStart ( EndpointNumber = UsbKeyboardDevice->InterfaceDescriptor.NumEndpoints; // - // Traverse endpoints to find interrupt endpoints + // Traverse endpoints to find interrupt endpoint // Found = FALSE; for (Index = 0; Index < EndpointNumber; Index++) { @@ -230,7 +230,7 @@ USBKeyboardDriverBindingStart ( &EndpointDescriptor ); - if ((EndpointDescriptor.Attributes & 0x03) == USB_ENDPOINT_INTERRUPT) { + if ((EndpointDescriptor.Attributes & (BIT0 | BIT1)) == USB_ENDPOINT_INTERRUPT) { // // We only care interrupt endpoint here // @@ -392,7 +392,7 @@ ErrorExit: if (UsbKeyboardDevice->SimpleInputEx.WaitForKeyEx != NULL) { gBS->CloseEvent (UsbKeyboardDevice->SimpleInputEx.WaitForKeyEx); } - gBS->FreePool (UsbKeyboardDevice); + FreePool (UsbKeyboardDevice); UsbKeyboardDevice = NULL; } gBS->CloseProtocol ( @@ -515,7 +515,7 @@ USBKeyboardDriverBindingStop ( FreeUnicodeStringTable (UsbKeyboardDevice->ControllerNameTable); } - gBS->FreePool (UsbKeyboardDevice); + FreePool (UsbKeyboardDevice); return Status; } @@ -815,7 +815,7 @@ KbdFreeNotifyList ( Link = GetFirstNode (NotifyList); NotifyNode = CR (Link, KEYBOARD_CONSOLE_IN_EX_NOTIFY, NotifyEntry, USB_KB_CONSOLE_IN_EX_NOTIFY_SIGNATURE); RemoveEntryList (Link); - gBS->FreePool (NotifyNode); + FreePool (NotifyNode); } return EFI_SUCCESS; @@ -1165,7 +1165,7 @@ USBKeyboardUnregisterKeyNotify ( NULL ); ASSERT_EFI_ERROR (Status); - gBS->FreePool (CurrentNotify); + FreePool (CurrentNotify); return EFI_SUCCESS; } } diff --git a/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h b/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h index f8248300ee..84950beab9 100644 --- a/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h +++ b/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h @@ -209,7 +209,7 @@ USBKeyboardDriverBindingSupported ( ); /** - Starts the device with this driver. + Starts the keyboard device with this driver. This function produces Simple Text Input Protocol and Simple Text Input Ex Protocol, initializes the keyboard device, and submit Asynchronous Interrupt Transfer to manage diff --git a/MdeModulePkg/Bus/Usb/UsbKbDxe/KeyBoard.c b/MdeModulePkg/Bus/Usb/UsbKbDxe/KeyBoard.c index 3c72822a6d..48972ae0a6 100644 --- a/MdeModulePkg/Bus/Usb/UsbKbDxe/KeyBoard.c +++ b/MdeModulePkg/Bus/Usb/UsbKbDxe/KeyBoard.c @@ -413,7 +413,7 @@ GetCurrentKeyboardLayout ( KeyboardLayout ); if (EFI_ERROR (Status)) { - gBS->FreePool (KeyboardLayout); + FreePool (KeyboardLayout); KeyboardLayout = NULL; } } @@ -814,7 +814,6 @@ InitUSBKeyboard ( // // Set boot protocol for the USB Keyboard. // This driver only supports boot protocol. - // The device that does not support boot protocol is not supported. // if (Protocol != BOOT_PROTOCOL) { UsbSetProtocolRequest ( @@ -871,33 +870,36 @@ InitUSBKeyboard ( ZeroMem (UsbKeyboardDevice->LastKeyCodeArray, sizeof (UINT8) * 8); // - // Set a timer for repeat keys' generation. + // Create event for repeat keys' generation. // if (UsbKeyboardDevice->RepeatTimer != NULL) { gBS->CloseEvent (UsbKeyboardDevice->RepeatTimer); UsbKeyboardDevice->RepeatTimer = NULL; } - Status = gBS->CreateEvent ( - EVT_TIMER | EVT_NOTIFY_SIGNAL, - TPL_NOTIFY, - USBKeyboardRepeatHandler, - UsbKeyboardDevice, - &UsbKeyboardDevice->RepeatTimer - ); + gBS->CreateEvent ( + EVT_TIMER | EVT_NOTIFY_SIGNAL, + TPL_NOTIFY, + USBKeyboardRepeatHandler, + UsbKeyboardDevice, + &UsbKeyboardDevice->RepeatTimer + ); + // + // Create event for delayed recovery, which deals with device error. + // if (UsbKeyboardDevice->DelayedRecoveryEvent != NULL) { gBS->CloseEvent (UsbKeyboardDevice->DelayedRecoveryEvent); UsbKeyboardDevice->DelayedRecoveryEvent = NULL; } - Status = gBS->CreateEvent ( - EVT_TIMER | EVT_NOTIFY_SIGNAL, - TPL_NOTIFY, - USBKeyboardRecoveryHandler, - UsbKeyboardDevice, - &UsbKeyboardDevice->DelayedRecoveryEvent - ); + gBS->CreateEvent ( + EVT_TIMER | EVT_NOTIFY_SIGNAL, + TPL_NOTIFY, + USBKeyboardRecoveryHandler, + UsbKeyboardDevice, + &UsbKeyboardDevice->DelayedRecoveryEvent + ); return EFI_SUCCESS; } diff --git a/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassBot.c b/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassBot.c index c6c8f8d11b..ab669463c8 100644 --- a/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassBot.c +++ b/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassBot.c @@ -121,13 +121,13 @@ UsbBotInit ( if (Context != NULL) { *Context = UsbBot; } else { - gBS->FreePool (UsbBot); + FreePool (UsbBot); } return EFI_SUCCESS; ON_ERROR: - gBS->FreePool (UsbBot); + FreePool (UsbBot); return Status; } @@ -587,7 +587,7 @@ UsbBotCleanUp ( IN VOID *Context ) { - gBS->FreePool (Context); + FreePool (Context); return EFI_SUCCESS; } diff --git a/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassCbi.c b/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassCbi.c index d1424e2f75..4de18d4bb9 100644 --- a/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassCbi.c +++ b/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassCbi.c @@ -146,13 +146,13 @@ UsbCbiInit ( if (Context != NULL) { *Context = UsbCbi; } else { - gBS->FreePool (UsbCbi); + FreePool (UsbCbi); } return EFI_SUCCESS; ON_ERROR: - gBS->FreePool (UsbCbi); + FreePool (UsbCbi); return Status; } @@ -605,6 +605,6 @@ UsbCbiCleanUp ( IN VOID *Context ) { - gBS->FreePool (Context); + FreePool (Context); return EFI_SUCCESS; } diff --git a/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c b/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c index f13d26527e..e8b53f6c9f 100644 --- a/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c +++ b/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.c @@ -854,7 +854,6 @@ UsbMouseReset ( return EFI_SUCCESS; } - /** Event notification function for SIMPLE_POINTER.WaitForInput event. @@ -881,7 +880,6 @@ UsbMouseWaitForInput ( } } - /** Handler for Delayed Recovery event. diff --git a/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.h b/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.h index 7c0ff785a2..d13ae69fc3 100644 --- a/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.h +++ b/MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouse.h @@ -291,6 +291,63 @@ UsbMouseComponentNameGetControllerName ( OUT CHAR16 **ControllerName ); +// +// Functions of EFI_SIMPLE_POINTER_PROTOCOL +// + +/** + Retrieves the current state of a pointer device. + + @param This A pointer to the EFI_SIMPLE_POINTER_PROTOCOL instance. + @param MouseState A pointer to the state information on the pointer device. + + @retval EFI_SUCCESS The state of the pointer device was returned in State. + @retval EFI_NOT_READY The state of the pointer device has not changed since the last call to + GetState(). + @retval EFI_DEVICE_ERROR A device error occurred while attempting to retrieve the pointer device's + current state. + @retval EFI_INVALID_PARAMETER MouseState is NULL. + +**/ +EFI_STATUS +EFIAPI +GetMouseState ( + IN EFI_SIMPLE_POINTER_PROTOCOL *This, + OUT EFI_SIMPLE_POINTER_STATE *MouseState + ); + +/** + Resets the pointer device hardware. + + @param This A pointer to the EFI_SIMPLE_POINTER_PROTOCOL instance. + @param ExtendedVerification Indicates that the driver may perform a more exhaustive + verification operation of the device during reset. + + @retval EFI_SUCCESS The device was reset. + @retval EFI_DEVICE_ERROR The device is not functioning correctly and could not be reset. + +**/ +EFI_STATUS +EFIAPI +UsbMouseReset ( + IN EFI_SIMPLE_POINTER_PROTOCOL *This, + IN BOOLEAN ExtendedVerification + ); + +/** + Event notification function for SIMPLE_POINTER.WaitForInput event. + + @param Event Event to be signaled when there's input from mouse. + @param Context Points to USB_MOUSE_DEV instance. + +**/ +VOID +EFIAPI +UsbMouseWaitForInput ( + IN EFI_EVENT Event, + IN VOID *Context + ); + // // Internal worker functions // @@ -355,59 +412,6 @@ OnMouseInterruptComplete ( IN UINT32 Result ); -/** - Retrieves the current state of a pointer device. - - @param This A pointer to the EFI_SIMPLE_POINTER_PROTOCOL instance. - @param MouseState A pointer to the state information on the pointer device. - - @retval EFI_SUCCESS The state of the pointer device was returned in State. - @retval EFI_NOT_READY The state of the pointer device has not changed since the last call to - GetState(). - @retval EFI_DEVICE_ERROR A device error occurred while attempting to retrieve the pointer device's - current state. - @retval EFI_INVALID_PARAMETER MouseState is NULL. - -**/ -EFI_STATUS -EFIAPI -GetMouseState ( - IN EFI_SIMPLE_POINTER_PROTOCOL *This, - OUT EFI_SIMPLE_POINTER_STATE *MouseState - ); - -/** - Resets the pointer device hardware. - - @param This A pointer to the EFI_SIMPLE_POINTER_PROTOCOL instance. - @param ExtendedVerification Indicates that the driver may perform a more exhaustive - verification operation of the device during reset. - - @retval EFI_SUCCESS The device was reset. - @retval EFI_DEVICE_ERROR The device is not functioning correctly and could not be reset. - -**/ -EFI_STATUS -EFIAPI -UsbMouseReset ( - IN EFI_SIMPLE_POINTER_PROTOCOL *This, - IN BOOLEAN ExtendedVerification - ); - -/** - Event notification function for SIMPLE_POINTER.WaitForInput event. - - @param Event Event to be signaled when there's input from mouse. - @param Context Points to USB_MOUSE_DEV instance. - -**/ -VOID -EFIAPI -UsbMouseWaitForInput ( - IN EFI_EVENT Event, - IN VOID *Context - ); - /** Handler for Delayed Recovery event.