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

Jaehoon Chung jh80.chung at gmail.com
Thu Feb 16 08:21:54 CET 2023



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


Reviewed-by: Jaehoon Chung <jh80.chung at 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 */


More information about the U-Boot mailing list