]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/UefiLib/UefiDriverModel.c
MdePkg: Apply uncrustify changes
[mirror_edk2.git] / MdePkg / Library / UefiLib / UefiDriverModel.c
index deaf9a74a960a12d0dcc1a1fabd188b03f4a52fb..fdcf4f9c4fd27f2569790485dea4d9bd39b168da 100644 (file)
@@ -8,7 +8,6 @@
 \r
 **/\r
 \r
-\r
 #include "UefiLibInternal.h"\r
 \r
 /**\r
@@ -54,7 +53,8 @@ EfiLibInstallDriverBinding (
 \r
   Status = gBS->InstallMultipleProtocolInterfaces (\r
                   &DriverBinding->DriverBindingHandle,\r
-                  &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+                  &gEfiDriverBindingProtocolGuid,\r
+                  DriverBinding,\r
                   NULL\r
                   );\r
   //\r
@@ -65,8 +65,6 @@ EfiLibInstallDriverBinding (
   return Status;\r
 }\r
 \r
-\r
-\r
 /**\r
   Uninstalls a Driver Binding Protocol instance.\r
 \r
@@ -91,7 +89,8 @@ EfiLibUninstallDriverBinding (
 \r
   Status = gBS->UninstallMultipleProtocolInterfaces (\r
                   DriverBinding->DriverBindingHandle,\r
-                  &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+                  &gEfiDriverBindingProtocolGuid,\r
+                  DriverBinding,\r
                   NULL\r
                   );\r
   //\r
@@ -102,8 +101,6 @@ EfiLibUninstallDriverBinding (
   return Status;\r
 }\r
 \r
-\r
-\r
 /**\r
   Installs and completes the initialization of a Driver Binding Protocol instance and\r
   optionally installs the Component Name, Driver Configuration and Driver Diagnostics Protocols.\r
@@ -152,74 +149,94 @@ EfiLibInstallAllDriverProtocols (
   DriverBinding->ImageHandle         = ImageHandle;\r
   DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
 \r
-  if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {\r
+  if ((DriverDiagnostics == NULL) || FeaturePcdGet (PcdDriverDiagnosticsDisable)) {\r
     if (DriverConfiguration == NULL) {\r
-      if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
+      if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
         Status = gBS->InstallMultipleProtocolInterfaces (\r
                         &DriverBinding->DriverBindingHandle,\r
-                        &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+                        &gEfiDriverBindingProtocolGuid,\r
+                        DriverBinding,\r
                         NULL\r
                         );\r
       } else {\r
         Status = gBS->InstallMultipleProtocolInterfaces (\r
                         &DriverBinding->DriverBindingHandle,\r
-                        &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                        &gEfiComponentNameProtocolGuid, ComponentName,\r
+                        &gEfiDriverBindingProtocolGuid,\r
+                        DriverBinding,\r
+                        &gEfiComponentNameProtocolGuid,\r
+                        ComponentName,\r
                         NULL\r
                         );\r
       }\r
     } else {\r
-      if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
+      if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
         Status = gBS->InstallMultipleProtocolInterfaces (\r
                         &DriverBinding->DriverBindingHandle,\r
-                        &gEfiDriverBindingProtocolGuid,       DriverBinding,\r
-                        &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
+                        &gEfiDriverBindingProtocolGuid,\r
+                        DriverBinding,\r
+                        &gEfiDriverConfigurationProtocolGuid,\r
+                        DriverConfiguration,\r
                         NULL\r
                         );\r
       } else {\r
         Status = gBS->InstallMultipleProtocolInterfaces (\r
                         &DriverBinding->DriverBindingHandle,\r
-                        &gEfiDriverBindingProtocolGuid,       DriverBinding,\r
-                        &gEfiComponentNameProtocolGuid,       ComponentName,\r
-                        &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
+                        &gEfiDriverBindingProtocolGuid,\r
+                        DriverBinding,\r
+                        &gEfiComponentNameProtocolGuid,\r
+                        ComponentName,\r
+                        &gEfiDriverConfigurationProtocolGuid,\r
+                        DriverConfiguration,\r
                         NULL\r
                         );\r
       }\r
     }\r
   } else {\r
     if (DriverConfiguration == NULL) {\r
-      if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
+      if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
         Status = gBS->InstallMultipleProtocolInterfaces (\r
                         &DriverBinding->DriverBindingHandle,\r
-                        &gEfiDriverBindingProtocolGuid,     DriverBinding,\r
-                        &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                        &gEfiDriverBindingProtocolGuid,\r
+                        DriverBinding,\r
+                        &gEfiDriverDiagnosticsProtocolGuid,\r
+                        DriverDiagnostics,\r
                         NULL\r
                         );\r
       } else {\r
         Status = gBS->InstallMultipleProtocolInterfaces (\r
                         &DriverBinding->DriverBindingHandle,\r
-                        &gEfiDriverBindingProtocolGuid,     DriverBinding,\r
-                        &gEfiComponentNameProtocolGuid,     ComponentName,\r
-                        &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                        &gEfiDriverBindingProtocolGuid,\r
+                        DriverBinding,\r
+                        &gEfiComponentNameProtocolGuid,\r
+                        ComponentName,\r
+                        &gEfiDriverDiagnosticsProtocolGuid,\r
+                        DriverDiagnostics,\r
                         NULL\r
                         );\r
       }\r
     } else {\r
-      if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-       Status = gBS->InstallMultipleProtocolInterfaces (\r
+      if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+        Status = gBS->InstallMultipleProtocolInterfaces (\r
                         &DriverBinding->DriverBindingHandle,\r
-                        &gEfiDriverBindingProtocolGuid,       DriverBinding,\r
-                        &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                        &gEfiDriverDiagnosticsProtocolGuid,   DriverDiagnostics,\r
+                        &gEfiDriverBindingProtocolGuid,\r
+                        DriverBinding,\r
+                        &gEfiDriverConfigurationProtocolGuid,\r
+                        DriverConfiguration,\r
+                        &gEfiDriverDiagnosticsProtocolGuid,\r
+                        DriverDiagnostics,\r
                         NULL\r
                         );\r
       } else {\r
         Status = gBS->InstallMultipleProtocolInterfaces (\r
                         &DriverBinding->DriverBindingHandle,\r
-                        &gEfiDriverBindingProtocolGuid,       DriverBinding,\r
-                        &gEfiComponentNameProtocolGuid,       ComponentName,\r
-                        &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                        &gEfiDriverDiagnosticsProtocolGuid,   DriverDiagnostics,\r
+                        &gEfiDriverBindingProtocolGuid,\r
+                        DriverBinding,\r
+                        &gEfiComponentNameProtocolGuid,\r
+                        ComponentName,\r
+                        &gEfiDriverConfigurationProtocolGuid,\r
+                        DriverConfiguration,\r
+                        &gEfiDriverDiagnosticsProtocolGuid,\r
+                        DriverDiagnostics,\r
                         NULL\r
                         );\r
       }\r
@@ -234,8 +251,6 @@ EfiLibInstallAllDriverProtocols (
   return Status;\r
 }\r
 \r
-\r
-\r
 /**\r
   Uninstalls a Driver Binding Protocol instance and optionally uninstalls the\r
   Component Name, Driver Configuration and Driver Diagnostics Protocols.\r
@@ -265,74 +280,94 @@ EfiLibUninstallAllDriverProtocols (
 \r
   ASSERT (DriverBinding != NULL);\r
 \r
-  if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {\r
+  if ((DriverDiagnostics == NULL) || FeaturePcdGet (PcdDriverDiagnosticsDisable)) {\r
     if (DriverConfiguration == NULL) {\r
-      if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
+      if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
         Status = gBS->UninstallMultipleProtocolInterfaces (\r
                         DriverBinding->DriverBindingHandle,\r
-                        &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+                        &gEfiDriverBindingProtocolGuid,\r
+                        DriverBinding,\r
                         NULL\r
                         );\r
       } else {\r
         Status = gBS->UninstallMultipleProtocolInterfaces (\r
                         DriverBinding->DriverBindingHandle,\r
-                        &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                        &gEfiComponentNameProtocolGuid, ComponentName,\r
+                        &gEfiDriverBindingProtocolGuid,\r
+                        DriverBinding,\r
+                        &gEfiComponentNameProtocolGuid,\r
+                        ComponentName,\r
                         NULL\r
                         );\r
       }\r
     } else {\r
-      if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
+      if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
         Status = gBS->UninstallMultipleProtocolInterfaces (\r
                         DriverBinding->DriverBindingHandle,\r
-                        &gEfiDriverBindingProtocolGuid,       DriverBinding,\r
-                        &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
+                        &gEfiDriverBindingProtocolGuid,\r
+                        DriverBinding,\r
+                        &gEfiDriverConfigurationProtocolGuid,\r
+                        DriverConfiguration,\r
                         NULL\r
                         );\r
       } else {\r
         Status = gBS->UninstallMultipleProtocolInterfaces (\r
                         DriverBinding->DriverBindingHandle,\r
-                        &gEfiDriverBindingProtocolGuid,       DriverBinding,\r
-                        &gEfiComponentNameProtocolGuid,       ComponentName,\r
-                        &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
+                        &gEfiDriverBindingProtocolGuid,\r
+                        DriverBinding,\r
+                        &gEfiComponentNameProtocolGuid,\r
+                        ComponentName,\r
+                        &gEfiDriverConfigurationProtocolGuid,\r
+                        DriverConfiguration,\r
                         NULL\r
                         );\r
       }\r
     }\r
   } else {\r
     if (DriverConfiguration == NULL) {\r
-      if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
+      if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
         Status = gBS->UninstallMultipleProtocolInterfaces (\r
                         DriverBinding->DriverBindingHandle,\r
-                        &gEfiDriverBindingProtocolGuid,     DriverBinding,\r
-                        &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                        &gEfiDriverBindingProtocolGuid,\r
+                        DriverBinding,\r
+                        &gEfiDriverDiagnosticsProtocolGuid,\r
+                        DriverDiagnostics,\r
                         NULL\r
                         );\r
       } else {\r
         Status = gBS->UninstallMultipleProtocolInterfaces (\r
                         DriverBinding->DriverBindingHandle,\r
-                        &gEfiDriverBindingProtocolGuid,     DriverBinding,\r
-                        &gEfiComponentNameProtocolGuid,     ComponentName,\r
-                        &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                        &gEfiDriverBindingProtocolGuid,\r
+                        DriverBinding,\r
+                        &gEfiComponentNameProtocolGuid,\r
+                        ComponentName,\r
+                        &gEfiDriverDiagnosticsProtocolGuid,\r
+                        DriverDiagnostics,\r
                         NULL\r
                         );\r
       }\r
     } else {\r
-      if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-       Status = gBS->UninstallMultipleProtocolInterfaces (\r
+      if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+        Status = gBS->UninstallMultipleProtocolInterfaces (\r
                         DriverBinding->DriverBindingHandle,\r
-                        &gEfiDriverBindingProtocolGuid,       DriverBinding,\r
-                        &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                        &gEfiDriverDiagnosticsProtocolGuid,   DriverDiagnostics,\r
+                        &gEfiDriverBindingProtocolGuid,\r
+                        DriverBinding,\r
+                        &gEfiDriverConfigurationProtocolGuid,\r
+                        DriverConfiguration,\r
+                        &gEfiDriverDiagnosticsProtocolGuid,\r
+                        DriverDiagnostics,\r
                         NULL\r
                         );\r
       } else {\r
         Status = gBS->UninstallMultipleProtocolInterfaces (\r
                         DriverBinding->DriverBindingHandle,\r
-                        &gEfiDriverBindingProtocolGuid,       DriverBinding,\r
-                        &gEfiComponentNameProtocolGuid,       ComponentName,\r
-                        &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                        &gEfiDriverDiagnosticsProtocolGuid,   DriverDiagnostics,\r
+                        &gEfiDriverBindingProtocolGuid,\r
+                        DriverBinding,\r
+                        &gEfiComponentNameProtocolGuid,\r
+                        ComponentName,\r
+                        &gEfiDriverConfigurationProtocolGuid,\r
+                        DriverConfiguration,\r
+                        &gEfiDriverDiagnosticsProtocolGuid,\r
+                        DriverDiagnostics,\r
                         NULL\r
                         );\r
       }\r
@@ -347,8 +382,6 @@ EfiLibUninstallAllDriverProtocols (
   return Status;\r
 }\r
 \r
-\r
-\r
 /**\r
   Installs Driver Binding Protocol with optional Component Name and Component Name 2 Protocols.\r
 \r
@@ -375,12 +408,12 @@ EfiLibUninstallAllDriverProtocols (
 EFI_STATUS\r
 EFIAPI\r
 EfiLibInstallDriverBindingComponentName2 (\r
-  IN CONST EFI_HANDLE                         ImageHandle,\r
-  IN CONST EFI_SYSTEM_TABLE                   *SystemTable,\r
-  IN EFI_DRIVER_BINDING_PROTOCOL              *DriverBinding,\r
-  IN EFI_HANDLE                               DriverBindingHandle,\r
-  IN CONST EFI_COMPONENT_NAME_PROTOCOL        *ComponentName        OPTIONAL,\r
-  IN CONST EFI_COMPONENT_NAME2_PROTOCOL       *ComponentName2       OPTIONAL\r
+  IN CONST EFI_HANDLE                    ImageHandle,\r
+  IN CONST EFI_SYSTEM_TABLE              *SystemTable,\r
+  IN EFI_DRIVER_BINDING_PROTOCOL         *DriverBinding,\r
+  IN EFI_HANDLE                          DriverBindingHandle,\r
+  IN CONST EFI_COMPONENT_NAME_PROTOCOL   *ComponentName        OPTIONAL,\r
+  IN CONST EFI_COMPONENT_NAME2_PROTOCOL  *ComponentName2       OPTIONAL\r
   )\r
 {\r
   EFI_STATUS  Status;\r
@@ -393,37 +426,45 @@ EfiLibInstallDriverBindingComponentName2 (
   DriverBinding->ImageHandle         = ImageHandle;\r
   DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
 \r
-  if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-    if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+  if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+    if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
       Status = gBS->InstallMultipleProtocolInterfaces (\r
                       &DriverBinding->DriverBindingHandle,\r
-                      &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+                      &gEfiDriverBindingProtocolGuid,\r
+                      DriverBinding,\r
                       NULL\r
                       );\r
-      } else {\r
+    } else {\r
       Status = gBS->InstallMultipleProtocolInterfaces (\r
                       &DriverBinding->DriverBindingHandle,\r
-                      &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                      &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+                      &gEfiDriverBindingProtocolGuid,\r
+                      DriverBinding,\r
+                      &gEfiComponentName2ProtocolGuid,\r
+                      ComponentName2,\r
                       NULL\r
                       );\r
-     }\r
+    }\r
   } else {\r
-     if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
-       Status = gBS->InstallMultipleProtocolInterfaces (\r
-                       &DriverBinding->DriverBindingHandle,\r
-                       &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                       &gEfiComponentNameProtocolGuid, ComponentName,\r
-                       NULL\r
-                       );\r
-     } else {\r
-       Status = gBS->InstallMultipleProtocolInterfaces (\r
-                       &DriverBinding->DriverBindingHandle,\r
-                       &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                       &gEfiComponentNameProtocolGuid, ComponentName,\r
-                       &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                       NULL\r
-                       );\r
+    if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
+      Status = gBS->InstallMultipleProtocolInterfaces (\r
+                      &DriverBinding->DriverBindingHandle,\r
+                      &gEfiDriverBindingProtocolGuid,\r
+                      DriverBinding,\r
+                      &gEfiComponentNameProtocolGuid,\r
+                      ComponentName,\r
+                      NULL\r
+                      );\r
+    } else {\r
+      Status = gBS->InstallMultipleProtocolInterfaces (\r
+                      &DriverBinding->DriverBindingHandle,\r
+                      &gEfiDriverBindingProtocolGuid,\r
+                      DriverBinding,\r
+                      &gEfiComponentNameProtocolGuid,\r
+                      ComponentName,\r
+                      &gEfiComponentName2ProtocolGuid,\r
+                      ComponentName2,\r
+                      NULL\r
+                      );\r
     }\r
   }\r
 \r
@@ -435,8 +476,6 @@ EfiLibInstallDriverBindingComponentName2 (
   return Status;\r
 }\r
 \r
-\r
-\r
 /**\r
   Uninstalls Driver Binding Protocol with optional Component Name and Component Name 2 Protocols.\r
 \r
@@ -454,46 +493,54 @@ EfiLibInstallDriverBindingComponentName2 (
 EFI_STATUS\r
 EFIAPI\r
 EfiLibUninstallDriverBindingComponentName2 (\r
-  IN EFI_DRIVER_BINDING_PROTOCOL              *DriverBinding,\r
-  IN CONST EFI_COMPONENT_NAME_PROTOCOL        *ComponentName        OPTIONAL,\r
-  IN CONST EFI_COMPONENT_NAME2_PROTOCOL       *ComponentName2       OPTIONAL\r
+  IN EFI_DRIVER_BINDING_PROTOCOL         *DriverBinding,\r
+  IN CONST EFI_COMPONENT_NAME_PROTOCOL   *ComponentName        OPTIONAL,\r
+  IN CONST EFI_COMPONENT_NAME2_PROTOCOL  *ComponentName2       OPTIONAL\r
   )\r
 {\r
   EFI_STATUS  Status;\r
 \r
   ASSERT (DriverBinding != NULL);\r
 \r
-  if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-    if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+  if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+    if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
       Status = gBS->UninstallMultipleProtocolInterfaces (\r
                       DriverBinding->DriverBindingHandle,\r
-                      &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+                      &gEfiDriverBindingProtocolGuid,\r
+                      DriverBinding,\r
                       NULL\r
                       );\r
-      } else {\r
+    } else {\r
       Status = gBS->UninstallMultipleProtocolInterfaces (\r
                       DriverBinding->DriverBindingHandle,\r
-                      &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                      &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+                      &gEfiDriverBindingProtocolGuid,\r
+                      DriverBinding,\r
+                      &gEfiComponentName2ProtocolGuid,\r
+                      ComponentName2,\r
                       NULL\r
                       );\r
-     }\r
+    }\r
   } else {\r
-     if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
-       Status = gBS->UninstallMultipleProtocolInterfaces (\r
-                       DriverBinding->DriverBindingHandle,\r
-                       &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                       &gEfiComponentNameProtocolGuid, ComponentName,\r
-                       NULL\r
-                       );\r
-     } else {\r
-       Status = gBS->UninstallMultipleProtocolInterfaces (\r
-                       DriverBinding->DriverBindingHandle,\r
-                       &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                       &gEfiComponentNameProtocolGuid, ComponentName,\r
-                       &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                       NULL\r
-                       );\r
+    if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
+      Status = gBS->UninstallMultipleProtocolInterfaces (\r
+                      DriverBinding->DriverBindingHandle,\r
+                      &gEfiDriverBindingProtocolGuid,\r
+                      DriverBinding,\r
+                      &gEfiComponentNameProtocolGuid,\r
+                      ComponentName,\r
+                      NULL\r
+                      );\r
+    } else {\r
+      Status = gBS->UninstallMultipleProtocolInterfaces (\r
+                      DriverBinding->DriverBindingHandle,\r
+                      &gEfiDriverBindingProtocolGuid,\r
+                      DriverBinding,\r
+                      &gEfiComponentNameProtocolGuid,\r
+                      ComponentName,\r
+                      &gEfiComponentName2ProtocolGuid,\r
+                      ComponentName2,\r
+                      NULL\r
+                      );\r
     }\r
   }\r
 \r
@@ -505,8 +552,6 @@ EfiLibUninstallDriverBindingComponentName2 (
   return Status;\r
 }\r
 \r
-\r
-\r
 /**\r
   Installs Driver Binding Protocol with optional Component Name, Component Name 2, Driver\r
   Configuration, Driver Configuration 2, Driver Diagnostics, and Driver Diagnostics 2 Protocols.\r
@@ -539,16 +584,16 @@ EfiLibUninstallDriverBindingComponentName2 (
 EFI_STATUS\r
 EFIAPI\r
 EfiLibInstallAllDriverProtocols2 (\r
-  IN CONST EFI_HANDLE                         ImageHandle,\r
-  IN CONST EFI_SYSTEM_TABLE                   *SystemTable,\r
-  IN EFI_DRIVER_BINDING_PROTOCOL              *DriverBinding,\r
-  IN EFI_HANDLE                               DriverBindingHandle,\r
-  IN CONST EFI_COMPONENT_NAME_PROTOCOL        *ComponentName         OPTIONAL,\r
-  IN CONST EFI_COMPONENT_NAME2_PROTOCOL       *ComponentName2        OPTIONAL,\r
-  IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL  *DriverConfiguration   OPTIONAL,\r
-  IN CONST EFI_DRIVER_CONFIGURATION2_PROTOCOL *DriverConfiguration2  OPTIONAL,\r
-  IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL    *DriverDiagnostics     OPTIONAL,\r
-  IN CONST EFI_DRIVER_DIAGNOSTICS2_PROTOCOL   *DriverDiagnostics2    OPTIONAL\r
+  IN CONST EFI_HANDLE                          ImageHandle,\r
+  IN CONST EFI_SYSTEM_TABLE                    *SystemTable,\r
+  IN EFI_DRIVER_BINDING_PROTOCOL               *DriverBinding,\r
+  IN EFI_HANDLE                                DriverBindingHandle,\r
+  IN CONST EFI_COMPONENT_NAME_PROTOCOL         *ComponentName         OPTIONAL,\r
+  IN CONST EFI_COMPONENT_NAME2_PROTOCOL        *ComponentName2        OPTIONAL,\r
+  IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL   *DriverConfiguration   OPTIONAL,\r
+  IN CONST EFI_DRIVER_CONFIGURATION2_PROTOCOL  *DriverConfiguration2  OPTIONAL,\r
+  IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL     *DriverDiagnostics     OPTIONAL,\r
+  IN CONST EFI_DRIVER_DIAGNOSTICS2_PROTOCOL    *DriverDiagnostics2    OPTIONAL\r
   )\r
 {\r
   EFI_STATUS  Status;\r
@@ -563,157 +608,205 @@ EfiLibInstallAllDriverProtocols2 (
 \r
   if (DriverConfiguration2 == NULL) {\r
     if (DriverConfiguration == NULL) {\r
-      if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {\r
-        if (DriverDiagnostics2 == NULL || FeaturePcdGet(PcdDriverDiagnostics2Disable)) {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+      if ((DriverDiagnostics == NULL) || FeaturePcdGet (PcdDriverDiagnosticsDisable)) {\r
+        if ((DriverDiagnostics2 == NULL) || FeaturePcdGet (PcdDriverDiagnostics2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
                               NULL\r
                               );\r
             }\r
           }\r
         } else {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           }\r
         }\r
       } else {\r
-        if (DriverDiagnostics2 == NULL || FeaturePcdGet(PcdDriverDiagnostics2Disable)) {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+        if ((DriverDiagnostics2 == NULL) || FeaturePcdGet (PcdDriverDiagnostics2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             }\r
           }\r
         } else {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
@@ -721,173 +814,237 @@ EfiLibInstallAllDriverProtocols2 (
         }\r
       }\r
     } else {\r
-      if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {\r
-        if (DriverDiagnostics2 == NULL || FeaturePcdGet(PcdDriverDiagnostics2Disable)) {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+      if ((DriverDiagnostics == NULL) || FeaturePcdGet (PcdDriverDiagnosticsDisable)) {\r
+        if ((DriverDiagnostics2 == NULL) || FeaturePcdGet (PcdDriverDiagnostics2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
                               NULL\r
                               );\r
             }\r
           }\r
         } else {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           }\r
         }\r
       } else {\r
-        if (DriverDiagnostics2 == NULL || FeaturePcdGet(PcdDriverDiagnostics2Disable)) {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+        if ((DriverDiagnostics2 == NULL) || FeaturePcdGet (PcdDriverDiagnostics2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             }\r
           }\r
         } else {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
@@ -897,173 +1054,237 @@ EfiLibInstallAllDriverProtocols2 (
     }\r
   } else {\r
     if (DriverConfiguration == NULL) {\r
-      if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {\r
-        if (DriverDiagnostics2 == NULL || FeaturePcdGet(PcdDriverDiagnostics2Disable)) {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+      if ((DriverDiagnostics == NULL) || FeaturePcdGet (PcdDriverDiagnosticsDisable)) {\r
+        if ((DriverDiagnostics2 == NULL) || FeaturePcdGet (PcdDriverDiagnostics2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             }\r
           }\r
         } else {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           }\r
         }\r
       } else {\r
-        if (DriverDiagnostics2 == NULL || FeaturePcdGet(PcdDriverDiagnostics2Disable)) {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+        if ((DriverDiagnostics2 == NULL) || FeaturePcdGet (PcdDriverDiagnostics2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             }\r
           }\r
         } else {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
@@ -1071,189 +1292,269 @@ EfiLibInstallAllDriverProtocols2 (
         }\r
       }\r
     } else {\r
-      if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {\r
-        if (DriverDiagnostics2 == NULL || FeaturePcdGet(PcdDriverDiagnostics2Disable)) {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+      if ((DriverDiagnostics == NULL) || FeaturePcdGet (PcdDriverDiagnosticsDisable)) {\r
+        if ((DriverDiagnostics2 == NULL) || FeaturePcdGet (PcdDriverDiagnostics2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             }\r
           }\r
         } else {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           }\r
         }\r
       } else {\r
-        if (DriverDiagnostics2 == NULL || FeaturePcdGet(PcdDriverDiagnostics2Disable)) {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+        if ((DriverDiagnostics2 == NULL) || FeaturePcdGet (PcdDriverDiagnostics2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             }\r
           }\r
         } else {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->InstallMultipleProtocolInterfaces (\r
                               &DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
@@ -1271,8 +1572,6 @@ EfiLibInstallAllDriverProtocols2 (
   return Status;\r
 }\r
 \r
-\r
-\r
 /**\r
   Uninstalls Driver Binding Protocol with optional Component Name, Component Name 2, Driver\r
   Configuration, Driver Configuration 2, Driver Diagnostics, and Driver Diagnostics 2 Protocols.\r
@@ -1296,13 +1595,13 @@ EfiLibInstallAllDriverProtocols2 (
 EFI_STATUS\r
 EFIAPI\r
 EfiLibUninstallAllDriverProtocols2 (\r
-  IN EFI_DRIVER_BINDING_PROTOCOL              *DriverBinding,\r
-  IN CONST EFI_COMPONENT_NAME_PROTOCOL        *ComponentName         OPTIONAL,\r
-  IN CONST EFI_COMPONENT_NAME2_PROTOCOL       *ComponentName2        OPTIONAL,\r
-  IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL  *DriverConfiguration   OPTIONAL,\r
-  IN CONST EFI_DRIVER_CONFIGURATION2_PROTOCOL *DriverConfiguration2  OPTIONAL,\r
-  IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL    *DriverDiagnostics     OPTIONAL,\r
-  IN CONST EFI_DRIVER_DIAGNOSTICS2_PROTOCOL   *DriverDiagnostics2    OPTIONAL\r
+  IN EFI_DRIVER_BINDING_PROTOCOL               *DriverBinding,\r
+  IN CONST EFI_COMPONENT_NAME_PROTOCOL         *ComponentName         OPTIONAL,\r
+  IN CONST EFI_COMPONENT_NAME2_PROTOCOL        *ComponentName2        OPTIONAL,\r
+  IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL   *DriverConfiguration   OPTIONAL,\r
+  IN CONST EFI_DRIVER_CONFIGURATION2_PROTOCOL  *DriverConfiguration2  OPTIONAL,\r
+  IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL     *DriverDiagnostics     OPTIONAL,\r
+  IN CONST EFI_DRIVER_DIAGNOSTICS2_PROTOCOL    *DriverDiagnostics2    OPTIONAL\r
   )\r
 {\r
   EFI_STATUS  Status;\r
@@ -1311,157 +1610,205 @@ EfiLibUninstallAllDriverProtocols2 (
 \r
   if (DriverConfiguration2 == NULL) {\r
     if (DriverConfiguration == NULL) {\r
-      if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {\r
-        if (DriverDiagnostics2 == NULL || FeaturePcdGet(PcdDriverDiagnostics2Disable)) {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+      if ((DriverDiagnostics == NULL) || FeaturePcdGet (PcdDriverDiagnosticsDisable)) {\r
+        if ((DriverDiagnostics2 == NULL) || FeaturePcdGet (PcdDriverDiagnostics2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
                               NULL\r
                               );\r
             }\r
           }\r
         } else {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           }\r
         }\r
       } else {\r
-        if (DriverDiagnostics2 == NULL || FeaturePcdGet(PcdDriverDiagnostics2Disable)) {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+        if ((DriverDiagnostics2 == NULL) || FeaturePcdGet (PcdDriverDiagnostics2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             }\r
           }\r
         } else {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
@@ -1469,173 +1816,237 @@ EfiLibUninstallAllDriverProtocols2 (
         }\r
       }\r
     } else {\r
-      if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {\r
-        if (DriverDiagnostics2 == NULL || FeaturePcdGet(PcdDriverDiagnostics2Disable)) {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+      if ((DriverDiagnostics == NULL) || FeaturePcdGet (PcdDriverDiagnosticsDisable)) {\r
+        if ((DriverDiagnostics2 == NULL) || FeaturePcdGet (PcdDriverDiagnostics2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
                               NULL\r
                               );\r
             }\r
           }\r
         } else {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           }\r
         }\r
       } else {\r
-        if (DriverDiagnostics2 == NULL || FeaturePcdGet(PcdDriverDiagnostics2Disable)) {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+        if ((DriverDiagnostics2 == NULL) || FeaturePcdGet (PcdDriverDiagnostics2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             }\r
           }\r
         } else {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
@@ -1645,173 +2056,237 @@ EfiLibUninstallAllDriverProtocols2 (
     }\r
   } else {\r
     if (DriverConfiguration == NULL) {\r
-      if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {\r
-        if (DriverDiagnostics2 == NULL || FeaturePcdGet(PcdDriverDiagnostics2Disable)) {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+      if ((DriverDiagnostics == NULL) || FeaturePcdGet (PcdDriverDiagnosticsDisable)) {\r
+        if ((DriverDiagnostics2 == NULL) || FeaturePcdGet (PcdDriverDiagnostics2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             }\r
           }\r
         } else {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           }\r
         }\r
       } else {\r
-        if (DriverDiagnostics2 == NULL || FeaturePcdGet(PcdDriverDiagnostics2Disable)) {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+        if ((DriverDiagnostics2 == NULL) || FeaturePcdGet (PcdDriverDiagnostics2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             }\r
           }\r
         } else {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
@@ -1819,189 +2294,269 @@ EfiLibUninstallAllDriverProtocols2 (
         }\r
       }\r
     } else {\r
-      if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {\r
-        if (DriverDiagnostics2 == NULL || FeaturePcdGet(PcdDriverDiagnostics2Disable)) {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+      if ((DriverDiagnostics == NULL) || FeaturePcdGet (PcdDriverDiagnosticsDisable)) {\r
+        if ((DriverDiagnostics2 == NULL) || FeaturePcdGet (PcdDriverDiagnostics2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
                               NULL\r
                               );\r
             }\r
           }\r
         } else {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           }\r
         }\r
       } else {\r
-        if (DriverDiagnostics2 == NULL || FeaturePcdGet(PcdDriverDiagnostics2Disable)) {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+        if ((DriverDiagnostics2 == NULL) || FeaturePcdGet (PcdDriverDiagnostics2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
                               NULL\r
                               );\r
             }\r
           }\r
         } else {\r
-          if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+          if ((ComponentName == NULL) || FeaturePcdGet (PcdComponentNameDisable)) {\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             } else {\r
               Status = gBS->UninstallMultipleProtocolInterfaces (\r
                               DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r
           } else {\r
-            if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
-              Status = gBS->UninstallMultipleProtocolInterfaces (\r
-                              DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
-                              NULL\r
-                              );\r
-            } else {\r
-              Status = gBS->UninstallMultipleProtocolInterfaces (\r
-                              DriverBinding->DriverBindingHandle,\r
-                              &gEfiDriverBindingProtocolGuid, DriverBinding,\r
-                              &gEfiComponentNameProtocolGuid, ComponentName,\r
-                              &gEfiComponentName2ProtocolGuid, ComponentName2,\r
-                              &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
-                              &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
-                              &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
-                              &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+            if ((ComponentName2 == NULL) || FeaturePcdGet (PcdComponentName2Disable)) {\r
+              Status = gBS->UninstallMultipleProtocolInterfaces (\r
+                              DriverBinding->DriverBindingHandle,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
+                              NULL\r
+                              );\r
+            } else {\r
+              Status = gBS->UninstallMultipleProtocolInterfaces (\r
+                              DriverBinding->DriverBindingHandle,\r
+                              &gEfiDriverBindingProtocolGuid,\r
+                              DriverBinding,\r
+                              &gEfiComponentNameProtocolGuid,\r
+                              ComponentName,\r
+                              &gEfiComponentName2ProtocolGuid,\r
+                              ComponentName2,\r
+                              &gEfiDriverConfigurationProtocolGuid,\r
+                              DriverConfiguration,\r
+                              &gEfiDriverConfiguration2ProtocolGuid,\r
+                              DriverConfiguration2,\r
+                              &gEfiDriverDiagnosticsProtocolGuid,\r
+                              DriverDiagnostics,\r
+                              &gEfiDriverDiagnostics2ProtocolGuid,\r
+                              DriverDiagnostics2,\r
                               NULL\r
                               );\r
             }\r