Reviewed-by: Bret Barkelew <bret.barkelew@microsoft.com>

 

- Bret

 


From: devel@edk2.groups.io <devel@edk2.groups.io> on behalf of Michael Kubacki via groups.io <michael.kubacki=outlook.com@groups.io>
Sent: Friday, April 10, 2020 1:02:17 PM
To: devel@edk2.groups.io <devel@edk2.groups.io>
Cc: Dandan Bi <dandan.bi@intel.com>; Hao A Wu <hao.a.wu@intel.com>; Jian J Wang <jian.j.wang@intel.com>; Liming Gao <liming.gao@intel.com>; Ray Ni <ray.ni@intel.com>; Sean Brogan <sean.brogan@microsoft.com>
Subject: [EXTERNAL] [edk2-devel] [PATCH v2 6/7] MdeModulePkg/RamDiskDxe: Use BaseLib linked list iteration macros
 
From: Michael Kubacki <michael.kubacki@microsoft.com>

REF:https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugzilla.tianocore.org%2Fshow_bug.cgi%3Fid%3D1959&amp;data=02%7C01%7Cbret.barkelew%40microsoft.com%7C12b6ab8be60a43c8326808d7dd8a2a52%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637221457789115342&amp;sdata=SoQ2JMwtD84nofSN%2B0Ge71u1hTL%2BFds8FcmWYcPd39o%3D&amp;reserved=0

Replaces usage of the linked list iteration macros defined in RamDiskImpl.h
with the common definition in BaseLib.h.

Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
---
 MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDriver.c   |  3 ++-
 MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.c     |  9 +++++----
 MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskProtocol.c |  5 +++--
 MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.h     | 15 +--------------
 4 files changed, 11 insertions(+), 21 deletions(-)

diff --git a/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDriver.c b/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDriver.c
index a80ef271df9c..fcbf4f117dc6 100644
--- a/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDriver.c
+++ b/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDriver.c
@@ -2,6 +2,7 @@
   The driver entry point for RamDiskDxe driver.
 
   Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) Microsoft Corporation.<BR>
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -92,7 +93,7 @@ RamDiskAcpiCheck (
     return;
   }
 
