MdeMoudlePkg/CapsulePei: Optimize AreCapsulesStaged

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1853

AreCapsulesStaged do not need to return the status, only boolean
result is useful. So directly return a boolean value.
Cannot initialize the variable at its definition.

Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Michael Turner <Michael.Turner@microsoft.com>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Signed-off-by: Zhichao gao <zhichao.gao@intel.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
This commit is contained in:
Zhichao Gao 2019-06-10 09:43:59 +08:00 committed by Hao A Wu
parent 0c52961538
commit f654a18b66
1 changed files with 13 additions and 29 deletions

View File

@ -793,29 +793,21 @@ BuildMemoryResourceDescriptor (
/** /**
Check if the capsules are staged. Check if the capsules are staged.
@param UpdateCapsules A pointer to return the check result. @retval TRUE The capsules are staged.
@retval FALSE The capsules are not staged.
@retval EFI_INVALID_PARAMETER The parameter is null.
@retval EFI_SUCCESS The Capsules are staged.
**/ **/
EFI_STATUS BOOLEAN
AreCapsulesStaged ( AreCapsulesStaged (
OUT BOOLEAN *UpdateCapsules VOID
) )
{ {
EFI_STATUS Status; EFI_STATUS Status;
UINTN Size; UINTN Size;
EFI_PEI_READ_ONLY_VARIABLE2_PPI *PPIVariableServices; EFI_PEI_READ_ONLY_VARIABLE2_PPI *PPIVariableServices;
EFI_PHYSICAL_ADDRESS CapsuleDataPtr64 = 0; EFI_PHYSICAL_ADDRESS CapsuleDataPtr64;
if (UpdateCapsules == NULL) { CapsuleDataPtr64 = 0;
DEBUG ((DEBUG_ERROR, "%a Invalid parameters. Inputs can't be NULL\n", __FUNCTION__));
ASSERT (UpdateCapsules != NULL);
return EFI_INVALID_PARAMETER;
}
*UpdateCapsules = FALSE;
Status = PeiServicesLocatePpi( Status = PeiServicesLocatePpi(
&gEfiPeiReadOnlyVariable2PpiGuid, &gEfiPeiReadOnlyVariable2PpiGuid,
@ -826,7 +818,7 @@ AreCapsulesStaged (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
DEBUG ((DEBUG_ERROR, "Failed to find ReadOnlyVariable2PPI\n")); DEBUG ((DEBUG_ERROR, "Failed to find ReadOnlyVariable2PPI\n"));
return Status; return FALSE;
} }
// //
@ -843,10 +835,10 @@ AreCapsulesStaged (
); );
if (!EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
*UpdateCapsules = TRUE; return TRUE;
} }
return EFI_SUCCESS; return FALSE;
} }
#define MAX_SG_LIST_HEADS (20) #define MAX_SG_LIST_HEADS (20)
@ -1120,19 +1112,11 @@ CheckCapsuleUpdate (
IN EFI_PEI_SERVICES **PeiServices IN EFI_PEI_SERVICES **PeiServices
) )
{ {
EFI_STATUS Status; if (AreCapsulesStaged ()) {
BOOLEAN Update; return EFI_SUCCESS;
Status = AreCapsulesStaged (&Update);
if (!EFI_ERROR (Status)) {
if (Update) {
Status = EFI_SUCCESS;
} else { } else {
Status = EFI_NOT_FOUND; return EFI_NOT_FOUND;
} }
}
return Status;
} }
/** /**
This function will look at a capsule and determine if it's a test pattern. This function will look at a capsule and determine if it's a test pattern.