[PATCH V5 22/26] mmc: sdhci-uhs2: add pre-detect_init hook

From: Victor Shih
Date: Fri Oct 14 2022 - 07:49:34 EST


This "pre" hook for detect_init(), uhs2_pre_detect_init, will be required
to enable UHS-II support, at least, on GL9755.

Signed-off-by: Ben Chuang <ben.chuang@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx>
Signed-off-by: Victor Shih <victor.shih@xxxxxxxxxxxxxxxxxxx>
---
drivers/mmc/Kconfig | 22 ----------------------
drivers/mmc/Makefile | 7 -------
drivers/mmc/host/sdhci-uhs2.c | 3 +++
drivers/mmc/host/sdhci.h | 1 +
4 files changed, 4 insertions(+), 29 deletions(-)
delete mode 100644 drivers/mmc/Kconfig
delete mode 100644 drivers/mmc/Makefile

diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig
deleted file mode 100644
index 2436eb4996a4..000000000000
--- a/drivers/mmc/Kconfig
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-#
-# MMC subsystem configuration
-#
-
-menuconfig MMC
- tristate "MMC/SD/SDIO card support"
- depends on HAS_IOMEM
- help
- This selects MultiMediaCard, Secure Digital and Secure
- Digital I/O support.
-
- If you want MMC/SD/SDIO support, you should say Y here and
- also to your specific host controller driver.
-
-if MMC
-
-source "drivers/mmc/core/Kconfig"
-
-source "drivers/mmc/host/Kconfig"
-
-endif # MMC
diff --git a/drivers/mmc/Makefile b/drivers/mmc/Makefile
deleted file mode 100644
index 3ea0126a9a72..000000000000
--- a/drivers/mmc/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-#
-# Makefile for the kernel mmc device drivers.
-#
-
-obj-$(CONFIG_MMC) += core/
-obj-$(subst m,y,$(CONFIG_MMC)) += host/
diff --git a/drivers/mmc/host/sdhci-uhs2.c b/drivers/mmc/host/sdhci-uhs2.c
index 8e547b672574..88decfba1880 100644
--- a/drivers/mmc/host/sdhci-uhs2.c
+++ b/drivers/mmc/host/sdhci-uhs2.c
@@ -1570,6 +1570,9 @@ static int sdhci_uhs2_do_detect_init(struct mmc_host *mmc)

DBG("%s: begin UHS2 init.\n", __func__);

+ if (host->ops && host->ops->uhs2_pre_detect_init)
+ host->ops->uhs2_pre_detect_init(host);
+
if (sdhci_uhs2_interface_detect(host)) {
pr_warn("%s: cannot detect UHS2 interface.\n",
mmc_hostname(host->mmc));
diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
index bc4be80bf0af..943701aef22a 100644
--- a/drivers/mmc/host/sdhci.h
+++ b/drivers/mmc/host/sdhci.h
@@ -745,6 +745,7 @@ struct sdhci_ops {
struct mmc_request *mrq);
void (*dump_vendor_regs)(struct sdhci_host *host);
void (*dump_uhs2_regs)(struct sdhci_host *host);
+ void (*uhs2_pre_detect_init)(struct sdhci_host *host);
};

#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
--
2.25.1