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

Message ID 20221014114601.15594-23-victor.shih@genesyslogic.com.tw
State New
Headers
Series Add support UHS-II for GL9755 |

Commit Message

Victor Shih Oct. 14, 2022, 11:45 a.m. UTC
  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@genesyslogic.com.tw>
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Signed-off-by: Victor Shih <victor.shih@genesyslogic.com.tw>
---
 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
  

Patch

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