-  EFI_LIST_FOR_EACH (Entry, &RegisteredRamDisks) {
+  BASE_LIST_FOR_EACH (Entry, &RegisteredRamDisks) {
     PrivateData = RAM_DISK_PRIVATE_FROM_THIS (Entry);
     RamDiskPublishNfit (PrivateData);
   }
diff --git a/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.c b/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.c
index 96ea74a9a536..e35b8fa2296c 100644
--- a/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.c
+++ b/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.c
@@ -3,6 +3,7 @@
 
   Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
   (C) Copyright 2016-2018 Hewlett Packard Enterprise Development LP<BR>
+  Copyright (c) Microsoft Corporation.<BR>
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -165,7 +166,7 @@ UnregisterAllRamDisks (
   RAM_DISK_PRIVATE_DATA           *PrivateData;
 
   if (!IsListEmpty(&RegisteredRamDisks)) {
-    EFI_LIST_FOR_EACH_SAFE (Entry, NextEntry, &RegisteredRamDisks) {
+    BASE_LIST_FOR_EACH_SAFE (Entry, NextEntry, &RegisteredRamDisks) {
       PrivateData = RAM_DISK_PRIVATE_FROM_THIS (Entry);
 
       gBS->UninstallMultipleProtocolInterfaces (
@@ -507,7 +508,7 @@ UpdateMainForm (
   EndLabel->Number       = MAIN_LABEL_LIST_END;
 
   Index = 0;
-  EFI_LIST_FOR_EACH (Entry, &RegisteredRamDisks) {
+  BASE_LIST_FOR_EACH (Entry, &RegisteredRamDisks) {
     PrivateData                  = RAM_DISK_PRIVATE_FROM_THIS (Entry);
     PrivateData->CheckBoxId      = (EFI_QUESTION_ID)
                                    (MAIN_CHECKBOX_QUESTION_ID_START + Index);
@@ -689,7 +690,7 @@ RamDiskCallback (
       //
       // Remove the selected RAM disks
       //
-      EFI_LIST_FOR_EACH_SAFE (Entry, NextEntry, &RegisteredRamDisks) {
+      BASE_LIST_FOR_EACH_SAFE (Entry, NextEntry, &RegisteredRamDisks) {
         PrivateData = RAM_DISK_PRIVATE_FROM_THIS (Entry);
         if (PrivateData->CheckBoxChecked) {
           RamDiskUnregister (
@@ -742,7 +743,7 @@ RamDiskCallback (
       //
       if ((QuestionId >= MAIN_CHECKBOX_QUESTION_ID_START) &&
           (QuestionId < CREATE_RAW_RAM_DISK_FORM_ID)) {
-        EFI_LIST_FOR_EACH (Entry, &RegisteredRamDisks) {
+        BASE_LIST_FOR_EACH (Entry, &RegisteredRamDisks) {
           PrivateData = RAM_DISK_PRIVATE_FROM_THIS (Entry);
           if (PrivateData->CheckBoxId == QuestionId) {
             PrivateData->CheckBoxChecked = (BOOLEAN) (Value->u8 != 0);
diff --git a/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskProtocol.c b/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskProtocol.c
index 36d635e4bc31..4333e000539b 100644
--- a/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskProtocol.c
+++ b/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskProtocol.c
@@ -3,6 +3,7 @@
 
   Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.<BR>
   (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
+  Copyright (c) Microsoft Corporation.<BR>
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -662,7 +663,7 @@ RamDiskRegister (
   if (!IsListEmpty(&RegisteredRamDisks)) {
     DevicePathSize = GetDevicePathSize (PrivateData->DevicePath);
 
-    EFI_LIST_FOR_EACH (Entry, &RegisteredRamDisks) {
+    BASE_LIST_FOR_EACH (Entry, &RegisteredRamDisks) {
       RegisteredPrivateData = RAM_DISK_PRIVATE_FROM_THIS (Entry);
       if (DevicePathSize == GetDevicePathSize (RegisteredPrivateData->DevicePath)) {
         //
@@ -797,7 +798,7 @@ RamDiskUnregister (
   EndingAddr     = ReadUnaligned64 ((UINT64 *) &(RamDiskDevNode->EndingAddr[0]));
 
   if (!IsListEmpty(&RegisteredRamDisks)) {
-    EFI_LIST_FOR_EACH_SAFE (Entry, NextEntry, &RegisteredRamDisks) {
+    BASE_LIST_FOR_EACH_SAFE (Entry, NextEntry, &RegisteredRamDisks) {
       PrivateData = RAM_DISK_PRIVATE_FROM_THIS (Entry);
 
       //
diff --git a/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.h b/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.h
index 25fec15c1882..ed80b47ccc33 100644
--- a/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.h
+++ b/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.h
@@ -2,6 +2,7 @@
   The header file of RamDiskDxe driver.
 
   Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) Microsoft Corporation.<BR>
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -47,20 +48,6 @@
 //
 #define RAM_DISK_DEFAULT_BLOCK_SIZE 512
 
-//
-// Iterate through the double linked list. NOT delete safe
-//
-#define EFI_LIST_FOR_EACH(Entry, ListHead)    \
-  for(Entry = (ListHead)->ForwardLink; Entry != (ListHead); Entry = Entry->ForwardLink)
-
-//
-// Iterate through the double linked list. This is delete-safe.
-// Do not touch NextEntry
-//
-#define EFI_LIST_FOR_EACH_SAFE(Entry, NextEntry, ListHead)            \
-  for(Entry = (ListHead)->ForwardLink, NextEntry = Entry->ForwardLink;\
-      Entry != (ListHead); Entry = NextEntry, NextEntry = Entry->ForwardLink)
-
 //
 // RamDiskDxe driver maintains a list of registered RAM disks.
 //
--
2.16.3.windows.1