One minor comment, please help to remove the line (around line 1067):
@param[in] Capability     The capability of the slot.

within function description comment for SdMmcHcInitHost() in file:
MdeModulePkg\Bus\Pci\SdMmcPciHcDxe\SdMmcPciHci.c

Other than that, the series is good to me:
Reviewed-by: Hao Wu <[email protected]>

Really sorry for the delay.

Best Regards,
Hao Wu


> -----Original Message-----
> From: Ard Biesheuvel [mailto:[email protected]]
> Sent: Friday, December 08, 2017 6:43 AM
> To: [email protected]
> Cc: [email protected]; Kinney, Michael D; Zeng, Star; Tian, Feng; Ni,
> Ruiyu; Wu, Hao A; Ard Biesheuvel
> Subject: [PATCH v4 0/2] quirks handling for SDHCI controllers
> 
> Many SDHCI implementations exist that are almost spec complicant, and
> could be driven by the generic SD/MMC host controller driver except
> for some minimal necessary init time tweaks.
> 
> Adding such tweaks to the generic driver is undesirable. On the other
> hand, forking the driver for every platform that has such a SDHCI
> controller is problematic when it comes to upstreaming and ongoing
> maintenance (which is arguably the point of upstreaming in the first
> place).
> 
> So these patches propose a workaround that is minimally invasive on the
> EDK2 side, but gives platforms a lot of leeway when it comes to applying
> SDHCI quirks.
> 
> Changes since v3:
> - remove PassThru argument from protocol members: it is unclear whether the
>   protocol is available when the override protocol is invoked, and my
>   example use case does not need it
> - replace incorrect HandleProtocol with LocateProtocol, given that the 
> override
>   protocol is now a singleton instance
> - merge notifier calls into SdMmcHcReset() and SdMmcHcInitHost (), this
>   required changing the prototype to take a SD_MMC_HC_PRIVATE_DATA*
> argument
>   and so the prototypes no longer belong in SdMmcPciHci.h and have been
> moved
>   to SdMmcPciHcDxe.h
> - use VOID* type for capability not UINT64* since we don't know its alignment
> 
> Changes since v2:
> - use a singleton instance of the SD/MMC protocol rather than one per
>   controller; this is needed to support 'reconnect -r', as pointed out
>   by Ray
> - use EDKII prefixes for all types defined by the protocol
> - replace 'hook' with 'notify', and tweak some other identifiers
> - add missing function comment headers for factored out functions
> 
> Changes since RFC/v1:
> - add EFI_SD_MMC_PASS_THRU_PROTOCOL* member to override methods
> - use UINT64* not VOID* to pass capability structure (which is always 64 bits
>   in size)
> 
> Ard Biesheuvel (2):
>   MdeModulePkg: introduce SD/MMC override protocol
>   MdeModulePkg/SdMmcPciHcDxe: allow HC capabilities to be overridden
> 
>  MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.c   | 35 ++++++-
>  MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.h   | 36 ++++++++
>  MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf |  2 +
>  MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHci.c     | 95
> +++++++++++++++++--
>  MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHci.h     | 35 -------
>  MdeModulePkg/Include/Protocol/SdMmcOverride.h        | 97
> ++++++++++++++++++++
>  MdeModulePkg/MdeModulePkg.dec                        |  3 +
>  7 files changed, 257 insertions(+), 46 deletions(-)
>  create mode 100644 MdeModulePkg/Include/Protocol/SdMmcOverride.h
> 
> --
> 2.11.0

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to