]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/Ps2Mouse.h
IntelFrameworkModulePkg: Clean up source files
[mirror_edk2.git] / IntelFrameworkModulePkg / Bus / Isa / Ps2MouseDxe / Ps2Mouse.h
index 9a1a3040aaf09378199f1c2cdc1b57bb402432b3..6225e33de96c3eb6f06c10e962919a898fa2f29e 100644 (file)
@@ -1,8 +1,8 @@
-/**@file\r
-  PS/2 Mouse driver header file\r
-  \r
-Copyright (c) 2006 - 2007, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
+/** @file\r
+  PS/2 Mouse driver header file.\r
+\r
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
 http://opensource.org/licenses/bsd-license.php\r
@@ -12,11 +12,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 **/\r
 \r
-#ifndef _PS2MOUSE_H\r
-#define _PS2MOUSE_H\r
+#ifndef _PS2MOUSE_H_\r
+#define _PS2MOUSE_H_\r
 \r
-#include <PiDxe.h>\r
-#include <Framework/StatusCode.h>\r
+#include <Uefi.h>\r
 \r
 #include <Protocol/SimplePointer.h>\r
 #include <Protocol/IsaIo.h>\r
@@ -29,44 +28,52 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/MemoryAllocationLib.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/ReportStatusCodeLib.h>\r
+#include <Library/PcdLib.h>\r
+\r
+//\r
+// Global Variables\r
+//\r
+extern EFI_DRIVER_BINDING_PROTOCOL   gPS2MouseDriver;\r
+extern EFI_COMPONENT_NAME_PROTOCOL   gPs2MouseComponentName;\r
+extern EFI_COMPONENT_NAME2_PROTOCOL  gPs2MouseComponentName2;\r
 \r
 //\r
 // PS/2 mouse sample rate\r
 //\r
 typedef enum {\r
-  SSR_10,\r
-  SSR_20,\r
-  SSR_40,\r
-  SSR_60,\r
-  SSR_80,\r
-  SSR_100,\r
-  SSR_200,\r
-  MAX_SR\r
+  SampleRate10,\r
+  SampleRate20,\r
+  SampleRate40,\r
+  SampleRate60,\r
+  SampleRate80,\r
+  SampleRate100,\r
+  SampleRate200,\r
+  MaxSampleRate\r
 } MOUSE_SR;\r
 \r
 //\r
 // PS/2 mouse resolution\r
 //\r
 typedef enum {\r
-  CMR1,\r
-  CMR2,\r
-  CMR4,\r
-  CMR8,\r
-  MAX_CMR\r
+  MouseResolution1,\r
+  MouseResolution2,\r
+  MouseResolution4,\r
+  MouseResolution8,\r
+  MaxResolution\r
 } MOUSE_RE;\r
 \r
 //\r
 // PS/2 mouse scaling\r
 //\r
 typedef enum {\r
-  SF1,\r
-  SF2\r
+  Scaling1,\r
+  Scaling2\r
 } MOUSE_SF;\r
 \r
 //\r
 // Driver Private Data\r
 //\r
-#define PS2_MOUSE_DEV_SIGNATURE EFI_SIGNATURE_32 ('p', 's', '2', 'm')\r
+#define PS2_MOUSE_DEV_SIGNATURE SIGNATURE_32 ('p', 's', '2', 'm')\r
 \r
 typedef struct {\r
   UINTN                               Signature;\r
@@ -95,16 +102,23 @@ typedef struct {
 \r
 #define PS2_MOUSE_DEV_FROM_THIS(a)  CR (a, PS2_MOUSE_DEV, SimplePointerProtocol, PS2_MOUSE_DEV_SIGNATURE)\r
 \r
-//\r
-// Global Variables\r
-//\r
-extern EFI_DRIVER_BINDING_PROTOCOL   gPS2MouseDriver;\r
-extern EFI_COMPONENT_NAME_PROTOCOL   gPs2MouseComponentName;\r
-extern EFI_COMPONENT_NAME2_PROTOCOL  gPs2MouseComponentName2;\r
-\r
 //\r
 // Function prototypes\r
 //\r
+/**\r
+  Test to see if this driver supports ControllerHandle. Any ControllerHandle\r
+  than contains a IsaIo protocol can be supported.\r
+\r
+  @param  This                Protocol instance pointer.\r
+  @param  ControllerHandle    Handle of device to test\r
+  @param  RemainingDevicePath Optional parameter use to pick a specific child\r
+                              device to start.\r
+\r
+  @retval EFI_SUCCESS         This driver supports this device\r
+  @retval EFI_ALREADY_STARTED This driver is already running on this device\r
+  @retval other               This driver does not support this device\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 PS2MouseDriverSupported (\r
@@ -113,6 +127,21 @@ PS2MouseDriverSupported (
   IN EFI_DEVICE_PATH_PROTOCOL       *RemainingDevicePath\r
   );\r
 \r
+/**\r
+  Start this driver on ControllerHandle by opening a IsaIo\r
+  protocol, creating PS2_MOUSE_ABSOLUTE_POINTER_DEV device and install gEfiAbsolutePointerProtocolGuid\r
+  finnally.\r
+\r
+  @param  This                 Protocol instance pointer.\r
+  @param  ControllerHandle     Handle of device to bind driver to\r
+  @param  RemainingDevicePath  Optional parameter use to pick a specific child\r
+                               device to start.\r
+\r
+  @retval EFI_SUCCESS          This driver is added to ControllerHandle\r
+  @retval EFI_ALREADY_STARTED  This driver is already running on ControllerHandle\r
+  @retval other                This driver does not support this device\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 PS2MouseDriverStart (\r
@@ -121,6 +150,20 @@ PS2MouseDriverStart (
   IN EFI_DEVICE_PATH_PROTOCOL       *RemainingDevicePath\r
   );\r
 \r
+/**\r
+  Stop this driver on ControllerHandle. Support stopping any child handles\r
+  created by this driver.\r
+\r
+  @param  This              Protocol instance pointer.\r
+  @param  ControllerHandle  Handle of device to stop driver on\r
+  @param  NumberOfChildren  Number of Handles in ChildHandleBuffer. If number of\r
+                            children is zero stop the entire bus driver.\r
+  @param  ChildHandleBuffer List of Child Handles to Stop.\r
+\r
+  @retval EFI_SUCCESS       This driver is removed ControllerHandle\r
+  @retval other             This driver was not removed from this device\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 PS2MouseDriverStop (\r
@@ -153,7 +196,7 @@ PS2MouseDriverStop (
                                 languages specified in SupportedLanguages. The\r
                                 number of languages supported by a driver is up\r
                                 to the driver writer. Language is specified\r
-                                in RFC 3066 or ISO 639-2 language code format.\r
+                                in RFC 4646 or ISO 639-2 language code format.\r
 \r
   @param  DriverName[out]       A pointer to the Unicode string to return.\r
                                 This Unicode string is the name of the\r
@@ -218,7 +261,7 @@ Ps2MouseComponentNameGetDriverName (
                                 languages specified in SupportedLanguages. The\r
                                 number of languages supported by a driver is up\r
                                 to the driver writer. Language is specified in\r
-                                RFC 3066 or ISO 639-2 language code format.\r
+                                RFC 4646 or ISO 639-2 language code format.\r
 \r
   @param  ControllerName[out]   A pointer to the Unicode string to return.\r
                                 This Unicode string is the name of the\r
@@ -232,7 +275,7 @@ Ps2MouseComponentNameGetDriverName (
                                 driver specified by This was returned in\r
                                 DriverName.\r
 \r
-  @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.\r
+  @retval EFI_INVALID_PARAMETER ControllerHandle is NULL.\r
 \r
   @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid\r
                                 EFI_HANDLE.\r
@@ -259,7 +302,17 @@ Ps2MouseComponentNameGetControllerName (
   OUT CHAR16                                          **ControllerName\r
   );\r
 \r
+/**\r
+  Reset the Mouse and do BAT test for it, if ExtendedVerification is TRUE and there is a mouse device connected to system\r
+\r
+  @param This                 - Pointer of simple pointer Protocol.\r
+  @param ExtendedVerification - Whether configure mouse parameters. True: do; FALSE: skip.\r
+\r
 \r
+  @retval EFI_SUCCESS         - The command byte is written successfully.\r
+  @retval EFI_DEVICE_ERROR    - Errors occurred during resetting keyboard.\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 MouseReset (\r
@@ -267,6 +320,16 @@ MouseReset (
   IN BOOLEAN                        ExtendedVerification\r
   );\r
 \r
+/**\r
+  Get and Clear mouse status.\r
+\r
+  @param This                 - Pointer of simple pointer Protocol.\r
+  @param State                - Output buffer holding status.\r
+\r
+  @retval EFI_INVALID_PARAMETER Output buffer is invalid.\r
+  @retval EFI_NOT_READY         Mouse is not changed status yet.\r
+  @retval EFI_SUCCESS           Mouse status is changed and get successful.\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 MouseGetState (\r
@@ -274,6 +337,15 @@ MouseGetState (
   IN OUT EFI_SIMPLE_POINTER_STATE   *State\r
   );\r
 \r
+/**\r
+\r
+  Event notification function for SIMPLE_POINTER.WaitForInput event.\r
+  Signal the event if there is input from mouse.\r
+\r
+  @param Event    event object\r
+  @param Context  event context\r
+\r
+**/\r
 VOID\r
 EFIAPI\r
 MouseWaitForInput (\r
@@ -281,6 +353,14 @@ MouseWaitForInput (
   IN  VOID                    *Context\r
   );\r
 \r
+/**\r
+  Event notification function for TimerEvent event.\r
+  If mouse device is connected to system, try to get the mouse packet data.\r
+\r
+  @param Event      -  TimerEvent in PS2_MOUSE_DEV\r
+  @param Context    -  Pointer to PS2_MOUSE_DEV structure\r
+\r
+**/\r
 VOID\r
 EFIAPI\r
 PollMouse (\r
@@ -288,11 +368,30 @@ PollMouse (
   IN VOID       *Context\r
   );\r
 \r
+/**\r
+  I/O work flow of in 8042 data.\r
+\r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Data    Data value\r
+\r
+  @retval EFI_SUCCESS Success to execute I/O work flow\r
+  @retval EFI_TIMEOUT Keyboard controller time out.\r
+**/\r
 EFI_STATUS\r
 In8042Data (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN OUT UINT8                            *Data\r
   );\r
+\r
+/**\r
+  Check whether there is Ps/2 mouse device in system\r
+\r
+  @param MouseDev   - Mouse Private Data Structure\r
+\r
+  @retval TRUE      - Keyboard in System.\r
+  @retval FALSE     - Keyboard not in System.\r
+\r
+**/\r
 BOOLEAN\r
 CheckMouseConnect (\r
   IN  PS2_MOUSE_DEV     *MouseDev\r