]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c
Correct a typo: Change the type of the 4th parameter of EFI_DRIVER_HEALTH_PROTOCOL...
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / BdsDxe / DeviceMngr / DeviceManager.c
index 95a027d158c1c8e603ddc8fb0566e7a83cc57465..14e71e3e52b803fb6913a7c992aa2457c27c0783 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   The platform device manager reference implementation\r
 \r
-Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2004 - 2013, 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
@@ -133,35 +133,30 @@ DeviceManagerCallback (
 {\r
   UINTN CurIndex;\r
 \r
-  if (Action == EFI_BROWSER_ACTION_CHANGING) {\r
-    if ((Value == NULL) || (ActionRequest == NULL)) {\r
-      return EFI_INVALID_PARAMETER;\r
-    }\r
-\r
-    gCallbackKey = QuestionId;\r
-    if ((QuestionId < MAX_KEY_SECTION_LEN + NETWORK_DEVICE_LIST_KEY_OFFSET) && (QuestionId >= NETWORK_DEVICE_LIST_KEY_OFFSET)) {\r
-      //\r
-      // If user select the mac address, need to record mac address string to support next form show.\r
-      //\r
-      for (CurIndex = 0; CurIndex < mMacDeviceList.CurListLen; CurIndex ++) {\r
-        if (mMacDeviceList.NodeList[CurIndex].QuestionId == QuestionId) {\r
-           mSelectedMacAddrString = HiiGetString (gDeviceManagerPrivate.HiiHandle, mMacDeviceList.NodeList[CurIndex].PromptId, NULL);\r
-        }\r
-      }\r
-    }\r
-  \r
+  if (Action != EFI_BROWSER_ACTION_CHANGING) {\r
     //\r
-    // Request to exit SendForm(), so as to switch to selected form\r
+    // All other action return unsupported.\r
     //\r
-    *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
+    return EFI_UNSUPPORTED;\r
+  }\r
 \r
-    return EFI_SUCCESS;\r
+  if (Value == NULL) {\r
+    return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-  //\r
-  // All other action return unsupported.\r
-  //\r
-  return EFI_UNSUPPORTED;\r
+  gCallbackKey = QuestionId;\r
+  if ((QuestionId < MAX_KEY_SECTION_LEN + NETWORK_DEVICE_LIST_KEY_OFFSET) && (QuestionId >= NETWORK_DEVICE_LIST_KEY_OFFSET)) {\r
+    //\r
+    // If user select the mac address, need to record mac address string to support next form show.\r
+    //\r
+    for (CurIndex = 0; CurIndex < mMacDeviceList.CurListLen; CurIndex ++) {\r
+      if (mMacDeviceList.NodeList[CurIndex].QuestionId == QuestionId) {\r
+         mSelectedMacAddrString = HiiGetString (gDeviceManagerPrivate.HiiHandle, mMacDeviceList.NodeList[CurIndex].PromptId, NULL);\r
+      }\r
+    }\r
+  }\r
+\r
+  return EFI_SUCCESS;\r
 }\r
 \r
 /**\r
@@ -579,7 +574,6 @@ IsNeedAddNetworkMenu (
   EFI_STATUS     Status;\r
   UINTN          EntryCount;\r
   UINTN          Index;  \r
-  EFI_HII_HANDLE HiiDeviceManagerHandle;\r
   EFI_HANDLE     DriverHandle;\r
   EFI_HANDLE     ControllerHandle;\r
   EFI_DEVICE_PATH_PROTOCOL   *DevicePath;\r
@@ -588,7 +582,6 @@ IsNeedAddNetworkMenu (
   EFI_OPEN_PROTOCOL_INFORMATION_ENTRY   *OpenInfoBuffer;\r
   BOOLEAN        IsNeedAdd;\r
 \r
-  HiiDeviceManagerHandle = gDeviceManagerPrivate.HiiHandle;\r
   IsNeedAdd  = FALSE;\r
   OpenInfoBuffer = NULL;\r
   if ((Handle == NULL) || (ItemCount == NULL)) {\r
@@ -875,7 +868,7 @@ CallDeviceManager (
           AddNetworkMenu = TRUE;\r
           HiiCreateGotoOpCode (\r
             StartOpCodeHandle,\r
-            DEVICE_MANAGER_FORM_ID,\r
+            INVALID_FORM_ID,\r
             STRING_TOKEN (STR_FORM_NETWORK_DEVICE_LIST_TITLE),\r
             STRING_TOKEN (STR_FORM_NETWORK_DEVICE_LIST_HELP),\r
             EFI_IFR_FLAG_CALLBACK,\r
@@ -889,7 +882,7 @@ CallDeviceManager (
         while (AddItemCount > 0) {\r
             HiiCreateGotoOpCode (\r
               StartOpCodeHandle,\r
-              NETWORK_DEVICE_LIST_FORM_ID,\r
+              INVALID_FORM_ID,\r
               mMacDeviceList.NodeList[mMacDeviceList.CurListLen - AddItemCount].PromptId,\r
               STRING_TOKEN (STR_NETWORK_DEVICE_HELP),\r
               EFI_IFR_FLAG_CALLBACK,\r
@@ -903,7 +896,7 @@ CallDeviceManager (
         //\r
         HiiCreateGotoOpCode (\r
           StartOpCodeHandle,\r
-          NETWORK_DEVICE_FORM_ID,\r
+          INVALID_FORM_ID,\r
           Token,\r
           TokenHelp,\r
           EFI_IFR_FLAG_CALLBACK,\r
@@ -918,7 +911,7 @@ CallDeviceManager (
       if (mNextShowFormId == DEVICE_MANAGER_FORM_ID) {\r
         HiiCreateGotoOpCode (\r
           StartOpCodeHandle,\r
-          DEVICE_MANAGER_FORM_ID,\r
+          INVALID_FORM_ID,\r
           Token,\r
           TokenHelp,\r
           EFI_IFR_FLAG_CALLBACK,\r
@@ -1099,7 +1092,7 @@ DriverHealthCallback (
   OUT EFI_BROWSER_ACTION_REQUEST             *ActionRequest\r
   )\r
 {\r
-  if (Action == EFI_BROWSER_ACTION_CHANGING) {\r
+  if (Action == EFI_BROWSER_ACTION_CHANGED) {\r
     if ((Value == NULL) || (ActionRequest == NULL)) {\r
       return EFI_INVALID_PARAMETER;\r
     }\r
@@ -1157,11 +1150,9 @@ CallDriverHealth (
   DRIVER_HEALTH_INFO          *DriverHealthInfo;\r
   LIST_ENTRY                  *Link;\r
   EFI_DEVICE_PATH_PROTOCOL    *DriverDevicePath;\r
-  UINTN                       Length;\r
   BOOLEAN                     RebootRequired;\r
 \r
   Index               = 0;\r
-  Length              = 0;\r
   DriverHealthInfo    = NULL;  \r
   DriverDevicePath    = NULL;\r
   InitializeListHead (&DriverHealthList);\r
@@ -1952,7 +1943,7 @@ ProcessSingleControllerHealth (
                                DriverHealth,\r
                                ControllerHandle,\r
                                ChildHandle,\r
-                               (EFI_DRIVER_HEALTH_REPAIR_PROGRESS_NOTIFY) RepairNotify\r
+                               RepairNotify\r
                                );\r
     }\r
     //\r
@@ -2028,24 +2019,20 @@ ProcessSingleControllerHealth (
 \r
 \r
 /**\r
-  Platform specific notification function for controller repair operations.\r
-\r
-  If the driver for a controller support the Driver Health Protocol and the\r
-  current state of the controller is EfiDriverHealthStatusRepairRequired then\r
-  when the Repair() service of the Driver Health Protocol is called, this \r
-  platform specific notification function can display the progress of the repair\r
-  operation.  Some platforms may choose to not display anything, other may choose\r
-  to show the percentage complete on text consoles, and other may choose to render\r
-  a progress bar on text and graphical consoles.\r
-\r
-  This function displays the percentage of the repair operation that has been\r
-  completed on text consoles.  The percentage is Value / Limit * 100%.\r
-  \r
-  @param  Value               Value in the range 0..Limit the the repair has completed..\r
-  @param  Limit               The maximum value of Value\r
+  Reports the progress of a repair operation.\r
+\r
+  @param[in]  Value             A value between 0 and Limit that identifies the current \r
+                                progress of the repair operation.\r
+\r
+  @param[in]  Limit             The maximum value of Value for the current repair operation.\r
+                                For example, a driver that wants to specify progress in \r
+                                percent would use a Limit value of 100.\r
+\r
+  @retval EFI_SUCCESS           The progress of a repair operation is reported successfully.\r
 \r
 **/\r
-VOID\r
+EFI_STATUS\r
+EFIAPI\r
 RepairNotify (\r
   IN  UINTN Value,\r
   IN  UINTN Limit\r
@@ -2059,6 +2046,7 @@ RepairNotify (
     Percent = Value * 100 / Limit;\r
     Print(L"Repair Progress = %3d%%\n\r", Percent);\r
   }\r
+  return EFI_SUCCESS;\r
 }\r
 \r
 /**\r
@@ -2176,7 +2164,7 @@ DriverHealthSelectBestLanguage (
   CHAR8           *LanguageVariable;\r
   CHAR8           *BestLanguage;\r
 \r
-  LanguageVariable =  GetEfiGlobalVariable (Iso639Language ? L"Lang" : L"PlatformLang");\r
+  GetEfiGlobalVariable2 (Iso639Language ? L"Lang" : L"PlatformLang", (VOID**)&LanguageVariable, NULL);\r
 \r
   BestLanguage = GetBestLanguage(\r
                    SupportedLanguages,\r