public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Wu, Hao A" <hao.a.wu@intel.com>
To: "Zhang, Shenglei" <shenglei.zhang@intel.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Cc: "Dong, Eric" <eric.dong@intel.com>, "Zeng, Star" <star.zeng@intel.com>
Subject: Re: [PATCH 11/26] MdeModulePkg UfsBlockIoPei: Remove redundant functions
Date: Fri, 10 Aug 2018 02:57:47 +0000	[thread overview]
Message-ID: <B80AF82E9BFB8E4FBD8C89DA810C6A0931E36504@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <20180808084712.34696-12-shenglei.zhang@intel.com>

One minor comment:

Please help to remove the comment that mentioned 'UfsPeimUnlinkMemBlock'
within function UfsPeimFreeMemPool().

For me,
  //
  // Unlink all the memory blocks from the pool, then free them.
  //
will be fine.

With that change,
Reviewed-by: Hao Wu <hao.a.wu@intel.com>

Best Regards,
Hao Wu


> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> shenglei
> Sent: Wednesday, August 08, 2018 4:47 PM
> To: edk2-devel@lists.01.org
> Cc: Dong, Eric; Zeng, Star
> Subject: [edk2] [PATCH 11/26] MdeModulePkg UfsBlockIoPei: Remove
> redundant functions
> 
> The functions that are never called have been removed.
> They are UfsPeimUnlinkMemBlock,UfsPeimRequestSense,
> UfsPeimInquiry,UfsRwAttributes,UfsClearFlag,UfsReadFlag
> and UfsFindAvailableSlotInTmrl
> 
> https://bugzilla.tianocore.org/show_bug.cgi?id=1062
> 
> Cc: Star Zeng <star.zeng@intel.com>
> Cc: Eric Dong <eric.dong@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: shenglei <shenglei.zhang@intel.com>
> ---
>  .../Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.c     | 101 ----------
>  MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHcMem.c |  24 ---
>  MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHci.c   | 180 ------------------
>  3 files changed, 305 deletions(-)
> 
> diff --git a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.c
> b/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.c
> index 505b92cfc1..204e456413 100644
> --- a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.c
> +++ b/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsBlockIoPei.c
> @@ -137,53 +137,7 @@ UFS_PEIM_HC_PRIVATE_DATA   gUfsHcPeimTemplate
> = {
>    }
>  };
> 
> -/**
> -  Execute Request Sense SCSI command on a specific UFS device.
> -
> -  @param[in]  Private              A pointer to UFS_PEIM_HC_PRIVATE_DATA data
> structure.
> -  @param[in]  Lun                  The lun on which the SCSI cmd executed.
> -  @param[out] DataBuffer           A pointer to output sense data.
> -  @param[out] DataBufferLength     The length of output sense data.
> -
> -  @retval EFI_SUCCESS              The command executed successfully.
> -  @retval EFI_DEVICE_ERROR         A device error occurred while attempting
> to send SCSI Request Packet.
> -  @retval EFI_TIMEOUT              A timeout occurred while waiting for the SCSI
> Request Packet to execute.
> -
> -**/
> -EFI_STATUS
> -UfsPeimRequestSense (
> -  IN     UFS_PEIM_HC_PRIVATE_DATA        *Private,
> -  IN     UINTN                           Lun,
> -     OUT VOID                            *DataBuffer,
> -     OUT UINT32                          *DataBufferLength
> -  )
> -{
> -  UFS_SCSI_REQUEST_PACKET                Packet;
> -  UINT8                                  Cdb[UFS_SCSI_OP_LENGTH_SIX];
> -  EFI_STATUS                             Status;
> 
> -  ZeroMem (&Packet, sizeof (UFS_SCSI_REQUEST_PACKET));
> -  ZeroMem (Cdb, sizeof (Cdb));
> -
> -  Cdb[0]  = EFI_SCSI_OP_REQUEST_SENSE;
> -
> -  Packet.Timeout          = UFS_TIMEOUT;
> -  Packet.Cdb              = Cdb;
> -  Packet.CdbLength        = sizeof (Cdb);
> -  Packet.DataDirection    = UfsDataIn;
> -  Packet.InDataBuffer     = DataBuffer;
> -  Packet.InTransferLength = *DataBufferLength;
> -  Packet.SenseData        = NULL;
> -  Packet.SenseDataLength  = 0;
> -
> -  Status = UfsExecScsiCmds (Private,(UINT8)Lun, &Packet);
> -
> -  if (!EFI_ERROR (Status)) {
> -    *DataBufferLength = Packet.InTransferLength;
> -  }
> -
> -  return Status;
> -}
> 
>  /**
>    Execute TEST UNITY READY SCSI command on a specific UFS device.
> @@ -231,62 +185,7 @@ UfsPeimTestUnitReady (
>    return Status;
>  }
> 
> -/**
> -  Execute INQUIRY SCSI command on a specific UFS device.
> -
> -  @param[in]  Private              A pointer to UFS_PEIM_HC_PRIVATE_DATA data
> structure.
> -  @param[in]  Lun                  The lun on which the SCSI cmd executed.
> -  @param[out] Inquiry              A pointer to Inquiry data buffer.
> -  @param[out] InquiryLengths       The length of output Inquiry data.
> -  @param[out] SenseData            A pointer to output sense data.
> -  @param[out] SenseDataLength      The length of output sense data.
> -
> -  @retval EFI_SUCCESS              The command executed successfully.
> -  @retval EFI_DEVICE_ERROR         A device error occurred while attempting
> to send SCSI Request Packet.
> -  @retval EFI_TIMEOUT              A timeout occurred while waiting for the SCSI
> Request Packet to execute.
> -
> -**/
> -EFI_STATUS
> -UfsPeimInquiry (
> -  IN     UFS_PEIM_HC_PRIVATE_DATA     *Private,
> -  IN     UINTN                        Lun,
> -     OUT VOID                         *Inquiry,
> -     OUT UINT32                       *InquiryLength,
> -     OUT VOID                         *SenseData,  OPTIONAL
> -     OUT UINT8                        *SenseDataLength
> -  )
> -{
> -  UFS_SCSI_REQUEST_PACKET             Packet;
> -  UINT8                               Cdb[UFS_SCSI_OP_LENGTH_SIX];
> -  EFI_STATUS                          Status;
> -
> -  ZeroMem (&Packet, sizeof (UFS_SCSI_REQUEST_PACKET));
> -  ZeroMem (Cdb, sizeof (Cdb));
> 
> -  Cdb[0]  = EFI_SCSI_OP_INQUIRY;
> -  Cdb[4]  = sizeof (EFI_SCSI_INQUIRY_DATA);
> -
> -  Packet.Timeout          = UFS_TIMEOUT;
> -  Packet.Cdb              = Cdb;
> -  Packet.CdbLength        = sizeof (Cdb);
> -  Packet.InDataBuffer     = Inquiry;
> -  Packet.InTransferLength = *InquiryLength;
> -  Packet.DataDirection    = UfsDataIn;
> -  Packet.SenseData        = SenseData;
> -  Packet.SenseDataLength  = *SenseDataLength;
> -
> -  Status = UfsExecScsiCmds (Private, (UINT8)Lun, &Packet);
> -
> -  if (*SenseDataLength != 0) {
> -    *SenseDataLength = Packet.SenseDataLength;
> -  }
> -
> -  if (!EFI_ERROR (Status)) {
> -    *InquiryLength = Packet.InTransferLength;
> -  }
> -
> -  return Status;
> -}
> 
>  /**
>    Execute READ CAPACITY(10) SCSI command on a specific UFS device.
> diff --git a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHcMem.c
> b/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHcMem.c
> index d69e6e7227..d334faa0bb 100644
> --- a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHcMem.c
> +++ b/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHcMem.c
> @@ -219,31 +219,7 @@ UfsPeimIsMemBlockEmpty (
>    return TRUE;
>  }
> 
> -/**
> -  Unlink the memory block from the pool's list.
> -
> -  @param  Head           The block list head of the memory's pool.
> -  @param  BlockToUnlink  The memory block to unlink.
> 
> -**/
> -VOID
> -UfsPeimUnlinkMemBlock (
> -  IN UFS_PEIM_MEM_BLOCK      *Head,
> -  IN UFS_PEIM_MEM_BLOCK      *BlockToUnlink
> -  )
> -{
> -  UFS_PEIM_MEM_BLOCK         *Block;
> -
> -  ASSERT ((Head != NULL) && (BlockToUnlink != NULL));
> -
> -  for (Block = Head; Block != NULL; Block = Block->Next) {
> -    if (Block->Next == BlockToUnlink) {
> -      Block->Next         = BlockToUnlink->Next;
> -      BlockToUnlink->Next = NULL;
> -      break;
> -    }
> -  }
> -}
> 
>  /**
>    Initialize the memory management pool for the host controller.
> diff --git a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHci.c
> b/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHci.c
> index e36ff8c02a..936f25da5e 100644
> --- a/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHci.c
> +++ b/MdeModulePkg/Bus/Ufs/UfsBlockIoPei/UfsHci.c
> @@ -694,31 +694,7 @@ UfsFindAvailableSlotInTrl (
>    return EFI_SUCCESS;
>  }
> 
> -/**
> -  Find out available slot in task management transfer list of a UFS device.
> -
> -  @param[in]  Private       The pointer to the UFS_PEIM_HC_PRIVATE_DATA
> data structure.
> -  @param[out] Slot          The available slot.
> -
> -  @retval EFI_SUCCESS       The available slot was found successfully.
> -
> -**/
> -EFI_STATUS
> -UfsFindAvailableSlotInTmrl (
> -  IN     UFS_PEIM_HC_PRIVATE_DATA     *Private,
> -     OUT UINT8                        *Slot
> -  )
> -{
> -  ASSERT ((Private != NULL) && (Slot != NULL));
> -
> -  //
> -  // The simplest algo to always use slot 0.
> -  // TODO: enhance it to support async transfer with multiple slot.
> -  //
> -  *Slot = 0;
> 
> -  return EFI_SUCCESS;
> -}
> 
>  /**
>    Start specified slot in transfer list of a UFS device.
> @@ -897,113 +873,7 @@ Exit:
>    return Status;
>  }
> 
> -/**
> -  Read or write specified attribute of a UFS device.
> -
> -  @param[in]      Private       The pointer to the UFS_PEIM_HC_PRIVATE_DATA
> data structure.
> -  @param[in]      Read          The boolean variable to show r/w direction.
> -  @param[in]      AttrId        The ID of Attribute.
> -  @param[in]      Index         The Index of Attribute.
> -  @param[in]      Selector      The Selector of Attribute.
> -  @param[in, out] Attributes    The value of Attribute to be read or written.
> -
> -  @retval EFI_SUCCESS           The Attribute was read/written successfully.
> -  @retval EFI_DEVICE_ERROR      A device error occurred while attempting to
> r/w the Attribute.
> -  @retval EFI_TIMEOUT           A timeout occurred while waiting for the
> completion of r/w the Attribute.
> -
> -**/
> -EFI_STATUS
> -UfsRwAttributes (
> -  IN     UFS_PEIM_HC_PRIVATE_DATA     *Private,
> -  IN     BOOLEAN                      Read,
> -  IN     UINT8                        AttrId,
> -  IN     UINT8                        Index,
> -  IN     UINT8                        Selector,
> -  IN OUT UINT32                       *Attributes
> -  )
> -{
> -  EFI_STATUS                           Status;
> -  UFS_DEVICE_MANAGEMENT_REQUEST_PACKET Packet;
> -  UINT8                                Slot;
> -  UTP_TRD                              *Trd;
> -  UINTN                                Address;
> -  UTP_QUERY_RESP_UPIU                  *QueryResp;
> -  UINT8                                *CmdDescBase;
> -  UINT32                               CmdDescSize;
> -  UINT32                               ReturnData;
> -
> -  ZeroMem (&Packet, sizeof
> (UFS_DEVICE_MANAGEMENT_REQUEST_PACKET));
> -
> -  if (Read) {
> -    Packet.DataDirection     = UfsDataIn;
> -    Packet.Opcode            = UtpQueryFuncOpcodeRdAttr;
> -  } else {
> -    Packet.DataDirection     = UfsDataOut;
> -    Packet.Opcode            = UtpQueryFuncOpcodeWrAttr;
> -  }
> -  Packet.DescId              = AttrId;
> -  Packet.Index               = Index;
> -  Packet.Selector            = Selector;
> -  Packet.Timeout             = UFS_TIMEOUT;
> -
> -  //
> -  // Find out which slot of transfer request list is available.
> -  //
> -  Status = UfsFindAvailableSlotInTrl (Private, &Slot);
> -  if (EFI_ERROR (Status)) {
> -    return Status;
> -  }
> -
> -  Trd = ((UTP_TRD*)Private->UtpTrlBase) + Slot;
> -  //
> -  // Fill transfer request descriptor to this slot.
> -  //
> -  Status = UfsCreateDMCommandDesc (Private, &Packet, Trd);
> -  if (EFI_ERROR (Status)) {
> -    return Status;
> -  }
> -
> -  //
> -  // Check the transfer request result.
> -  //
> -  CmdDescBase = (UINT8 *)(UINTN)(LShiftU64 ((UINT64)Trd->UcdBaU, 32) |
> LShiftU64 ((UINT64)Trd->UcdBa, 7));
> -  QueryResp   = (UTP_QUERY_RESP_UPIU*)(CmdDescBase + Trd->RuO * sizeof
> (UINT32));
> -  CmdDescSize = Trd->RuO * sizeof (UINT32) + Trd->RuL * sizeof (UINT32);
> -
> -  //
> -  // Start to execute the transfer request.
> -  //
> -  UfsStartExecCmd (Private, Slot);
> -
> -  //
> -  // Wait for the completion of the transfer request.
> -  //
> -  Address = Private->UfsHcBase + UFS_HC_UTRLDBR_OFFSET;
> -  Status = UfsWaitMemSet (Address, BIT0 << Slot, 0, Packet.Timeout);
> -  if (EFI_ERROR (Status)) {
> -    goto Exit;
> -  }
> -
> -  if (QueryResp->QueryResp != 0) {
> -    DumpQueryResponseResult (QueryResp->QueryResp);
> -    Status = EFI_DEVICE_ERROR;
> -    goto Exit;
> -  }
> -
> -  if (Trd->Ocs == 0) {
> -    ReturnData = QueryResp->Tsf.Value;
> -    SwapLittleEndianToBigEndian ((UINT8*)&ReturnData, sizeof (UINT32));
> -    *Attributes = ReturnData;
> -  } else {
> -    Status = EFI_DEVICE_ERROR;
> -  }
> -
> -Exit:
> -  UfsStopExecCmd (Private, Slot);
> -  UfsPeimFreeMem (Private->Pool, CmdDescBase, CmdDescSize);
> 
> -  return Status;
> -}
> 
>  /**
>    Read or write specified flag of a UFS device.
> @@ -1143,57 +1013,7 @@ UfsSetFlag (
>    return Status;
>  }
> 
> -/**
> -  Clear specified flag to 0 on a UFS device.
> -
> -  @param[in]  Private           The pointer to the UFS_PEIM_HC_PRIVATE_DATA
> data structure.
> -  @param[in]  FlagId            The ID of flag to be cleared.
> -
> -  @retval EFI_SUCCESS           The flag was cleared successfully.
> -  @retval EFI_DEVICE_ERROR      A device error occurred while attempting to
> clear the flag.
> -  @retval EFI_TIMEOUT           A timeout occurred while waiting for the
> completion of clearing the flag.
> -
> -**/
> -EFI_STATUS
> -UfsClearFlag (
> -  IN  UFS_PEIM_HC_PRIVATE_DATA     *Private,
> -  IN  UINT8                        FlagId
> -  )
> -{
> -  EFI_STATUS             Status;
> -  UINT8                  Value;
> -
> -  Value  = 0;
> -  Status = UfsRwFlags (Private, FALSE, FlagId, &Value);
> -
> -  return Status;
> -}
> -
> -/**
> -  Read specified flag from a UFS device.
> -
> -  @param[in]  Private           The pointer to the UFS_PEIM_HC_PRIVATE_DATA
> data structure.
> -  @param[in]  FlagId            The ID of flag to be read.
> -  @param[out] Value             The flag's value.
> -
> -  @retval EFI_SUCCESS           The flag was read successfully.
> -  @retval EFI_DEVICE_ERROR      A device error occurred while attempting to
> read the flag.
> -  @retval EFI_TIMEOUT           A timeout occurred while waiting for the
> completion of reading the flag.
> -
> -**/
> -EFI_STATUS
> -UfsReadFlag (
> -  IN     UFS_PEIM_HC_PRIVATE_DATA     *Private,
> -  IN     UINT8                        FlagId,
> -     OUT UINT8                        *Value
> -  )
> -{
> -  EFI_STATUS                           Status;
> -
> -  Status = UfsRwFlags (Private, TRUE, FlagId, Value);
> 
> -  return Status;
> -}
> 
>  /**
>    Sends NOP IN cmd to a UFS device for initialization process request.
> --
> 2.18.0.windows.1
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel


  reply	other threads:[~2018-08-10  2:57 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-08  8:46 [PATCH 00/26] MdeModulePkg Remove redundant functions shenglei
2018-08-08  8:46 ` [PATCH 01/26] MdeModulePkg CapsuleApp: Remove a redundant function shenglei
2018-08-09 10:10   ` Zeng, Star
2018-08-10  9:13     ` Zeng, Star
2018-08-08  8:46 ` [PATCH 02/26] MdeModulePkg UiApp: Remove redundant functions shenglei
2018-08-08 18:06   ` Laszlo Ersek
2018-08-09  3:25     ` Zeng, Star
2018-08-08  8:46 ` [PATCH 03/26] MdeModulePkg AtaAtapiPassThru: " shenglei
2018-08-08 18:11   ` Laszlo Ersek
2018-08-09 10:15     ` Zeng, Star
2018-08-08  8:46 ` [PATCH 04/26] MdeModulePkg EhciDxe: " shenglei
2018-08-08 18:08   ` Laszlo Ersek
2018-08-09  3:14   ` Ni, Ruiyu
2018-08-09 10:18   ` Zeng, Star
2018-08-08  8:46 ` [PATCH 05/26] MdeModulePkg NvmExpressDxe: " shenglei
2018-08-09 10:19   ` Zeng, Star
2018-08-09 13:33   ` Laszlo Ersek
2018-08-10  2:45   ` Wu, Hao A
2018-08-08  8:46 ` [PATCH 06/26] MdeModulePkg PciBusDxe: " shenglei
2018-08-09  3:09   ` Ni, Ruiyu
2018-08-09 13:35   ` Laszlo Ersek
2018-08-10  8:54   ` Zeng, Star
2018-08-08  8:46 ` [PATCH 07/26] MdeModulePkg SdMmcPciHcDxe: " shenglei
2018-08-08  8:46 ` [PATCH 08/26] MdeModulePkg UhciPei: " shenglei
2018-08-09  3:10   ` Ni, Ruiyu
2018-08-10  8:57   ` Zeng, Star
2018-08-08  8:46 ` [PATCH 09/26] MdeModulePkg XhciDxe: " shenglei
2018-08-09  3:09   ` Ni, Ruiyu
2018-08-09 13:47   ` Laszlo Ersek
2018-08-10  9:01   ` Zeng, Star
2018-08-08  8:46 ` [PATCH 10/26] MdeModulePkg XhciPei: " shenglei
2018-08-09  3:12   ` Ni, Ruiyu
2018-08-10  9:01   ` Zeng, Star
2018-08-08  8:46 ` [PATCH 11/26] MdeModulePkg UfsBlockIoPei: " shenglei
2018-08-10  2:57   ` Wu, Hao A [this message]
2018-08-10  9:04     ` Zeng, Star
2018-08-08  8:46 ` [PATCH 12/26] MdeModulePkg UfsPassThruDxe: " shenglei
2018-08-10  2:45   ` Wu, Hao A
2018-08-10  9:05   ` Zeng, Star
2018-08-08  8:46 ` [PATCH 13/26] MdeModulePkg UsbBotPei: " shenglei
2018-08-10  9:08   ` Zeng, Star
2018-08-08  8:47 ` [PATCH 14/26] MdeModulePkg UsbBusDxe: " shenglei
2018-08-09  3:12   ` Ni, Ruiyu
2018-08-09 13:52   ` Laszlo Ersek
2018-08-10  9:09   ` Zeng, Star
2018-08-08  8:47 ` [PATCH 15/26] MdeModulePkg UsbBusPei: " shenglei
2018-08-09  3:12   ` Ni, Ruiyu
2018-08-10  9:08   ` Zeng, Star
2018-08-08  8:47 ` [PATCH 16/26] MdeModulePkg Core/Dxe: " shenglei
2018-08-09  3:10   ` Ni, Ruiyu
2018-08-09  3:43     ` Wang, Jian J
2018-08-09 13:56   ` Laszlo Ersek
2018-08-10  9:10   ` Zeng, Star
2018-08-08  8:47 ` [PATCH 17/26] MdeModulePkg PiSmmCore: " shenglei
2018-08-09  3:12   ` Ni, Ruiyu
2018-08-09  3:44     ` Wang, Jian J
2018-08-09 14:07   ` Laszlo Ersek
2018-08-10  9:12   ` Zeng, Star
2018-08-08  8:47 ` [PATCH 18/26] MdeModulePkg Ps2KeyboardDxe: Remove a redundant function shenglei
2018-08-09  3:12   ` Ni, Ruiyu
2018-08-09 14:10   ` Laszlo Ersek
2018-08-10  9:15   ` Zeng, Star
2018-08-08  8:47 ` [PATCH 19/26] MdeModulePkg EmmcBlockIoPei: " shenglei
2018-08-10  2:57   ` Wu, Hao A
2018-08-10  9:16     ` Zeng, Star
2018-08-08  8:47 ` [PATCH 20/26] MdeModulePkg SdBlockIoPei: " shenglei
2018-08-10  2:57   ` Wu, Hao A
2018-08-10  9:16     ` Zeng, Star
2018-08-08  8:47 ` [PATCH 21/26] MdeModulePkg TerminalDxe: " shenglei
2018-08-09  3:13   ` Ni, Ruiyu
2018-08-09 10:25   ` Zeng, Star
2018-08-10  9:14     ` Zeng, Star
2018-08-09 14:12   ` Laszlo Ersek
2018-08-08  8:47 ` [PATCH 22/26] MdeModulePkg HiiDatabaseDxe: " shenglei
2018-08-09 10:23   ` Zeng, Star
2018-08-10  9:14     ` Zeng, Star
2018-08-09 14:15   ` Laszlo Ersek
2018-08-08  8:47 ` [PATCH 23/26] MdeModulePkg Ip4Dxe: " shenglei
2018-08-09 10:21   ` Zeng, Star
2018-08-09 14:16   ` Laszlo Ersek
2018-08-08  8:47 ` [PATCH 24/26] MdeModulePkg IScsiDxe: " shenglei
2018-08-09 10:21   ` Zeng, Star
2018-08-09 14:18   ` Laszlo Ersek
2018-08-08  8:47 ` [PATCH 25/26] MdeModulePkg Tcp4Dxe: Remove redundant functions shenglei
2018-08-09 10:21   ` Zeng, Star
2018-08-09 14:21   ` Laszlo Ersek
2018-08-08  8:47 ` [PATCH 26/26] MdeModulePkg SetupBrowserDxe: Remove a redundant function shenglei
2018-08-09 10:22   ` Zeng, Star
2018-08-09 14:26   ` Laszlo Ersek
2018-08-08 14:55 ` [PATCH 00/26] MdeModulePkg Remove redundant functions Leif Lindholm
2018-08-08 16:05   ` Carsey, Jaben
2018-08-08 17:21     ` Laszlo Ersek
2018-08-09  3:44       ` Zeng, Star
2018-08-09  3:33   ` Zeng, Star

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=B80AF82E9BFB8E4FBD8C89DA810C6A0931E36504@SHSMSX104.ccr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox