[edk2-devel] [PATCH] EmbeddedPkg/RealTimeClockRuntimeDxe: Improve GetWakeupTime

Marcin Wojtas posted 1 patch 2 years, 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/edk2 tags/patchew/20210524035441.2489465-1-mw@semihalf.com
EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClock.c | 11 +++++++++++
1 file changed, 11 insertions(+)
[edk2-devel] [PATCH] EmbeddedPkg/RealTimeClockRuntimeDxe: Improve GetWakeupTime
Posted by Marcin Wojtas 2 years, 11 months ago
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



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75475): https://edk2.groups.io/g/devel/message/75475
Mute This Topic: https://groups.io/mt/83043513/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] EmbeddedPkg/RealTimeClockRuntimeDxe: Improve GetWakeupTime
Posted by Sunny Wang 2 years, 11 months ago
Looks good to me. Good catch!
Reviewed-by: Sunny Wang <sunny.wang@arm.com>

By the way, just FYI, I still run into the same problem (line-ending problem) with Windows Outlook and EDK2 email archive https://edk2.groups.io/g/devel/topic/patch/83043513?p=,,,20,0,0,0::recentpostdate%2Fsticky,,,20,2,0,83043513. Moreover, Gmail works well, so I used it to review this patch.

Best Regards,
Sunny Wang

-----Original Message-----
From: Marcin Wojtas <mw@semihalf.com>
Sent: Monday, May 24, 2021 11:55 AM
To: devel@edk2.groups.io
Cc: michael.d.kinney@intel.com; leif@nuviainc.com; ardb+tianocore@kernel.org; Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>; Sunny Wang <Sunny.Wang@arm.com>; gjb@semihalf.com; upstream@semihalf.com; Marcin Wojtas <mw@semihalf.com>
Subject: [PATCH] EmbeddedPkg/RealTimeClockRuntimeDxe: Improve GetWakeupTime

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

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75483): https://edk2.groups.io/g/devel/message/75483
Mute This Topic: https://groups.io/mt/83043513/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] EmbeddedPkg/RealTimeClockRuntimeDxe: Improve GetWakeupTime
Posted by Ard Biesheuvel 2 years, 11 months ago
On Mon, 24 May 2021 at 05:55, Marcin Wojtas <mw@semihalf.com> wrote:
>
> 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>

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>

Merged as #1682

Thanks,

> ---
>  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
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75945): https://edk2.groups.io/g/devel/message/75945
Mute This Topic: https://groups.io/mt/83043513/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-