Btw, the Raspberry Pi support has its own variant of MmcDxe and SD host drivers... the history behind that is that's the way it was in the original MSFT port circa 2016. When I had rebased that code to 2018 edk2 (still before Pete's work to upstream it here), the edk2 variant had significantly diverged from the MSFT changes, so the MSFT one was taken as is (and further evolved to fix issues around high-speed support).

It's still a goal to move away from all of that towards something generic. The Pi has two (sometimes 3) controllers - some are kinda-SDHCI (maybe possible with the Mde stack, if quirked via _SD_MMC_OVERRIDE_PROTOCOL), while the other is completely non-standard.

Mde doesn't have a non-SDHCI stack. That remains a gap...

A

On Wed, Apr 29, 2020 at 11:36 AM Leif Lindholm <leif@nuviainc.com> wrote:
We keep seeing new users (and copies) of EmbeddedPkg:s MmcDxe, which
while it predates the MdeModulePkg SD/(E)MMCsupport is in effect
unmaintained and also duplicates core industry standard definitions.

Since we now have GetMaintainers.py to parse Maintainers.txt for us,
extend its functionality to warn about less supported code.

Then as an indication of its unsuitability for reference (or use), set
its Status flag in Maintainers.txt to Obsolete.

Once this is done, follow up and do the same with the hardware drivers
(not the software ones) still left in EmbeddedPkg/Drivers. They were
added back when not using the UEFI driver model was still cool, or
simply before edk2-platforms existed.
They should move to edk2-platforms, but most of them require some
level of rewriting before that.

1/3 adds a warning printout to GetMaintainer.py

2/3 obsoletes EmbeddedPkg/Universal/MmcDxe/

3/3 obsoletes remaining hw drivers in EmbeddedPkg/Drivers
Cc: Andrew Fish <afish@apple.com>

Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>

Leif Lindholm (3):
  BaseTools: add handling for 'S:' flag to GetMaintainer.py
  Maintainers.txt: mark EmbeddedPkg MmcDxe as Obsolete
  Maintainers.txt: mark EmbeddedPkg hw drivers as bsolete

 BaseTools/Scripts/GetMaintainer.py |  4 ++++
 Maintainers.txt                    | 17 +++++++++++++++++
 2 files changed, 21 insertions(+)

--
2.20.1






--
A