Fill the ImageHandle and DriverBindingHandle field of Driver Binding Protocol before installing the Driver Binding Protocol instance.

Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14460 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Ruiyu Ni 2013-07-10 02:06:49 +00:00 committed by niruiyu
parent f87bc6e5c5
commit de27b8f070
3 changed files with 250 additions and 260 deletions

View File

@ -1,6 +1,6 @@
/*++ /*++
Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR> Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -40,23 +40,26 @@ UefiDriverModelLibConstructor (
) )
{ {
EFI_STATUS Status = EFI_UNSUPPORTED; EFI_STATUS Status = EFI_UNSUPPORTED;
EFI_HANDLE DriverBindingHandle;
EFI_DRIVER_BINDING_PROTOCOL *DriverBinding; EFI_DRIVER_BINDING_PROTOCOL *DriverBinding;
// //
// The Driver Binding Protocol must never be NULL
//
DriverBinding = (EFI_DRIVER_BINDING_PROTOCOL *) _gDriverModelProtocolList[0].DriverBinding;
ASSERT(DriverBinding != NULL);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
// Install the first Driver Bindng Protocol onto ImageHandle // Install the first Driver Bindng Protocol onto ImageHandle
// //
DriverBindingHandle = ImageHandle; DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = ImageHandle;
// //
// See if onle one Driver Binding Protocol is advertised by the driver // See if onle one Driver Binding Protocol is advertised by the driver
// EdkIIGlueLib: _gDriverModelProtocolListEntries is always 1 // EdkIIGlueLib: _gDriverModelProtocolListEntries is always 1
// //
//
// The Driver Binding Protocol must never be NULL
//
ASSERT(_gDriverModelProtocolList[0].DriverBinding != NULL);
// //
// Check for all 8 possible combinations of the ComponentName, DriverConfiguration, and DriverDiagnostics Protocol // Check for all 8 possible combinations of the ComponentName, DriverConfiguration, and DriverDiagnostics Protocol
@ -68,14 +71,14 @@ UefiDriverModelLibConstructor (
if (_gDriverModelProtocolList[0].DriverConfiguration == NULL) { if (_gDriverModelProtocolList[0].DriverConfiguration == NULL) {
if (_gDriverModelProtocolList[0].ComponentName == NULL) { if (_gDriverModelProtocolList[0].ComponentName == NULL) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, (EFI_COMPONENT_NAME_PROTOCOL *)_gDriverModelProtocolList[0].ComponentName, &gEfiComponentNameProtocolGuid, (EFI_COMPONENT_NAME_PROTOCOL *)_gDriverModelProtocolList[0].ComponentName,
NULL NULL
); );
@ -83,15 +86,15 @@ UefiDriverModelLibConstructor (
} else { } else {
if (_gDriverModelProtocolList[0].ComponentName == NULL) { if (_gDriverModelProtocolList[0].ComponentName == NULL) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, (EFI_DRIVER_CONFIGURATION_PROTOCOL *)_gDriverModelProtocolList[0].DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, (EFI_DRIVER_CONFIGURATION_PROTOCOL *)_gDriverModelProtocolList[0].DriverConfiguration,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, (EFI_COMPONENT_NAME_PROTOCOL *)_gDriverModelProtocolList[0].ComponentName, &gEfiComponentNameProtocolGuid, (EFI_COMPONENT_NAME_PROTOCOL *)_gDriverModelProtocolList[0].ComponentName,
&gEfiDriverConfigurationProtocolGuid, (EFI_DRIVER_CONFIGURATION_PROTOCOL *)_gDriverModelProtocolList[0].DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, (EFI_DRIVER_CONFIGURATION_PROTOCOL *)_gDriverModelProtocolList[0].DriverConfiguration,
NULL NULL
@ -102,15 +105,15 @@ UefiDriverModelLibConstructor (
if (_gDriverModelProtocolList[0].DriverConfiguration == NULL) { if (_gDriverModelProtocolList[0].DriverConfiguration == NULL) {
if (_gDriverModelProtocolList[0].ComponentName == NULL) { if (_gDriverModelProtocolList[0].ComponentName == NULL) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverDiagnosticsProtocolGuid, (EFI_DRIVER_DIAGNOSTICS_PROTOCOL *)_gDriverModelProtocolList[0].DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, (EFI_DRIVER_DIAGNOSTICS_PROTOCOL *)_gDriverModelProtocolList[0].DriverDiagnostics,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, (EFI_COMPONENT_NAME_PROTOCOL *)_gDriverModelProtocolList[0].ComponentName, &gEfiComponentNameProtocolGuid, (EFI_COMPONENT_NAME_PROTOCOL *)_gDriverModelProtocolList[0].ComponentName,
&gEfiDriverDiagnosticsProtocolGuid, (EFI_DRIVER_DIAGNOSTICS_PROTOCOL *)_gDriverModelProtocolList[0].DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, (EFI_DRIVER_DIAGNOSTICS_PROTOCOL *)_gDriverModelProtocolList[0].DriverDiagnostics,
NULL NULL
@ -119,16 +122,16 @@ UefiDriverModelLibConstructor (
} else { } else {
if (_gDriverModelProtocolList[0].ComponentName == NULL) { if (_gDriverModelProtocolList[0].ComponentName == NULL) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, (EFI_DRIVER_CONFIGURATION_PROTOCOL *)_gDriverModelProtocolList[0].DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, (EFI_DRIVER_CONFIGURATION_PROTOCOL *)_gDriverModelProtocolList[0].DriverConfiguration,
&gEfiDriverDiagnosticsProtocolGuid, (EFI_DRIVER_DIAGNOSTICS_PROTOCOL *)_gDriverModelProtocolList[0].DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, (EFI_DRIVER_DIAGNOSTICS_PROTOCOL *)_gDriverModelProtocolList[0].DriverDiagnostics,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, (EFI_COMPONENT_NAME_PROTOCOL *)_gDriverModelProtocolList[0].ComponentName, &gEfiComponentNameProtocolGuid, (EFI_COMPONENT_NAME_PROTOCOL *)_gDriverModelProtocolList[0].ComponentName,
&gEfiDriverConfigurationProtocolGuid, (EFI_DRIVER_CONFIGURATION_PROTOCOL *)_gDriverModelProtocolList[0].DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, (EFI_DRIVER_CONFIGURATION_PROTOCOL *)_gDriverModelProtocolList[0].DriverConfiguration,
&gEfiDriverDiagnosticsProtocolGuid, (EFI_DRIVER_DIAGNOSTICS_PROTOCOL *)_gDriverModelProtocolList[0].DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, (EFI_DRIVER_DIAGNOSTICS_PROTOCOL *)_gDriverModelProtocolList[0].DriverDiagnostics,
@ -144,14 +147,14 @@ UefiDriverModelLibConstructor (
if (_gDriverModelProtocolList[0].DriverConfiguration2== NULL) { if (_gDriverModelProtocolList[0].DriverConfiguration2== NULL) {
if (_gDriverModelProtocolList[0].ComponentName2== NULL) { if (_gDriverModelProtocolList[0].ComponentName2== NULL) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, (EFI_COMPONENT_NAME2_PROTOCOL *)_gDriverModelProtocolList[0].ComponentName2, &gEfiComponentName2ProtocolGuid, (EFI_COMPONENT_NAME2_PROTOCOL *)_gDriverModelProtocolList[0].ComponentName2,
NULL NULL
); );
@ -159,15 +162,15 @@ UefiDriverModelLibConstructor (
} else { } else {
if (_gDriverModelProtocolList[0].ComponentName2 == NULL) { if (_gDriverModelProtocolList[0].ComponentName2 == NULL) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfiguration2ProtocolGuid, (EFI_DRIVER_CONFIGURATION2_PROTOCOL *)_gDriverModelProtocolList[0].DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, (EFI_DRIVER_CONFIGURATION2_PROTOCOL *)_gDriverModelProtocolList[0].DriverConfiguration2,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, (EFI_COMPONENT_NAME2_PROTOCOL *)_gDriverModelProtocolList[0].ComponentName2, &gEfiComponentName2ProtocolGuid, (EFI_COMPONENT_NAME2_PROTOCOL *)_gDriverModelProtocolList[0].ComponentName2,
&gEfiDriverConfiguration2ProtocolGuid, (EFI_DRIVER_CONFIGURATION2_PROTOCOL *)_gDriverModelProtocolList[0].DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, (EFI_DRIVER_CONFIGURATION2_PROTOCOL *)_gDriverModelProtocolList[0].DriverConfiguration2,
NULL NULL
@ -178,15 +181,15 @@ UefiDriverModelLibConstructor (
if (_gDriverModelProtocolList[0].DriverConfiguration2 == NULL) { if (_gDriverModelProtocolList[0].DriverConfiguration2 == NULL) {
if (_gDriverModelProtocolList[0].ComponentName2 == NULL) { if (_gDriverModelProtocolList[0].ComponentName2 == NULL) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverDiagnostics2ProtocolGuid, (EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *)_gDriverModelProtocolList[0].DriverDiagnostics2, &gEfiDriverDiagnostics2ProtocolGuid, (EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *)_gDriverModelProtocolList[0].DriverDiagnostics2,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, (EFI_COMPONENT_NAME2_PROTOCOL *)_gDriverModelProtocolList[0].ComponentName2, &gEfiComponentName2ProtocolGuid, (EFI_COMPONENT_NAME2_PROTOCOL *)_gDriverModelProtocolList[0].ComponentName2,
&gEfiDriverDiagnostics2ProtocolGuid, (EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *)_gDriverModelProtocolList[0].DriverDiagnostics2, &gEfiDriverDiagnostics2ProtocolGuid, (EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *)_gDriverModelProtocolList[0].DriverDiagnostics2,
NULL NULL
@ -195,16 +198,16 @@ UefiDriverModelLibConstructor (
} else { } else {
if (_gDriverModelProtocolList[0].ComponentName2 == NULL) { if (_gDriverModelProtocolList[0].ComponentName2 == NULL) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfiguration2ProtocolGuid, (EFI_DRIVER_CONFIGURATION2_PROTOCOL *)_gDriverModelProtocolList[0].DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, (EFI_DRIVER_CONFIGURATION2_PROTOCOL *)_gDriverModelProtocolList[0].DriverConfiguration2,
&gEfiDriverDiagnostics2ProtocolGuid, (EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *)_gDriverModelProtocolList[0].DriverDiagnostics2, &gEfiDriverDiagnostics2ProtocolGuid, (EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *)_gDriverModelProtocolList[0].DriverDiagnostics2,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, (EFI_COMPONENT_NAME2_PROTOCOL *)_gDriverModelProtocolList[0].ComponentName2, &gEfiComponentName2ProtocolGuid, (EFI_COMPONENT_NAME2_PROTOCOL *)_gDriverModelProtocolList[0].ComponentName2,
&gEfiDriverConfiguration2ProtocolGuid, (EFI_DRIVER_CONFIGURATION2_PROTOCOL *)_gDriverModelProtocolList[0].DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, (EFI_DRIVER_CONFIGURATION2_PROTOCOL *)_gDriverModelProtocolList[0].DriverConfiguration2,
&gEfiDriverDiagnostics2ProtocolGuid, (EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *)_gDriverModelProtocolList[0].DriverDiagnostics2, &gEfiDriverDiagnostics2ProtocolGuid, (EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *)_gDriverModelProtocolList[0].DriverDiagnostics2,
@ -219,16 +222,7 @@ UefiDriverModelLibConstructor (
// ASSERT if the call to InstallMultipleProtocolInterfaces() failed // ASSERT if the call to InstallMultipleProtocolInterfaces() failed
// //
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
return Status;
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding = (EFI_DRIVER_BINDING_PROTOCOL *)_gDriverModelProtocolList[0].DriverBinding;
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
return EFI_SUCCESS;
} }
/** /**

View File

@ -2,7 +2,7 @@
Library functions that abstract driver model protocols Library functions that abstract driver model protocols
installation. installation.
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are This program and the accompanying materials are
licensed and made available under the terms and conditions of the BSD License licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -51,8 +51,14 @@ EfiLibInstallDriverBinding (
ASSERT (DriverBinding != NULL); ASSERT (DriverBinding != NULL);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
NULL NULL
); );
@ -61,12 +67,6 @@ EfiLibInstallDriverBinding (
// //
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
return Status; return Status;
} }
@ -113,17 +113,23 @@ EfiLibInstallAllDriverProtocols (
ASSERT (DriverBinding != NULL); ASSERT (DriverBinding != NULL);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) { if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {
if (DriverConfiguration == NULL) { if (DriverConfiguration == NULL) {
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
NULL NULL
@ -132,14 +138,14 @@ EfiLibInstallAllDriverProtocols (
} else { } else {
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -151,14 +157,14 @@ EfiLibInstallAllDriverProtocols (
if (DriverConfiguration == NULL) { if (DriverConfiguration == NULL) {
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -168,7 +174,7 @@ EfiLibInstallAllDriverProtocols (
} else { } else {
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -176,7 +182,7 @@ EfiLibInstallAllDriverProtocols (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -192,12 +198,6 @@ EfiLibInstallAllDriverProtocols (
// //
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
return Status; return Status;
} }
@ -241,16 +241,22 @@ EfiLibInstallDriverBindingComponentName2 (
ASSERT (DriverBinding != NULL); ASSERT (DriverBinding != NULL);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
NULL NULL
@ -259,14 +265,14 @@ EfiLibInstallDriverBindingComponentName2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -274,17 +280,12 @@ EfiLibInstallDriverBindingComponentName2 (
); );
} }
} }
// //
// ASSERT if the call to InstallMultipleProtocolInterfaces() failed // ASSERT if the call to InstallMultipleProtocolInterfaces() failed
// //
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
return Status; return Status;
} }
@ -300,7 +301,7 @@ EfiLibInstallDriverBindingComponentName2 (
DriverBindingHandle is typically the same as the driver's ImageHandle, but it can be different if the driver DriverBindingHandle is typically the same as the driver's ImageHandle, but it can be different if the driver
produces multiple Driver Binding Protocols. produces multiple Driver Binding Protocols.
If DriverBinding is NULL, then ASSERT(). If DriverBinding is NULL, then ASSERT().
If the installation fails, then ASSERT(). If the installation fails, then ASSERT().
@param ImageHandle The image handle of the driver. @param ImageHandle The image handle of the driver.
@ -338,6 +339,12 @@ EfiLibInstallAllDriverProtocols2 (
ASSERT (DriverBinding != NULL); ASSERT (DriverBinding != NULL);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
if (DriverConfiguration2 == NULL) { if (DriverConfiguration2 == NULL) {
if (DriverConfiguration == NULL) { if (DriverConfiguration == NULL) {
if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) { if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {
@ -345,13 +352,13 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
NULL NULL
@ -360,14 +367,14 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -379,14 +386,14 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2, &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2, &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,
@ -396,7 +403,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2, &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,
@ -404,7 +411,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -419,14 +426,14 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -436,7 +443,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -444,7 +451,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -457,7 +464,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2, &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,
@ -465,7 +472,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -476,7 +483,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -485,7 +492,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -503,14 +510,14 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -520,7 +527,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -528,7 +535,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -541,7 +548,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2, &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,
@ -549,7 +556,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -560,7 +567,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -569,7 +576,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -585,7 +592,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -593,7 +600,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -604,7 +611,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -613,7 +620,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -627,7 +634,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -636,7 +643,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -648,7 +655,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -658,7 +665,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -679,14 +686,14 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -696,7 +703,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -704,7 +711,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -717,7 +724,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2, &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -725,7 +732,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -736,7 +743,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -745,7 +752,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -761,7 +768,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -769,7 +776,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -780,7 +787,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -789,7 +796,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -803,7 +810,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -812,7 +819,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -824,7 +831,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -834,7 +841,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -853,7 +860,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -861,7 +868,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -872,7 +879,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -881,7 +888,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -895,7 +902,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -904,7 +911,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -916,7 +923,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -926,7 +933,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -943,7 +950,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -952,7 +959,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -964,7 +971,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -974,7 +981,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -989,7 +996,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -999,7 +1006,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -1012,7 +1019,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -1023,7 +1030,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -1040,19 +1047,10 @@ EfiLibInstallAllDriverProtocols2 (
} }
} }
// //
// ASSERT if the call to InstallMultipleProtocolInterfaces() failed // ASSERT if the call to InstallMultipleProtocolInterfaces() failed
// //
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
return Status; return Status;
} }

View File

@ -2,7 +2,7 @@
Library functions that abstract driver model protocols Library functions that abstract driver model protocols
installation. installation.
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are This program and the accompanying materials are
licensed and made available under the terms and conditions of the BSD License licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -51,8 +51,14 @@ EfiLibInstallDriverBinding (
ASSERT (DriverBinding != NULL); ASSERT (DriverBinding != NULL);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
NULL NULL
); );
@ -61,12 +67,6 @@ EfiLibInstallDriverBinding (
// //
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
return Status; return Status;
} }
@ -113,17 +113,23 @@ EfiLibInstallAllDriverProtocols (
ASSERT (DriverBinding != NULL); ASSERT (DriverBinding != NULL);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) { if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {
if (DriverConfiguration == NULL) { if (DriverConfiguration == NULL) {
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
NULL NULL
@ -132,14 +138,14 @@ EfiLibInstallAllDriverProtocols (
} else { } else {
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -151,14 +157,14 @@ EfiLibInstallAllDriverProtocols (
if (DriverConfiguration == NULL) { if (DriverConfiguration == NULL) {
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -168,7 +174,7 @@ EfiLibInstallAllDriverProtocols (
} else { } else {
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -176,7 +182,7 @@ EfiLibInstallAllDriverProtocols (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -192,12 +198,6 @@ EfiLibInstallAllDriverProtocols (
// //
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
return Status; return Status;
} }
@ -241,16 +241,22 @@ EfiLibInstallDriverBindingComponentName2 (
ASSERT (DriverBinding != NULL); ASSERT (DriverBinding != NULL);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
NULL NULL
@ -259,14 +265,14 @@ EfiLibInstallDriverBindingComponentName2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -274,17 +280,12 @@ EfiLibInstallDriverBindingComponentName2 (
); );
} }
} }
// //
// ASSERT if the call to InstallMultipleProtocolInterfaces() failed // ASSERT if the call to InstallMultipleProtocolInterfaces() failed
// //
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
return Status; return Status;
} }
@ -338,6 +339,12 @@ EfiLibInstallAllDriverProtocols2 (
ASSERT (DriverBinding != NULL); ASSERT (DriverBinding != NULL);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
if (DriverConfiguration2 == NULL) { if (DriverConfiguration2 == NULL) {
if (DriverConfiguration == NULL) { if (DriverConfiguration == NULL) {
if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) { if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {
@ -345,13 +352,13 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
NULL NULL
@ -360,14 +367,14 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -379,14 +386,14 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2, &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2, &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,
@ -396,7 +403,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2, &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,
@ -404,7 +411,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -419,14 +426,14 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -436,7 +443,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -444,7 +451,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -457,7 +464,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2, &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,
@ -465,7 +472,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -476,7 +483,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -485,7 +492,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -503,14 +510,14 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -520,7 +527,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -528,7 +535,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -541,7 +548,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2, &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,
@ -549,7 +556,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -560,7 +567,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -569,7 +576,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -585,7 +592,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -593,7 +600,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -604,7 +611,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -613,7 +620,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -627,7 +634,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -636,7 +643,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -648,7 +655,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -658,7 +665,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -679,14 +686,14 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
NULL NULL
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -696,7 +703,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -704,7 +711,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -717,7 +724,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2, &gEfiDriverDiagnostics2ProtocolGuid, DriverDiagnostics2,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -725,7 +732,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -736,7 +743,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -745,7 +752,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -761,7 +768,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -769,7 +776,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -780,7 +787,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -789,7 +796,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -803,7 +810,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
&gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics,
@ -812,7 +819,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -824,7 +831,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -834,7 +841,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -853,7 +860,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -861,7 +868,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -872,7 +879,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -881,7 +888,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -895,7 +902,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -904,7 +911,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -916,7 +923,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -926,7 +933,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -943,7 +950,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -952,7 +959,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -964,7 +971,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -974,7 +981,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -989,7 +996,7 @@ EfiLibInstallAllDriverProtocols2 (
if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) { if (ComponentName == NULL || FeaturePcdGet(PcdComponentNameDisable)) {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
&gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2, &gEfiDriverConfiguration2ProtocolGuid, DriverConfiguration2,
@ -999,7 +1006,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -1012,7 +1019,7 @@ EfiLibInstallAllDriverProtocols2 (
} else { } else {
if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) { if (ComponentName2 == NULL || FeaturePcdGet(PcdComponentName2Disable)) {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiDriverConfigurationProtocolGuid, DriverConfiguration, &gEfiDriverConfigurationProtocolGuid, DriverConfiguration,
@ -1023,7 +1030,7 @@ EfiLibInstallAllDriverProtocols2 (
); );
} else { } else {
Status = gBS->InstallMultipleProtocolInterfaces ( Status = gBS->InstallMultipleProtocolInterfaces (
&DriverBindingHandle, &DriverBinding->DriverBindingHandle,
&gEfiDriverBindingProtocolGuid, DriverBinding, &gEfiDriverBindingProtocolGuid, DriverBinding,
&gEfiComponentNameProtocolGuid, ComponentName, &gEfiComponentNameProtocolGuid, ComponentName,
&gEfiComponentName2ProtocolGuid, ComponentName2, &gEfiComponentName2ProtocolGuid, ComponentName2,
@ -1040,19 +1047,10 @@ EfiLibInstallAllDriverProtocols2 (
} }
} }
// //
// ASSERT if the call to InstallMultipleProtocolInterfaces() failed // ASSERT if the call to InstallMultipleProtocolInterfaces() failed
// //
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
//
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
//
DriverBinding->ImageHandle = ImageHandle;
DriverBinding->DriverBindingHandle = DriverBindingHandle;
return Status; return Status;
} }