Reviewed-by: Guomin Jiang <guomin.ji...@intel.com> > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Michael > Kubacki > Sent: Friday, April 10, 2020 4:05 AM > To: devel@edk2.groups.io > Cc: Bi, Dandan <dandan...@intel.com>; Wu, Hao A <hao.a...@intel.com>; > Wang, Jian J <jian.j.w...@intel.com>; Gao, Liming <liming....@intel.com>; > Ni, Ray <ray...@intel.com>; Sean Brogan <sean.bro...@microsoft.com> > Subject: [edk2-devel] [PATCH v1 2/7] MdeModulePkg/EhciDxe: Use BaseLib > linked list iteration macros > > From: Michael Kubacki <michael.kuba...@microsoft.com> > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1959 > > Replaces usage of the linked list iteration macros defined in Ehci.h with the > common definition in BaseLib.h. > > Cc: Dandan Bi <dandan...@intel.com> > Cc: Hao A Wu <hao.a...@intel.com> > Cc: Jian J Wang <jian.j.w...@intel.com> > Cc: Liming Gao <liming....@intel.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Sean Brogan <sean.bro...@microsoft.com> > Signed-off-by: Michael Kubacki <michael.kuba...@microsoft.com> > --- > MdeModulePkg/Bus/Pci/EhciDxe/EhciDebug.c | 3 ++- > MdeModulePkg/Bus/Pci/EhciDxe/EhciSched.c | 11 ++++++----- > MdeModulePkg/Bus/Pci/EhciDxe/EhciUrb.c | 5 +++-- > MdeModulePkg/Bus/Pci/EhciDxe/Ehci.h | 15 +-------------- > 4 files changed, 12 insertions(+), 22 deletions(-) > > diff --git a/MdeModulePkg/Bus/Pci/EhciDxe/EhciDebug.c > b/MdeModulePkg/Bus/Pci/EhciDxe/EhciDebug.c > index e10f6bb357ab..db0e2c6d39c6 100644 > --- a/MdeModulePkg/Bus/Pci/EhciDxe/EhciDebug.c > +++ b/MdeModulePkg/Bus/Pci/EhciDxe/EhciDebug.c > @@ -3,6 +3,7 @@ > This file provides the information dump support for EHCI when in debug > mode. > > Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR> > +Copyright (c) Microsoft Corporation.<BR> > SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > @@ -185,7 +186,7 @@ EhcDumpQh ( > > DEBUG ((EFI_D_VERBOSE, "\n")); > > - EFI_LIST_FOR_EACH (Entry, &Qh->Qtds) { > + BASE_LIST_FOR_EACH (Entry, &Qh->Qtds) { > Qtd = EFI_LIST_CONTAINER (Entry, EHC_QTD, QtdList); > EhcDumpQtd (Qtd, NULL); > > diff --git a/MdeModulePkg/Bus/Pci/EhciDxe/EhciSched.c > b/MdeModulePkg/Bus/Pci/EhciDxe/EhciSched.c > index 7db637aa2cb9..5fe7cf466939 100644 > --- a/MdeModulePkg/Bus/Pci/EhciDxe/EhciSched.c > +++ b/MdeModulePkg/Bus/Pci/EhciDxe/EhciSched.c > @@ -3,6 +3,7 @@ > EHCI transfer scheduling routines. > > Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> > +Copyright (c) Microsoft Corporation.<BR> > SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > @@ -577,7 +578,7 @@ EhcCheckUrbResult ( > goto ON_EXIT; > } > > - EFI_LIST_FOR_EACH (Entry, &Urb->Qh->Qtds) { > + BASE_LIST_FOR_EACH (Entry, &Urb->Qh->Qtds) { > Qtd = EFI_LIST_CONTAINER (Entry, EHC_QTD, QtdList); > QtdHw = &Qtd->QtdHw; > State = (UINT8) QtdHw->Status; > @@ -757,7 +758,7 @@ EhciDelAsyncIntTransfer ( > Direction = (((EpNum & 0x80) != 0) ? EfiUsbDataIn : EfiUsbDataOut); > EpNum &= 0x0F; > > - EFI_LIST_FOR_EACH_SAFE (Entry, Next, &Ehc->AsyncIntTransfers) { > + BASE_LIST_FOR_EACH_SAFE (Entry, Next, &Ehc->AsyncIntTransfers) { > Urb = EFI_LIST_CONTAINER (Entry, URB, UrbList); > > if ((Urb->Ep.DevAddr == DevAddr) && (Urb->Ep.EpAddr == EpNum) && > @@ -797,7 +798,7 @@ EhciDelAllAsyncIntTransfers ( > LIST_ENTRY *Next; > URB *Urb; > > - EFI_LIST_FOR_EACH_SAFE (Entry, Next, &Ehc->AsyncIntTransfers) { > + BASE_LIST_FOR_EACH_SAFE (Entry, Next, &Ehc->AsyncIntTransfers) { > Urb = EFI_LIST_CONTAINER (Entry, URB, UrbList); > > EhcUnlinkQhFromPeriod (Ehc, Urb->Qh); @@ -965,7 +966,7 @@ > EhcUpdateAsyncRequest ( > if (Urb->Result == EFI_USB_NOERROR) { > FirstQtd = NULL; > > - EFI_LIST_FOR_EACH (Entry, &Urb->Qh->Qtds) { > + BASE_LIST_FOR_EACH (Entry, &Urb->Qh->Qtds) { > Qtd = EFI_LIST_CONTAINER (Entry, EHC_QTD, QtdList); > > if (FirstQtd == NULL) { > @@ -1049,7 +1050,7 @@ EhcMonitorAsyncRequests ( > OldTpl = gBS->RaiseTPL (EHC_TPL); > Ehc = (USB2_HC_DEV *) Context; > > - EFI_LIST_FOR_EACH_SAFE (Entry, Next, &Ehc->AsyncIntTransfers) { > + BASE_LIST_FOR_EACH_SAFE (Entry, Next, &Ehc->AsyncIntTransfers) { > Urb = EFI_LIST_CONTAINER (Entry, URB, UrbList); > > // > diff --git a/MdeModulePkg/Bus/Pci/EhciDxe/EhciUrb.c > b/MdeModulePkg/Bus/Pci/EhciDxe/EhciUrb.c > index ac5ddd259a83..37cef6d130f7 100644 > --- a/MdeModulePkg/Bus/Pci/EhciDxe/EhciUrb.c > +++ b/MdeModulePkg/Bus/Pci/EhciDxe/EhciUrb.c > @@ -4,6 +4,7 @@ > URB (Usb Request Block). > > Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR> > +Copyright (c) Microsoft Corporation.<BR> > SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > @@ -299,7 +300,7 @@ EhcFreeQtds ( > LIST_ENTRY *Next; > EHC_QTD *Qtd; > > - EFI_LIST_FOR_EACH_SAFE (Entry, Next, Qtds) { > + BASE_LIST_FOR_EACH_SAFE (Entry, Next, Qtds) { > Qtd = EFI_LIST_CONTAINER (Entry, EHC_QTD, QtdList); > > RemoveEntryList (&Qtd->QtdList); > @@ -482,7 +483,7 @@ EhcCreateQtds ( > // > // OK, all the QTDs needed are created. Now, fix the NextQtd point > // > - EFI_LIST_FOR_EACH (Entry, &Qh->Qtds) { > + BASE_LIST_FOR_EACH (Entry, &Qh->Qtds) { > Qtd = EFI_LIST_CONTAINER (Entry, EHC_QTD, QtdList); > > // > diff --git a/MdeModulePkg/Bus/Pci/EhciDxe/Ehci.h > b/MdeModulePkg/Bus/Pci/EhciDxe/Ehci.h > index 31fb171497a8..65933d94396e 100644 > --- a/MdeModulePkg/Bus/Pci/EhciDxe/Ehci.h > +++ b/MdeModulePkg/Bus/Pci/EhciDxe/Ehci.h > @@ -3,6 +3,7 @@ > Provides some data struct used by EHCI controller driver. > > Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> > +Copyright (c) Microsoft Corporation.<BR> > SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > @@ -80,20 +81,6 @@ typedef struct _USB2_HC_DEV USB2_HC_DEV; // > #define EHC_TPL TPL_NOTIFY > > -// > -//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. > -//Don't 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) > - > #define EFI_LIST_CONTAINER(Entry, Type, Field) BASE_CR(Entry, Type, Field) > > > -- > 2.16.3.windows.1 > > >
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#57168): https://edk2.groups.io/g/devel/message/57168 Mute This Topic: https://groups.io/mt/72905934/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-