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

