
At present MMC does not use driver model for its operations. It uses its own structure and passes a struct mmc instead of a struct udevice.
This series addresses this by adding driver-model operations for MMC. The conversion process is also started, with patches for rockchip, zynq and qualcomm.
The zynq patches are a starting point only and need more work.
Simon Glass (27): dm: mmc: dwmmc: Add comments to the dwmmc setup functions rockchip: Use 'select' instead of defaults in Kconfig mmc: Add function declarations for mmc_bread() and mmc_switch_part() dm: mmc: Move CONFIG_BLK code into the mmc uclass dm: mmc: Move non-CONFIG_BLK code into mmc_legacy.c mmc: Move MMC boot code into its own file dm: mmc: rockchip: Support only CONFIG_BLK mmc: Move tracing code into separate functions rockchip: Disable CONFIG_SDHCI dm: mmc: Add a way to use driver model for MMC operations dm: mmc: dwmmc: Support CONFIG_DM_MMC_OPS dm: mmc: rockchip: Enable CONFIG_DM_MMC_OPS for all boards rockchip: Add MAINTAINER files for kylin_rk3036, evb_rk3036 dm: sandbox: Convert to use CONFIG_CMD_MMC_OPS dm: mmc: sdhci: Refactor configuration setup to support DM dm: mmc: sdhci: Support CONFIG_BLK and CONFIG_DM_MMC_OPS dm: mmc: msm_sdhci: Support CONFIG_BLK and CONFIG_DM_MMC_OPS dm: mmc: Move dragonboard410c to use CONFIG_BLK and CONFIG_DM_MMC_OPS dm: mmc: msmsdhic: Drop old MMC code dm: spl: mmc: Support CONFIG_BLK in SPL MMC dm: dfu: mmc: Support CONFIG_BLK in DFU for MMC net: phy: marvell: Add a missing errno.h header zynq: Increase the early malloc() size dm: zynq: usb: Convert to CONFIG_DM_USB dm: mmc: zynq: Convert zynq to use driver model for MMC dm: mmc: Enable DM_MMC_OPS by default with DM_MMC dm: blk: Enable CONFIG_BLK if DM_MMC is enabled
arch/Kconfig | 1 + arch/arm/Kconfig | 18 ++ arch/arm/cpu/armv8/zynqmp/Kconfig | 4 + arch/arm/mach-rockchip/Kconfig | 27 --- arch/arm/mach-zynq/Kconfig | 3 + board/evb_rk3036/evb_rk3036/MAINTAINERS | 6 + board/kylin/kylin_rk3036/MAINTAINERS | 6 + common/spl/spl_mmc.c | 6 +- configs/dragonboard410c_defconfig | 2 + configs/sandbox_defconfig | 4 +- drivers/block/Kconfig | 1 + drivers/dfu/dfu_mmc.c | 11 +- drivers/mmc/Kconfig | 12 +- drivers/mmc/Makefile | 3 + drivers/mmc/dw_mmc.c | 33 +++ drivers/mmc/mmc-uclass.c | 146 +++++++++++++ drivers/mmc/mmc.c | 371 +++++--------------------------- drivers/mmc/mmc_boot.c | 131 +++++++++++ drivers/mmc/mmc_legacy.c | 91 ++++++++ drivers/mmc/mmc_private.h | 47 ++++ drivers/mmc/msm_sdhci.c | 38 +++- drivers/mmc/rockchip_dw_mmc.c | 14 +- drivers/mmc/sandbox_mmc.c | 17 +- drivers/mmc/sdhci.c | 147 ++++++++----- drivers/mmc/zynq_sdhci.c | 39 +++- drivers/net/phy/marvell.c | 1 + drivers/usb/host/ehci-zynq.c | 102 +++++---- include/configs/rk3036_common.h | 1 - include/configs/rk3288_common.h | 1 - include/dwmmc.h | 73 +++++++ include/mmc.h | 66 +++++- include/sdhci.h | 80 +++++++ 32 files changed, 1006 insertions(+), 496 deletions(-) create mode 100644 drivers/mmc/mmc_boot.c