ArmVirtPkg/ArmVirtPL031FdtClientLib: unconditionally disable DT node

Disable the PL031 RTC DT node unconditionally rather than only when
the DT will be exposed to the OS. This allows us to defer the decision
whether to expose it to the OS to a later time without creating an
additional dependency on the FDT client code by the RTC driver.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
Ard Biesheuvel 2017-03-09 16:38:53 +01:00
parent eec1ba7dab
commit d5256ba932
2 changed files with 10 additions and 15 deletions

View File

@ -66,18 +66,16 @@ ArmVirtPL031FdtClientLibConstructor (
DEBUG ((EFI_D_INFO, "Found PL031 RTC @ 0x%Lx\n", RegBase)); DEBUG ((EFI_D_INFO, "Found PL031 RTC @ 0x%Lx\n", RegBase));
if (!FeaturePcdGet (PcdPureAcpiBoot)) { //
// // UEFI takes ownership of the RTC hardware, and exposes its functionality
// UEFI takes ownership of the RTC hardware, and exposes its functionality // through the UEFI Runtime Services GetTime, SetTime, etc. This means we
// through the UEFI Runtime Services GetTime, SetTime, etc. This means we // need to disable it in the device tree to prevent the OS from attaching
// need to disable it in the device tree to prevent the OS from attaching // its device driver as well.
// its device driver as well. //
// Status = FdtClient->SetNodeProperty (FdtClient, Node, "status",
Status = FdtClient->SetNodeProperty (FdtClient, Node, "status", "disabled", sizeof ("disabled"));
"disabled", sizeof ("disabled")); if (EFI_ERROR (Status)) {
if (EFI_ERROR (Status)) { DEBUG ((EFI_D_WARN, "Failed to set PL031 status to 'disabled'\n"));
DEBUG ((EFI_D_WARN, "Failed to set PL031 status to 'disabled'\n"));
}
} }
return EFI_SUCCESS; return EFI_SUCCESS;

View File

@ -42,8 +42,5 @@
[Pcd] [Pcd]
gArmPlatformTokenSpaceGuid.PcdPL031RtcBase gArmPlatformTokenSpaceGuid.PcdPL031RtcBase
[FeaturePcd]
gArmVirtTokenSpaceGuid.PcdPureAcpiBoot
[Depex] [Depex]
gFdtClientProtocolGuid gFdtClientProtocolGuid