Library functions that abstract driver model protocols\r
installation.\r
\r
- Copyright (c) 2006 - 2007, Intel Corporation<BR> All rights\r
- reserved. This program and the accompanying materials are\r
- licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
- \r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
\r
-**/ \r
\r
-#include "FrameworkUefiLib.h"\r
+#include "UefiLibInternal.h"\r
\r
/**\r
- Intialize a driver by installing the Driver Binding Protocol onto the driver's\r
- DriverBindingHandle. This is typically the same as the driver's ImageHandle, but\r
- it can be different if the driver produces multiple DriverBinding Protocols. \r
- If the Drvier Binding Protocol interface is NULL, then ASSERT (). \r
- If the installation fails, then ASSERT ().\r
+ Installs and completes the initialization of a Driver Binding Protocol instance.\r
+\r
+ Installs the Driver Binding Protocol specified by DriverBinding onto the handle\r
+ specified by DriverBindingHandle. If DriverBindingHandle is NULL, then DriverBinding\r
+ is installed onto a newly created handle. DriverBindingHandle is typically the same\r
+ as the driver's ImageHandle, but it can be different if the driver produces multiple\r
+ Driver Binding Protocols.\r
+ If DriverBinding is NULL, then ASSERT().\r
+ If DriverBinding can not be installed onto a handle, then ASSERT().\r
\r
- @param ImageHandle The image handle of the driver.\r
- @param SystemTable The EFI System Table that was passed to the driver's entry point.\r
- @param DriverBinding A Driver Binding Protocol instance that this driver is producing.\r
- @param DriverBindingHandle The handle that DriverBinding is to be installe onto. If this\r
- parameter is NULL, then a new handle is created.\r
+ @param ImageHandle The image handle of the driver.\r
+ @param SystemTable The EFI System Table that was passed to the driver's entry point.\r
+ @param DriverBinding A Driver Binding Protocol instance that this driver is producing.\r
+ @param DriverBindingHandle The handle that DriverBinding is to be installed onto. If this\r
+ parameter is NULL, then a new handle is created.\r
\r
- @retval EFI_SUCCESS The protocol installation is completed successfully.\r
- @retval Others Status from gBS->InstallMultipleProtocolInterfaces().\r
+ @retval EFI_SUCCESS The protocol installation is completed successfully.\r
+ @retval EFI_OUT_OF_RESOURCES There was not enough system resources to install the protocol.\r
+ @retval Others Status from gBS->InstallMultipleProtocolInterfaces().\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
EfiLibInstallDriverBinding (\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_HANDLE ImageHandle,\r
+ IN CONST EFI_SYSTEM_TABLE *SystemTable,\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding,\r
+ IN EFI_HANDLE DriverBindingHandle\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
+\r
+ ASSERT (DriverBinding != NULL);\r
\r
- ASSERT (NULL != DriverBinding);\r
+ //\r
+ // Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol\r
+ //\r
+ DriverBinding->ImageHandle = ImageHandle;\r
+ DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
NULL\r
);\r
//\r
ASSERT_EFI_ERROR (Status);\r
\r
- //\r
- // Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol\r
- //\r
- DriverBinding->ImageHandle = ImageHandle;\r
- DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
-\r
return Status;\r
}\r
\r
\r
/**\r
- Intialize a driver by installing the Driver Binding Protocol together with the optional Component Name,\r
- Driver Configure and Driver Diagnostic Protocols onto the driver's DriverBindingHandle. This is\r
- typically the same as the driver's ImageHandle, but it can be different if the driver produces multiple\r
- DriverBinding Protocols. \r
- If the Drvier Binding Protocol interface is NULL, then ASSERT (). \r
- If the installation fails, then ASSERT ().\r
-\r
- @param ImageHandle The image handle of the driver.\r
- @param SystemTable The EFI System Table that was passed to the driver's entry point.\r
- @param DriverBinding A Driver Binding Protocol instance that this driver is producing.\r
- @param DriverBindingHandle The handle that DriverBinding is to be installe onto. If this\r
- parameter is NULL, then a new handle is created.\r
- @param ComponentName A Component Name Protocol instance that this driver is producing.\r
- @param DriverConfiguration A Driver Configuration Protocol instance that this driver is producing.\r
- @param DriverDiagnostics A Driver Diagnostics Protocol instance that this driver is producing.\r
-\r
- @retval EFI_SUCCESS The protocol installation is completed successfully.\r
- @retval Others Status from gBS->InstallMultipleProtocolInterfaces().\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
+\r
+ Initializes a driver by installing the Driver Binding Protocol together with the\r
+ optional Component Name, optional Driver Configure and optional Driver Diagnostic\r
+ Protocols onto the driver's DriverBindingHandle. If DriverBindingHandle is NULL,\r
+ then the protocols are installed onto a newly created handle. DriverBindingHandle\r
+ is typically the same as the driver's ImageHandle, but it can be different if the\r
+ driver produces multiple Driver Binding Protocols.\r
+ If DriverBinding is NULL, then ASSERT().\r
+ If the installation fails, then ASSERT().\r
+\r
+ @param ImageHandle The image handle of the driver.\r
+ @param SystemTable The EFI System Table that was passed to the driver's entry point.\r
+ @param DriverBinding A Driver Binding Protocol instance that this driver is producing.\r
+ @param DriverBindingHandle The handle that DriverBinding is to be installed onto. If this\r
+ parameter is NULL, then a new handle is created.\r
+ @param ComponentName A Component Name Protocol instance that this driver is producing.\r
+ @param DriverConfiguration A Driver Configuration Protocol instance that this driver is producing.\r
+ @param DriverDiagnostics A Driver Diagnostics Protocol instance that this driver is producing.\r
+\r
+ @retval EFI_SUCCESS The protocol installation is completed successfully.\r
+ @retval EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols.\r
\r
**/\r
EFI_STATUS\r
IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
- ASSERT (NULL != DriverBinding);\r
+ ASSERT (DriverBinding != NULL);\r
+\r
+ //\r
+ // Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol\r
+ //\r
+ DriverBinding->ImageHandle = ImageHandle;\r
+ DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
\r
if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {\r
if (DriverConfiguration == NULL) {\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
NULL\r
} else {\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
if (DriverConfiguration == NULL) {\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
} else {\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
//\r
ASSERT_EFI_ERROR (Status);\r
\r
- //\r
- // Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol\r
- //\r
- DriverBinding->ImageHandle = ImageHandle;\r
- DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
-\r
return Status;\r
}\r
\r
\r
\r
/**\r
- Intialize a driver by installing the Driver Binding Protocol together with the optional Component Name,\r
- Component Name 2 onto the driver's DriverBindingHandle. This is typically the same as the driver's\r
- ImageHandle, but it can be different if the driver produces multiple DriverBinding Protocols. \r
- If the Drvier Binding Protocol interface is NULL, then ASSERT (). \r
- If the installation fails, then ASSERT ().\r
-\r
- @param ImageHandle The image handle of the driver.\r
- @param SystemTable The EFI System Table that was passed to the driver's entry point.\r
- @param DriverBinding A Driver Binding Protocol instance that this driver is producing.\r
- @param DriverBindingHandle The handle that DriverBinding is to be installe onto. If this\r
- parameter is NULL, then a new handle is created.\r
- @param ComponentName A Component Name Protocol instance that this driver is producing.\r
- @param ComponentName2 A Component Name 2 Protocol instance that this driver is producing.\r
-\r
- @retval EFI_SUCCESS The protocol installation is completed successfully.\r
- @retval Others Status from gBS->InstallMultipleProtocolInterfaces().\r
+ Installs Driver Binding Protocol with optional Component Name and Component Name 2 Protocols.\r
+\r
+ Initializes a driver by installing the Driver Binding Protocol together with the\r
+ optional Component Name and optional Component Name 2 protocols onto the driver's\r
+ DriverBindingHandle. If DriverBindingHandle is NULL, then the protocols are installed\r
+ onto a newly created handle. DriverBindingHandle is typically the same as the driver's\r
+ ImageHandle, but it can be different if the driver produces multiple Driver Binding Protocols.\r
+ If DriverBinding is NULL, then ASSERT().\r
+ If the installation fails, then ASSERT().\r
+\r
+ @param ImageHandle The image handle of the driver.\r
+ @param SystemTable The EFI System Table that was passed to the driver's entry point.\r
+ @param DriverBinding A Driver Binding Protocol instance that this driver is producing.\r
+ @param DriverBindingHandle The handle that DriverBinding is to be installed onto. If this\r
+ parameter is NULL, then a new handle is created.\r
+ @param ComponentName A Component Name Protocol instance that this driver is producing.\r
+ @param ComponentName2 A Component Name 2 Protocol instance that this driver is producing.\r
+\r
+ @retval EFI_SUCCESS The protocol installation is completed successfully.\r
+ @retval EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols.\r
\r
**/\r
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
+ EFI_STATUS Status;\r
+\r
+ ASSERT (DriverBinding != NULL);\r
\r
- ASSERT (NULL != DriverBinding);\r
+ //\r
+ // Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol\r
+ //\r
+ DriverBinding->ImageHandle = ImageHandle;\r
+ DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
\r
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
NULL\r
} else {\r
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
+ &DriverBinding->DriverBindingHandle,\r
&gEfiDriverBindingProtocolGuid, DriverBinding,\r
&gEfiComponentNameProtocolGuid, ComponentName,\r
&gEfiComponentName2ProtocolGuid, ComponentName2,\r
);\r
}\r
}\r
+\r
//\r
// ASSERT if the call to InstallMultipleProtocolInterfaces() failed\r
//\r
ASSERT_EFI_ERROR (Status);\r
\r
- //\r
- // Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol\r
- //\r
- DriverBinding->ImageHandle = ImageHandle;\r
- DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
-\r
return Status;\r
}\r
\r
\r
\r
/**\r
- Intialize a driver by installing the Driver Binding Protocol together with the optional Component Name,\r
- Component Name 2, Driver Configure, Driver Diagnostic and Driver Diagnostic 2 Protocols onto the driver's\r
- DriverBindingHandle. This is typically the same as the driver's ImageHandle, but it can be different if\r
- the driver produces multiple DriverBinding Protocols. \r
- If the Drvier Binding Protocol interface is NULL, then ASSERT (). \r
- If the installation fails, then ASSERT ().\r
-\r
- @param ImageHandle The image handle of the driver.\r
- @param SystemTable The EFI System Table that was passed to the driver's entry point.\r
- @param DriverBinding A Driver Binding Protocol instance that this driver is producing.\r
- @param DriverBindingHandle The handle that DriverBinding is to be installe onto. If this\r
- parameter is NULL, then a new handle is created.\r
- @param ComponentName A Component Name Protocol instance that this driver is producing.\r
- @param ComponentName2 A Component Name 2 Protocol instance that this driver is producing.\r
- @param DriverConfiguration A Driver Configuration Protocol instance that this driver is producing.\r
- @param DriverDiagnostics A Driver Diagnostics Protocol instance that this driver is producing.\r
- @param DriverDiagnostics2 A Driver Diagnostics Protocol 2 instance that this driver is producing.\r
-\r
- @retval EFI_SUCCESS The protocol installation is completed successfully.\r
- @retval Others Status from gBS->InstallMultipleProtocolInterfaces().\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
+\r
+ Initializes a driver by installing the Driver Binding Protocol together with the optional\r
+ Component Name, optional Component Name 2, optional Driver Configuration, optional Driver Configuration 2,\r
+ optional Driver Diagnostic, and optional Driver Diagnostic 2 Protocols onto the driver's DriverBindingHandle.\r
+ DriverBindingHandle is typically the same as the driver's ImageHandle, but it can be different if the driver\r
+ produces multiple Driver Binding Protocols.\r
+ If DriverBinding is NULL, then ASSERT().\r
+ If the installation fails, then ASSERT().\r
+\r
+\r
+ @param ImageHandle The image handle of the driver.\r
+ @param SystemTable The EFI System Table that was passed to the driver's entry point.\r
+ @param DriverBinding A Driver Binding Protocol instance that this driver is producing.\r
+ @param DriverBindingHandle The handle that DriverBinding is to be installed onto. If this\r
+ parameter is NULL, then a new handle is created.\r
+ @param ComponentName A Component Name Protocol instance that this driver is producing.\r
+ @param ComponentName2 A Component Name 2 Protocol instance that this driver is producing.\r
+ @param DriverConfiguration A Driver Configuration Protocol instance that this driver is producing.\r
+ @param DriverConfiguration2 A Driver Configuration Protocol 2 instance that this driver is producing.\r
+ @param DriverDiagnostics A Driver Diagnostics Protocol instance that this driver is producing.\r
+ @param DriverDiagnostics2 A Driver Diagnostics Protocol 2 instance that this driver is producing.\r
+\r
+ @retval EFI_SUCCESS The protocol installation is completed successfully.\r
+ @retval EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols.\r
\r
**/\r
EFI_STATUS\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_DIAGNOSTICS_PROTOCOL *DriverDiagnostics, OPTIONAL\r
- IN CONST EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *DriverDiagnostics2 OPTIONAL\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
\r
- ASSERT (NULL != DriverBinding);\r
-\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
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- NULL\r
- );\r
+ ASSERT (DriverBinding != NULL);\r
+\r
+ //\r
+ // Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol\r
+ //\r
+ DriverBinding->ImageHandle = ImageHandle;\r
+ DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
+\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
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+ NULL\r
+ );\r
+ } else {\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+ &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+ NULL\r
+ );\r
+ }\r
} else {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentName2ProtocolGuid, ComponentName2,\r
- NULL\r
- );\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
+ }\r
}\r
} else {\r
- if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentNameProtocolGuid, ComponentName,\r
- NULL\r
- );\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
+ NULL\r
+ );\r
+ } else {\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+ &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+ &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+ NULL\r
+ );\r
+ }\r
} else {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &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, DriverBinding,\r
+ &gEfiComponentNameProtocolGuid, ComponentName,\r
+ &gEfiDriverDiagnostics2ProtocolGuid, 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
+ NULL\r
+ );\r
+ }\r
}\r
}\r
} else {\r
- if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
- if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
- NULL\r
- );\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
+ NULL\r
+ );\r
+ } else {\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+ &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+ &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+ NULL\r
+ );\r
+ }\r
} else {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentName2ProtocolGuid, ComponentName2,\r
- &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
- NULL\r
- );\r
+ if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+ &gEfiComponentNameProtocolGuid, ComponentName,\r
+ &gEfiDriverDiagnosticsProtocolGuid, 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
+ NULL\r
+ );\r
+ }\r
}\r
} else {\r
- if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentNameProtocolGuid, ComponentName,\r
- &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
- NULL\r
- );\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
+ NULL\r
+ );\r
+ } else {\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+ &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+ &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+ &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+ NULL\r
+ );\r
+ }\r
} else {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentNameProtocolGuid, ComponentName,\r
- &gEfiComponentName2ProtocolGuid, ComponentName2,\r
- &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
- NULL\r
- );\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
+ 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
+ NULL\r
+ );\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
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
- NULL\r
- );\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
+ NULL\r
+ );\r
+ } else {\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+ &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+ &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
+ NULL\r
+ );\r
+ }\r
} else {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentName2ProtocolGuid, ComponentName2,\r
- &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
- NULL\r
- );\r
+ if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+ &gEfiComponentNameProtocolGuid, ComponentName,\r
+ &gEfiDriverConfigurationProtocolGuid, 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
+ NULL\r
+ );\r
+ }\r
}\r
} else {\r
- if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentNameProtocolGuid, ComponentName,\r
- &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
- NULL\r
- );\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
+ NULL\r
+ );\r
+ } else {\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+ &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+ &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
+ &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+ NULL\r
+ );\r
+ }\r
} else {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentNameProtocolGuid, ComponentName,\r
- &gEfiComponentName2ProtocolGuid, ComponentName2,\r
- &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
- NULL\r
- );\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
+ 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
+ NULL\r
+ );\r
+ }\r
}\r
}\r
} else {\r
- if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
- if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
- &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
- NULL\r
- );\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
+ NULL\r
+ );\r
+ } else {\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+ &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+ &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
+ &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+ NULL\r
+ );\r
+ }\r
} else {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentName2ProtocolGuid, ComponentName2,\r
- &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
- &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
- NULL\r
- );\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
+ 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
+ NULL\r
+ );\r
+ }\r
}\r
} else {\r
- if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentNameProtocolGuid, ComponentName,\r
- &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
- &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
- NULL\r
- );\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
+ 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
+ NULL\r
+ );\r
+ }\r
} else {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentNameProtocolGuid, ComponentName,\r
- &gEfiComponentName2ProtocolGuid, ComponentName2,\r
- &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
- &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
- NULL\r
- );\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
+ 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
+ NULL\r
+ );\r
+ }\r
}\r
}\r
}\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
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
- NULL\r
- );\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
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+ &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+ NULL\r
+ );\r
+ } else {\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+ &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+ &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+ NULL\r
+ );\r
+ }\r
} else {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentName2ProtocolGuid, ComponentName2,\r
- &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
- NULL\r
- );\r
+ if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+ &gEfiComponentNameProtocolGuid, ComponentName,\r
+ &gEfiDriverConfiguration2ProtocolGuid, 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
+ NULL\r
+ );\r
+ }\r
}\r
} else {\r
- if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentNameProtocolGuid, ComponentName,\r
- &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
- NULL\r
- );\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
+ NULL\r
+ );\r
+ } else {\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+ &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+ &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+ &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
+ NULL\r
+ );\r
+ }\r
} else {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentNameProtocolGuid, ComponentName,\r
- &gEfiComponentName2ProtocolGuid, ComponentName2,\r
- &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
- NULL\r
- );\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
+ 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
+ NULL\r
+ );\r
+ }\r
}\r
}\r
} else {\r
- if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
- if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
- &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
- NULL\r
- );\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
+ NULL\r
+ );\r
+ } else {\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+ &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+ &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+ &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
+ NULL\r
+ );\r
+ }\r
} else {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentName2ProtocolGuid, ComponentName2,\r
- &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
- &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
- NULL\r
- );\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
+ 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
+ NULL\r
+ );\r
+ }\r
}\r
} else {\r
- if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentNameProtocolGuid, ComponentName,\r
- &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
- &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
- NULL\r
- );\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
+ 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
+ NULL\r
+ );\r
+ }\r
} else {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentNameProtocolGuid, ComponentName,\r
- &gEfiComponentName2ProtocolGuid, ComponentName2,\r
- &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
- &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
- NULL\r
- );\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
+ 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
+ NULL\r
+ );\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
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
- &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
- NULL\r
- );\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
+ NULL\r
+ );\r
+ } else {\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverBinding->DriverBindingHandle,\r
+ &gEfiDriverBindingProtocolGuid, DriverBinding,\r
+ &gEfiComponentName2ProtocolGuid, ComponentName2,\r
+ &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
+ &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,\r
+ NULL\r
+ );\r
+ }\r
} else {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentName2ProtocolGuid, ComponentName2,\r
- &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
- &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
- NULL\r
- );\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
+ 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
+ NULL\r
+ );\r
+ }\r
}\r
} else {\r
- if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentNameProtocolGuid, ComponentName,\r
- &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
- &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
- NULL\r
- );\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
+ 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
+ NULL\r
+ );\r
+ }\r
} else {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentNameProtocolGuid, ComponentName,\r
- &gEfiComponentName2ProtocolGuid, ComponentName2,\r
- &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
- &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
- NULL\r
- );\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
+ 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
+ NULL\r
+ );\r
+ }\r
}\r
}\r
} else {\r
- if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {\r
- if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
- &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
- &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
- NULL\r
- );\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
+ 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
+ NULL\r
+ );\r
+ }\r
} else {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentName2ProtocolGuid, ComponentName2,\r
- &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
- &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
- &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
- NULL\r
- );\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
+ 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
+ NULL\r
+ );\r
+ }\r
}\r
} else {\r
- if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentNameProtocolGuid, ComponentName,\r
- &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
- &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
- &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
- NULL\r
- );\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
+ 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
+ NULL\r
+ );\r
+ }\r
} else {\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &DriverBindingHandle,\r
- &gEfiDriverBindingProtocolGuid, DriverBinding,\r
- &gEfiComponentNameProtocolGuid, ComponentName,\r
- &gEfiComponentName2ProtocolGuid, ComponentName2,\r
- &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,\r
- &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,\r
- &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,\r
- NULL\r
- );\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
+ 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
+ NULL\r
+ );\r
+ }\r
}\r
}\r
}\r
//\r
ASSERT_EFI_ERROR (Status);\r
\r
- //\r
- // Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol\r
- //\r
- DriverBinding->ImageHandle = ImageHandle;\r
- DriverBinding->DriverBindingHandle = DriverBindingHandle;\r
-\r
return Status;\r
}\r
-\r
-\r