diff mbox series

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

Message ID 20230210122352.1214847-3-sr@denx.de
State Accepted
Commit 8af21b094d92f671bd2f6483a15be5b3c33baca6
Delegated to: Jaehoon Chung
Headers show
Series [1/3] mmc: mv_sdhci: Simplify call to sdhci_mvebu_mbus_config() | expand

Commit Message

Stefan Roese Feb. 10, 2023, 12:23 p.m. UTC
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@denx.de>
Cc: Tom Rini <trini@konsulko.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
---
 drivers/mmc/Kconfig    |  1 +
 drivers/mmc/mv_sdhci.c | 39 +++++++--------------------------------
 2 files changed, 8 insertions(+), 32 deletions(-)

Comments

Simon Glass Feb. 10, 2023, 4:05 p.m. UTC | #1
On Fri, 10 Feb 2023 at 05:24, Stefan Roese <sr@denx.de> wrote:
>
> 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@denx.de>
> Cc: Tom Rini <trini@konsulko.com>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Jaehoon Chung <jh80.chung@samsung.com>
> ---
>  drivers/mmc/Kconfig    |  1 +
>  drivers/mmc/mv_sdhci.c | 39 +++++++--------------------------------
>  2 files changed, 8 insertions(+), 32 deletions(-)
>

Reviewed-by: Simon Glass <sjg@chromium.org>
Jaehoon Chung Feb. 16, 2023, 7:21 a.m. UTC | #2
On 2/10/23 21:23, Stefan Roese wrote:
> 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@denx.de>
> Cc: Tom Rini <trini@konsulko.com>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Jaehoon Chung <jh80.chung@samsung.com>


Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>

Best Regards,
Jaehoon Chung

> ---
>  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 */
Jaehoon Chung March 10, 2023, 2:48 a.m. UTC | #3
On 2/10/23 21:23, Stefan Roese wrote:
> 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@denx.de>
> Cc: Tom Rini <trini@konsulko.com>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Jaehoon Chung <jh80.chung@samsung.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>

Applied to u-boot-mmc/master.

Best Regards,
Jaehoon Chung

> ---
>  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 */
diff mbox series

Patch

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 */