ArmVirtPkg/FdtPciPcdProducerLib: eliminate unchecked PcdSetXX() calls

These are deprecated / disabled under the
DISABLE_NEW_DEPRECATED_INTERFACES feature test macro.

Introduce a variable called PcdStatus, and use it to assert the success of
these operations (there is no reason for them to fail here).

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=165
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> # RVCT
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
Laszlo Ersek 2016-10-21 11:59:36 +02:00
parent 537eb0722b
commit 5d1546b439
1 changed files with 7 additions and 3 deletions

View File

@ -98,6 +98,7 @@ FdtPciPcdProducerLibConstructor (
INT32 Node; INT32 Node;
RETURN_STATUS RetStatus; RETURN_STATUS RetStatus;
UINT64 IoTranslation; UINT64 IoTranslation;
RETURN_STATUS PcdStatus;
PciExpressBaseAddress = PcdGet64 (PcdPciExpressBaseAddress); PciExpressBaseAddress = PcdGet64 (PcdPciExpressBaseAddress);
if (PciExpressBaseAddress != MAX_UINT64) { if (PciExpressBaseAddress != MAX_UINT64) {
@ -126,12 +127,14 @@ FdtPciPcdProducerLibConstructor (
if (!EFI_ERROR (Status) && RegSize == 2 * sizeof (UINT64)) { if (!EFI_ERROR (Status) && RegSize == 2 * sizeof (UINT64)) {
PciExpressBaseAddress = SwapBytes64 (*Reg); PciExpressBaseAddress = SwapBytes64 (*Reg);
PcdSetBool (PcdPciDisableBusEnumeration, FALSE); PcdStatus = PcdSetBoolS (PcdPciDisableBusEnumeration, FALSE);
ASSERT_RETURN_ERROR (PcdStatus);
IoTranslation = 0; IoTranslation = 0;
RetStatus = GetPciIoTranslation (FdtClient, Node, &IoTranslation); RetStatus = GetPciIoTranslation (FdtClient, Node, &IoTranslation);
if (!RETURN_ERROR (RetStatus)) { if (!RETURN_ERROR (RetStatus)) {
PcdSet64 (PcdPciIoTranslation, IoTranslation); PcdStatus = PcdSet64S (PcdPciIoTranslation, IoTranslation);
ASSERT_RETURN_ERROR (PcdStatus);
} else { } else {
// //
// Support for I/O BARs is not mandatory, and so it does not make sense // Support for I/O BARs is not mandatory, and so it does not make sense
@ -145,7 +148,8 @@ FdtPciPcdProducerLibConstructor (
} }
} }
PcdSet64 (PcdPciExpressBaseAddress, PciExpressBaseAddress); PcdStatus = PcdSet64S (PcdPciExpressBaseAddress, PciExpressBaseAddress);
ASSERT_RETURN_ERROR (PcdStatus);
return RETURN_SUCCESS; return RETURN_SUCCESS;
} }