public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH] EmbeddedPkg/RealTimeClockRuntimeDxe: Improve GetWakeupTime
@ 2021-05-24  3:54 Marcin Wojtas
  2021-05-24  6:25 ` Sunny Wang
  2021-06-02  7:41 ` Ard Biesheuvel
  0 siblings, 2 replies; 3+ messages in thread
From: Marcin Wojtas @ 2021-05-24  3:54 UTC (permalink / raw)
  To: devel
  Cc: michael.d.kinney, leif, ardb+tianocore, Samer.El-Haj-Mahmoud,
	sunny.Wang, gjb, upstream, Marcin Wojtas

GetWakeupTime should return full time information, including
the daylight/timezone. Make use of the existing non-volatile
variables for that purpose. Moreover add an error checking
of possibly invalid parameters.
This partially fixes FWTS and SCT Set/GetWakeupTime tests on
Marvell platforms.

Signed-off-by: Marcin Wojtas <mw@semihalf.com>
---
 EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClock.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClock.c b/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClock.c
index e59036badc..85650a6ede 100644
--- a/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClock.c
+++ b/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClock.c
@@ -143,6 +143,17 @@ GetWakeupTime (
   OUT EFI_TIME    *Time
   )
 {
+  if (Time == NULL || Enabled == NULL || Pending == NULL) {
+    return EFI_INVALID_PARAMETER;
+  }
+
+  //
+  // Set these first so the RealTimeClockLib implementation
+  // can override them based on its own settings.
+  //
+  Time->TimeZone = mTimeSettings.TimeZone;
+  Time->Daylight = mTimeSettings.Daylight;
+
   return LibGetWakeupTime (Enabled, Pending, Time);
 }
 
-- 
2.29.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-06-02  7:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-05-24  3:54 [PATCH] EmbeddedPkg/RealTimeClockRuntimeDxe: Improve GetWakeupTime Marcin Wojtas
2021-05-24  6:25 ` Sunny Wang
2021-06-02  7:41 ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox