[PATCH 3/3] mmc: mv_sdhci: Depend on DM_MMC

Stefan Roese sr at denx.de
Fri Feb 10 13:23:52 CET 2023


All build targets using this driver already use DM_MMC. So let's depend
this driver on this Kconfig symbol and remove the non-DM driver part.

Signed-off-by: Stefan Roese <sr at denx.de>
Cc: Tom Rini <trini at konsulko.com>
Cc: Simon Glass <sjg at chromium.org>
Cc: Peng Fan <peng.fan at nxp.com>
Cc: Jaehoon Chung <jh80.chung at samsung.com>
---
 drivers/mmc/Kconfig    |  1 +
 drivers/mmc/mv_sdhci.c | 39 +++++++--------------------------------
 2 files changed, 8 insertions(+), 32 deletions(-)

diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig
index 878f867c627b..3f5f61503fb6 100644
--- a/drivers/mmc/Kconfig
+++ b/drivers/mmc/Kconfig
@@ -621,6 +621,7 @@ config MMC_SDHCI_MV
 	bool "SDHCI support on Marvell platform"
 	depends on ARCH_MVEBU
 	depends on MMC_SDHCI
+	depends on DM_MMC
 	help
 	  This selects the Secure Digital Host Controller Interface on
 	  Marvell platform.
diff --git a/drivers/mmc/mv_sdhci.c b/drivers/mmc/mv_sdhci.c
index 42fa735f3160..dbdd671c88bc 100644
--- a/drivers/mmc/mv_sdhci.c
+++ b/drivers/mmc/mv_sdhci.c
@@ -15,6 +15,13 @@
 #define SDHCI_WINDOW_CTRL(win)		(0x4080 + ((win) << 4))
 #define SDHCI_WINDOW_BASE(win)		(0x4084 + ((win) << 4))
 
+DECLARE_GLOBAL_DATA_PTR;
+
+struct mv_sdhci_plat {
+	struct mmc_config cfg;
+	struct mmc mmc;
+};
+
 static void sdhci_mvebu_mbus_config(void __iomem *base)
 {
 	const struct mbus_dram_target_info *dram;
@@ -40,37 +47,6 @@ static void sdhci_mvebu_mbus_config(void __iomem *base)
 	}
 }
 
-#ifndef CONFIG_DM_MMC
-
-int mv_sdh_init(unsigned long regbase, u32 max_clk, u32 min_clk, u32 quirks)
-{
-	struct sdhci_host *host = NULL;
-	host = calloc(1, sizeof(*host));
-	if (!host) {
-		printf("sdh_host malloc fail!\n");
-		return -ENOMEM;
-	}
-
-	host->name = MVSDH_NAME;
-	host->ioaddr = (void *)regbase;
-	host->quirks = quirks;
-	host->max_clk = max_clk;
-
-	/* Configure SDHCI MBUS mbus bridge windows */
-	sdhci_mvebu_mbus_config((void __iomem *)regbase);
-
-	return add_sdhci(host, 0, min_clk);
-}
-
-#else
-
-DECLARE_GLOBAL_DATA_PTR;
-
-struct mv_sdhci_plat {
-	struct mmc_config cfg;
-	struct mmc mmc;
-};
-
 static int mv_sdhci_probe(struct udevice *dev)
 {
 	struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev);
@@ -123,4 +99,3 @@ U_BOOT_DRIVER(mv_sdhci_drv) = {
 	.priv_auto	= sizeof(struct sdhci_host),
 	.plat_auto	= sizeof(struct mv_sdhci_plat),
 };
-#endif /* CONFIG_DM_MMC */
-- 
2.39.1



More information about the U-Boot mailing list