From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.31; helo=mga06.intel.com; envelope-from=michael.d.kinney@intel.com; receiver=edk2-devel@lists.01.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id CFC8F208AE35F for ; Tue, 19 Feb 2019 11:56:17 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Feb 2019 11:56:17 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,388,1544515200"; d="scan'208";a="276276783" Received: from orsmsx108.amr.corp.intel.com ([10.22.240.6]) by orsmga004.jf.intel.com with ESMTP; 19 Feb 2019 11:56:17 -0800 Received: from orsmsx162.amr.corp.intel.com (10.22.240.85) by ORSMSX108.amr.corp.intel.com (10.22.240.6) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 19 Feb 2019 11:56:16 -0800 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.97]) by ORSMSX162.amr.corp.intel.com ([169.254.3.118]) with mapi id 14.03.0415.000; Tue, 19 Feb 2019 11:56:16 -0800 From: "Kinney, Michael D" To: Ashish Singhal , "edk2-devel@lists.01.org" , "Kinney, Michael D" CC: "Gao, Liming" Thread-Topic: [PATCH] MdePkg/UefiLib: Simplify protocol un/installation abstraction Thread-Index: AQHUyG7uiDgidDFX4U2lWbhI5Q1BQ6XniSTA Date: Tue, 19 Feb 2019 19:56:16 +0000 Message-ID: References: <9c850690f22cc52a348211f28b6c1c8d0b9c47c2.1549310714.git.ashishsingha@nvidia.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.22.254.139] MIME-Version: 1.0 Subject: Re: [PATCH] MdePkg/UefiLib: Simplify protocol un/installation abstraction X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2019 19:56:18 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Ashish, Thanks for looking at simplifying this logic again. I have not had a chance to run the size analysis yet. I will get back to you in a couple of days. Thanks, Mike > -----Original Message----- > From: Ashish Singhal [mailto:ashishsingha@nvidia.com] > Sent: Tuesday, February 19, 2019 8:19 AM > To: edk2-devel@lists.01.org > Cc: Kinney, Michael D ; > Gao, Liming > Subject: RE: [PATCH] MdePkg/UefiLib: Simplify protocol > un/installation abstraction >=20 > Hello Mike/Lao, >=20 > Were you able to have a look at this? >=20 > Thanks > Ashish >=20 > -----Original Message----- > From: Ashish Singhal > Sent: Monday, February 4, 2019 1:16 PM > To: edk2-devel@lists.01.org > Cc: michael.d.kinney@intel.com; liming.gao@intel.com; > Ashish Singhal > Subject: [PATCH] MdePkg/UefiLib: Simplify protocol > un/installation abstraction >=20 > Add helper functions to operate upon protocol > installation and > uninstallation instead of every function doing it by > itself. >=20 > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Ashish Singhal > --- > MdePkg/Library/UefiLib/UefiDriverModel.c | 2040 +++++- > ------------------------ > 1 file changed, 342 insertions(+), 1698 deletions(-) >=20 > diff --git a/MdePkg/Library/UefiLib/UefiDriverModel.c > b/MdePkg/Library/UefiLib/UefiDriverModel.c > index 262d8bc..268edf7 100644 > --- a/MdePkg/Library/UefiLib/UefiDriverModel.c > +++ b/MdePkg/Library/UefiLib/UefiDriverModel.c > @@ -17,6 +17,290 @@ >=20 > #include "UefiLibInternal.h" >=20 > + > +#define MAX_SUPPORTED_PROTOCOLS 7 > +typedef struct { > + EFI_GUID *Guid; > + VOID *Interface; > +} EFI_PROCESS_PROTOCOL; > + > + > +static > +EFI_STATUS > +EFIAPI > +EfiLibProcessProtocols ( > + IN CONST EFI_HANDLE > ImageHandle, > + IN EFI_DRIVER_BINDING_PROTOCOL > *DriverBinding, > + IN EFI_HANDLE > DriverBindingHandle, > + IN BOOLEAN Install, > + IN CONST EFI_PROCESS_PROTOCOL > *ProtocolArray > + ) > +{ > + ASSERT (DriverBinding !=3D NULL); > + ASSERT (ProtocolArray !=3D NULL); > + > + if (Install) { > + // > + // Update the ImageHandle and DriverBindingHandle > fields of the Driver Binding Protocol > + // > + DriverBinding->ImageHandle =3D ImageHandle; > + DriverBinding->DriverBindingHandle =3D > DriverBindingHandle; > + > + return gBS->InstallMultipleProtocolInterfaces ( > + &DriverBinding->DriverBindingHandle, > + ProtocolArray[0].Guid, > ProtocolArray[0].Interface, > + ProtocolArray[1].Guid, > ProtocolArray[1].Interface, > + ProtocolArray[2].Guid, > ProtocolArray[2].Interface, > + ProtocolArray[3].Guid, > ProtocolArray[3].Interface, > + ProtocolArray[4].Guid, > ProtocolArray[4].Interface, > + ProtocolArray[5].Guid, > ProtocolArray[5].Interface, > + ProtocolArray[6].Guid, > ProtocolArray[6].Interface, > + NULL > + ); > + } else { > + return gBS->UninstallMultipleProtocolInterfaces ( > + DriverBinding->DriverBindingHandle, > + ProtocolArray[0].Guid, > ProtocolArray[0].Interface, > + ProtocolArray[1].Guid, > ProtocolArray[1].Interface, > + ProtocolArray[2].Guid, > ProtocolArray[2].Interface, > + ProtocolArray[3].Guid, > ProtocolArray[3].Interface, > + ProtocolArray[4].Guid, > ProtocolArray[4].Interface, > + ProtocolArray[5].Guid, > ProtocolArray[5].Interface, > + ProtocolArray[6].Guid, > ProtocolArray[6].Interface, > + NULL > + ); > + } > +} > + > + > + > +static > +EFI_STATUS > +EFIAPI > +EfiLibProcessAllDriverProtocols ( > + IN CONST EFI_HANDLE > ImageHandle, > + IN EFI_DRIVER_BINDING_PROTOCOL > *DriverBinding, > + IN EFI_HANDLE > DriverBindingHandle, > + IN BOOLEAN Install, > + IN CONST EFI_COMPONENT_NAME_PROTOCOL > *ComponentName, > + IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL > *DriverConfiguration, > + IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL > *DriverDiagnostics > + ) > +{ > + EFI_STATUS Status; > + EFI_PROCESS_PROTOCOL > ProtocolArray[MAX_SUPPORTED_PROTOCOLS]; > + UINT8 ProtocolCount; > + > + ASSERT (DriverBinding !=3D NULL); > + > + // > + // ZI the ProtocolArray structure. Both > InstallMultipleProtocolInterfaces > + // and UninstallMultipleProtocolInterfaces would > stop processing ProtocolArray > + // elements as soon as they encounter a NULL. > + // > + ZeroMem(ProtocolArray, sizeof(ProtocolArray)); > + ProtocolCount =3D 0; > + > + // > + // Populate ProtocolArray with valid protocol > interfaces. > + // > + ProtocolArray[ProtocolCount].Guid =3D > &gEfiDriverBindingProtocolGuid; > + ProtocolArray[ProtocolCount].Interface =3D > DriverBinding; > + ProtocolCount++; > + > + if (ComponentName !=3D NULL && > !FeaturePcdGet(PcdComponentNameDisable)) { > + ProtocolArray[ProtocolCount].Guid =3D > &gEfiComponentNameProtocolGuid; > + ProtocolArray[ProtocolCount].Interface =3D (VOID > *)ComponentName; > + ProtocolCount++; > + } > + > + if (DriverConfiguration !=3D NULL) { > + ProtocolArray[ProtocolCount].Guid =3D > &gEfiDriverConfigurationProtocolGuid; > + ProtocolArray[ProtocolCount].Interface =3D (VOID > *)DriverConfiguration; > + ProtocolCount++; > + } > + > + if (DriverDiagnostics !=3D NULL && > !FeaturePcdGet(PcdDriverDiagnosticsDisable)) { > + ProtocolArray[ProtocolCount].Guid =3D > &gEfiDriverDiagnosticsProtocolGuid; > + ProtocolArray[ProtocolCount].Interface =3D (VOID > *)DriverDiagnostics; > + ProtocolCount++; > + } > + > + Status =3D EfiLibProcessProtocols ( > + ImageHandle, > + DriverBinding, > + DriverBindingHandle, > + Install, > + ProtocolArray > + ); > + > + // > + // ASSERT if the call to > InstallMultipleProtocolInterfaces() or > + // UninstallMultipleProtocolInterfaces() failed > + // > + ASSERT_EFI_ERROR (Status); > + > + return Status; > +} > + > + > + > +static > +EFI_STATUS > +EFIAPI > +EfiLibProcessDriverBindingComponentName2 ( > + IN CONST EFI_HANDLE > ImageHandle, > + IN EFI_DRIVER_BINDING_PROTOCOL > *DriverBinding, > + IN EFI_HANDLE > DriverBindingHandle, > + IN BOOLEAN Install, > + IN CONST EFI_COMPONENT_NAME_PROTOCOL > *ComponentName, > + IN CONST EFI_COMPONENT_NAME2_PROTOCOL > *ComponentName2 > + ) > +{ > + EFI_STATUS Status; > + EFI_PROCESS_PROTOCOL > ProtocolArray[MAX_SUPPORTED_PROTOCOLS]; > + UINT8 ProtocolCount; > + > + ASSERT (DriverBinding !=3D NULL); > + > + // > + // ZI the ProtocolArray structure. Both > InstallMultipleProtocolInterfaces > + // and UninstallMultipleProtocolInterfaces would > stop processing ProtocolArray > + // elements as soon as they encounter a NULL. > + // > + ZeroMem(ProtocolArray, sizeof(ProtocolArray)); > + ProtocolCount =3D 0; > + > + // > + // Populate ProtocolArray with valid protocol > interfaces. > + // > + ProtocolArray[ProtocolCount].Guid =3D > &gEfiDriverBindingProtocolGuid; > + ProtocolArray[ProtocolCount].Interface =3D > DriverBinding; > + ProtocolCount++; > + > + if (ComponentName !=3D NULL && > !FeaturePcdGet(PcdComponentNameDisable)) { > + ProtocolArray[ProtocolCount].Guid =3D > &gEfiComponentNameProtocolGuid; > + ProtocolArray[ProtocolCount].Interface =3D (VOID > *)ComponentName; > + ProtocolCount++; > + } > + > + if (ComponentName2 !=3D NULL && > !FeaturePcdGet(PcdComponentName2Disable)) { > + ProtocolArray[ProtocolCount].Guid =3D > &gEfiComponentName2ProtocolGuid; > + ProtocolArray[ProtocolCount].Interface =3D (VOID > *)ComponentName2; > + ProtocolCount++; > + } > + > + Status =3D EfiLibProcessProtocols ( > + ImageHandle, > + DriverBinding, > + DriverBindingHandle, > + Install, > + ProtocolArray > + ); > + > + // > + // ASSERT if the call to > InstallMultipleProtocolInterfaces() or > + // UninstallMultipleProtocolInterfaces() failed > + // > + ASSERT_EFI_ERROR (Status); > + > + return Status; > +} > + > + > + > +static > +EFI_STATUS > +EFIAPI > +EfiLibProcessAllDriverProtocols2 ( > + IN CONST EFI_HANDLE > ImageHandle, > + IN EFI_DRIVER_BINDING_PROTOCOL > *DriverBinding, > + IN EFI_HANDLE > DriverBindingHandle, > + IN BOOLEAN Install, > + IN CONST EFI_COMPONENT_NAME_PROTOCOL > *ComponentName, > + IN CONST EFI_COMPONENT_NAME2_PROTOCOL > *ComponentName2, > + IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL > *DriverConfiguration, > + IN CONST EFI_DRIVER_CONFIGURATION2_PROTOCOL > *DriverConfiguration2, > + IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL > *DriverDiagnostics, > + IN CONST EFI_DRIVER_DIAGNOSTICS2_PROTOCOL > *DriverDiagnostics2 > + ) > +{ > + EFI_STATUS Status; > + EFI_PROCESS_PROTOCOL > ProtocolArray[MAX_SUPPORTED_PROTOCOLS]; > + UINT8 ProtocolCount; > + > + ASSERT (DriverBinding !=3D NULL); > + > + // > + // ZI the ProtocolArray structure. Both > InstallMultipleProtocolInterfaces > + // and UninstallMultipleProtocolInterfaces would > stop processing ProtocolArray > + // elements as soon as they encounter a NULL. > + // > + ZeroMem(ProtocolArray, sizeof(ProtocolArray)); > + ProtocolCount =3D 0; > + > + // > + // Populate ProtocolArray with valid protocol > interfaces. > + // > + ProtocolArray[ProtocolCount].Guid =3D > &gEfiDriverBindingProtocolGuid; > + ProtocolArray[ProtocolCount].Interface =3D > DriverBinding; > + ProtocolCount++; > + > + if (ComponentName !=3D NULL && > !FeaturePcdGet(PcdComponentNameDisable)) { > + ProtocolArray[ProtocolCount].Guid =3D > &gEfiComponentNameProtocolGuid; > + ProtocolArray[ProtocolCount].Interface =3D (VOID > *)ComponentName; > + ProtocolCount++; > + } > + > + if (ComponentName2 !=3D NULL && > !FeaturePcdGet(PcdComponentName2Disable)) { > + ProtocolArray[ProtocolCount].Guid =3D > &gEfiComponentName2ProtocolGuid; > + ProtocolArray[ProtocolCount].Interface =3D (VOID > *)ComponentName2; > + ProtocolCount++; > + } > + > + if (DriverConfiguration !=3D NULL) { > + ProtocolArray[ProtocolCount].Guid =3D > &gEfiDriverConfigurationProtocolGuid; > + ProtocolArray[ProtocolCount].Interface =3D (VOID > *)DriverConfiguration; > + ProtocolCount++; > + } > + > + if (DriverConfiguration2 !=3D NULL) { > + ProtocolArray[ProtocolCount].Guid =3D > &gEfiDriverConfiguration2ProtocolGuid; > + ProtocolArray[ProtocolCount].Interface =3D (VOID > *)DriverConfiguration2; > + ProtocolCount++; > + } > + > + if (DriverDiagnostics !=3D NULL && > !FeaturePcdGet(PcdDriverDiagnosticsDisable)) { > + ProtocolArray[ProtocolCount].Guid =3D > &gEfiDriverDiagnosticsProtocolGuid; > + ProtocolArray[ProtocolCount].Interface =3D (VOID > *)DriverDiagnostics; > + ProtocolCount++; > + } > + > + if (DriverDiagnostics2 !=3D NULL && > !FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > + ProtocolArray[ProtocolCount].Guid =3D > &gEfiDriverDiagnostics2ProtocolGuid; > + ProtocolArray[ProtocolCount].Interface =3D (VOID > *)DriverDiagnostics2; > + ProtocolCount++; > + } > + > + Status =3D EfiLibProcessProtocols ( > + ImageHandle, > + DriverBinding, > + DriverBindingHandle, > + Install, > + ProtocolArray > + ); > + > + // > + // ASSERT if the call to > InstallMultipleProtocolInterfaces() or > + // UninstallMultipleProtocolInterfaces() failed > + // > + ASSERT_EFI_ERROR (Status); > + > + return Status; > +} > + > + > + > /** > Installs and completes the initialization of a > Driver Binding Protocol instance. >=20 > @@ -148,96 +432,15 @@ EfiLibInstallAllDriverProtocols ( > IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL > *DriverDiagnostics OPTIONAL > ) > { > - EFI_STATUS Status; > - > - ASSERT (DriverBinding !=3D NULL); > - > - // > - // Update the ImageHandle and DriverBindingHandle > fields of the Driver Binding Protocol > - // > - DriverBinding->ImageHandle =3D ImageHandle; > - DriverBinding->DriverBindingHandle =3D > DriverBindingHandle; > - > - if (DriverDiagnostics =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnosticsDisable)) { > - if (DriverConfiguration =3D=3D NULL) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - NULL > - ); > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - NULL > - ); > - } > - } > - } else { > - if (DriverConfiguration =3D=3D NULL) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - Status =3D gBS->InstallMultipleProtocolInterfaces > ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, > DriverDiagnostics, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, > DriverDiagnostics, > - NULL > - ); > - } > - } > - } > - > - // > - // ASSERT if the call to > InstallMultipleProtocolInterfaces() failed > - // > - ASSERT_EFI_ERROR (Status); > - > - return Status; > + return EfiLibProcessAllDriverProtocols ( > + ImageHandle, > + DriverBinding, > + DriverBindingHandle, > + TRUE, > + ComponentName, > + DriverConfiguration, > + DriverDiagnostics > + ); > } >=20 >=20 > @@ -267,90 +470,15 @@ EfiLibUninstallAllDriverProtocols > ( > IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL > *DriverDiagnostics OPTIONAL > ) > { > - EFI_STATUS Status; > - > - ASSERT (DriverBinding !=3D NULL); > - > - if (DriverDiagnostics =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnosticsDisable)) { > - if (DriverConfiguration =3D=3D NULL) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - NULL > - ); > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - NULL > - ); > - } > - } > - } else { > - if (DriverConfiguration =3D=3D NULL) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, > DriverDiagnostics, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, > DriverDiagnostics, > - NULL > - ); > - } > - } > - } > - > - // > - // ASSERT if the call to > UninstallMultipleProtocolInterfaces() failed > - // > - ASSERT_EFI_ERROR (Status); > - > - return Status; > + return EfiLibProcessAllDriverProtocols ( > + NULL, > + DriverBinding, > + NULL, > + FALSE, > + ComponentName, > + DriverConfiguration, > + DriverDiagnostics > + ); > } >=20 >=20 > @@ -389,56 +517,14 @@ > EfiLibInstallDriverBindingComponentName2 ( > IN CONST EFI_COMPONENT_NAME2_PROTOCOL > *ComponentName2 OPTIONAL > ) > { > - EFI_STATUS Status; > - > - ASSERT (DriverBinding !=3D NULL); > - > - // > - // Update the ImageHandle and DriverBindingHandle > fields of the Driver Binding Protocol > - // > - DriverBinding->ImageHandle =3D ImageHandle; > - DriverBinding->DriverBindingHandle =3D > DriverBindingHandle; > - > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS->InstallMultipleProtocolInterfaces > ( > - &DriverBinding- > >DriverBindingHandle, > - &gEfiDriverBindingProtocolGuid, > DriverBinding, > - NULL > - ); > - } else { > - Status =3D gBS->InstallMultipleProtocolInterfaces > ( > - &DriverBinding- > >DriverBindingHandle, > - &gEfiDriverBindingProtocolGuid, > DriverBinding, > - &gEfiComponentName2ProtocolGuid, > ComponentName2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS->InstallMultipleProtocolInterfaces > ( > - &DriverBinding- > >DriverBindingHandle, > - &gEfiDriverBindingProtocolGuid, > DriverBinding, > - &gEfiComponentNameProtocolGuid, > ComponentName, > - NULL > - ); > - } else { > - Status =3D gBS->InstallMultipleProtocolInterfaces > ( > - &DriverBinding- > >DriverBindingHandle, > - &gEfiDriverBindingProtocolGuid, > DriverBinding, > - &gEfiComponentNameProtocolGuid, > ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - NULL > - ); > - } > - } > - > - // > - // ASSERT if the call to > InstallMultipleProtocolInterfaces() failed > - // > - ASSERT_EFI_ERROR (Status); > - > - return Status; > + return EfiLibProcessDriverBindingComponentName2 ( > + ImageHandle, > + DriverBinding, > + DriverBindingHandle, > + TRUE, > + ComponentName, > + ComponentName2 > + ); > } >=20 >=20 > @@ -465,50 +551,14 @@ > EfiLibUninstallDriverBindingComponentName2 ( > IN CONST EFI_COMPONENT_NAME2_PROTOCOL > *ComponentName2 OPTIONAL > ) > { > - EFI_STATUS Status; > - > - ASSERT (DriverBinding !=3D NULL); > - > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - &gEfiDriverBindingProtocolGuid, > DriverBinding, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - &gEfiDriverBindingProtocolGuid, > DriverBinding, > - &gEfiComponentName2ProtocolGuid, > ComponentName2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - &gEfiDriverBindingProtocolGuid, > DriverBinding, > - &gEfiComponentNameProtocolGuid, > ComponentName, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - &gEfiDriverBindingProtocolGuid, > DriverBinding, > - &gEfiComponentNameProtocolGuid, > ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - NULL > - ); > - } > - } > - > - // > - // ASSERT if the call to > UninstallMultipleProtocolInterfaces() failed > - // > - ASSERT_EFI_ERROR (Status); > - > - return Status; > + return EfiLibProcessDriverBindingComponentName2 ( > + NULL, > + DriverBinding, > + NULL, > + FALSE, > + ComponentName, > + ComponentName2 > + ); > } >=20 >=20 > @@ -557,724 +607,18 @@ EfiLibInstallAllDriverProtocols2 > ( > IN CONST EFI_DRIVER_DIAGNOSTICS2_PROTOCOL > *DriverDiagnostics2 OPTIONAL > ) > { > - EFI_STATUS Status; > - > - ASSERT (DriverBinding !=3D NULL); > - > - // > - // Update the ImageHandle and DriverBindingHandle > fields of the Driver Binding Protocol > - // > - DriverBinding->ImageHandle =3D ImageHandle; > - DriverBinding->DriverBindingHandle =3D > DriverBindingHandle; > - > - if (DriverConfiguration2 =3D=3D NULL) { > - if (DriverConfiguration =3D=3D NULL) { > - if (DriverDiagnostics =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnosticsDisable)) { > - if (DriverDiagnostics2 =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - NULL > - ); > - } > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } > - } > - } else { > - if (DriverDiagnostics2 =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } > - } > - } > - } else { > - if (DriverDiagnostics =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnosticsDisable)) { > - if (DriverDiagnostics2 =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - NULL > - ); > - } > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } > - } > - } else { > - if (DriverDiagnostics2 =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } > - } > - } > - } > - } else { > - if (DriverConfiguration =3D=3D NULL) { > - if (DriverDiagnostics =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnosticsDisable)) { > - if (DriverDiagnostics2 =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } > - } > - } else { > - if (DriverDiagnostics2 =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } > - } > - } > - } else { > - if (DriverDiagnostics =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnosticsDisable)) { > - if (DriverDiagnostics2 =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } > - } > - } else { > - if (DriverDiagnostics2 =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >InstallMultipleProtocolInterfaces ( > - &DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } > - } > - } > - } > - } > - > - // > - // ASSERT if the call to > InstallMultipleProtocolInterfaces() failed > - // > - ASSERT_EFI_ERROR (Status); > - > - return Status; > + return EfiLibProcessAllDriverProtocols2 ( > + ImageHandle, > + DriverBinding, > + DriverBindingHandle, > + TRUE, > + ComponentName, > + ComponentName2, > + DriverConfiguration, > + DriverConfiguration2, > + DriverDiagnostics, > + DriverDiagnostics2 > + ); > } >=20 >=20 > @@ -1311,716 +655,16 @@ > EfiLibUninstallAllDriverProtocols2 ( > IN CONST EFI_DRIVER_DIAGNOSTICS2_PROTOCOL > *DriverDiagnostics2 OPTIONAL > ) > { > - EFI_STATUS Status; > - > - ASSERT (DriverBinding !=3D NULL); > - > - if (DriverConfiguration2 =3D=3D NULL) { > - if (DriverConfiguration =3D=3D NULL) { > - if (DriverDiagnostics =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnosticsDisable)) { > - if (DriverDiagnostics2 =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - NULL > - ); > - } > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } > - } > - } else { > - if (DriverDiagnostics2 =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } > - } > - } > - } else { > - if (DriverDiagnostics =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnosticsDisable)) { > - if (DriverDiagnostics2 =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - NULL > - ); > - } > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } > - } > - } else { > - if (DriverDiagnostics2 =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } > - } > - } > - } > - } else { > - if (DriverConfiguration =3D=3D NULL) { > - if (DriverDiagnostics =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnosticsDisable)) { > - if (DriverDiagnostics2 =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } > - } > - } else { > - if (DriverDiagnostics2 =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } > - } > - } > - } else { > - if (DriverDiagnostics =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnosticsDisable)) { > - if (DriverDiagnostics2 =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - NULL > - ); > - } > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } > - } > - } else { > - if (DriverDiagnostics2 =3D=3D NULL || > FeaturePcdGet(PcdDriverDiagnostics2Disable)) { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - NULL > - ); > - } > - } > - } else { > - if (ComponentName =3D=3D NULL || > FeaturePcdGet(PcdComponentNameDisable)) { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } else { > - if (ComponentName2 =3D=3D NULL || > FeaturePcdGet(PcdComponentName2Disable)) { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } else { > - Status =3D gBS- > >UninstallMultipleProtocolInterfaces ( > - DriverBinding- > >DriverBindingHandle, > - > &gEfiDriverBindingProtocolGuid, DriverBinding, > - > &gEfiComponentNameProtocolGuid, ComponentName, > - > &gEfiComponentName2ProtocolGuid, ComponentName2, > - > &gEfiDriverConfigurationProtocolGuid, > DriverConfiguration, > - > &gEfiDriverConfiguration2ProtocolGuid, > DriverConfiguration2, > - > &gEfiDriverDiagnosticsProtocolGuid, DriverDiagnostics, > - > &gEfiDriverDiagnostics2ProtocolGuid, > DriverDiagnostics2, > - NULL > - ); > - } > - } > - } > - } > - } > - } > - > - // > - // ASSERT if the call to > UninstallMultipleProtocolInterfaces() failed > - // > - ASSERT_EFI_ERROR (Status); > - > - return Status; > + return EfiLibProcessAllDriverProtocols2 ( > + NULL, > + DriverBinding, > + NULL, > + FALSE, > + ComponentName, > + ComponentName2, > + DriverConfiguration, > + DriverConfiguration2, > + DriverDiagnostics, > + DriverDiagnostics2 > + ); > } > -- > 2.7.4 >=20 > ------------------------------------------------------- > ---------------------------- > This email message is for the sole use of the intended > recipient(s) and may contain > confidential information. Any unauthorized review, > use, disclosure or distribution > is prohibited. If you are not the intended recipient, > please contact the sender by > reply email and destroy all copies of the original > message. > ------------------------------------------------------- > ----------------------------