summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/mmc/dw_mmc.c13
-rw-r--r--drivers/mmc/exynos_dw_mmc.c3
-rw-r--r--drivers/mmc/rockchip_dw_mmc.c3
-rw-r--r--drivers/mmc/socfpga_dw_mmc.c3
-rw-r--r--include/dwmmc.h8
5 files changed, 12 insertions, 18 deletions
diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
index 074f86c..d6ac46c 100644
--- a/drivers/mmc/dw_mmc.c
+++ b/drivers/mmc/dw_mmc.c
@@ -488,10 +488,10 @@ static const struct mmc_ops dwmci_ops = {
};
#endif
-void dwmci_setup_cfg(struct mmc_config *cfg, const char *name, int buswidth,
- uint caps, u32 max_clk, u32 min_clk)
+void dwmci_setup_cfg(struct mmc_config *cfg, struct dwmci_host *host,
+ u32 max_clk, u32 min_clk)
{
- cfg->name = name;
+ cfg->name = host->name;
#ifndef CONFIG_DM_MMC_OPS
cfg->ops = &dwmci_ops;
#endif
@@ -500,9 +500,9 @@ void dwmci_setup_cfg(struct mmc_config *cfg, const char *name, int buswidth,
cfg->voltages = MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_165_195;
- cfg->host_caps = caps;
+ cfg->host_caps = host->caps;
- if (buswidth == 8) {
+ if (host->buswidth == 8) {
cfg->host_caps |= MMC_MODE_8BIT;
cfg->host_caps &= ~MMC_MODE_4BIT;
} else {
@@ -522,8 +522,7 @@ int dwmci_bind(struct udevice *dev, struct mmc *mmc, struct mmc_config *cfg)
#else
int add_dwmci(struct dwmci_host *host, u32 max_clk, u32 min_clk)
{
- dwmci_setup_cfg(&host->cfg, host->name, host->buswidth, host->caps,
- max_clk, min_clk);
+ dwmci_setup_cfg(&host->cfg, host, max_clk, min_clk);
host->mmc = mmc_create(&host->cfg, host);
if (host->mmc == NULL)
diff --git a/drivers/mmc/exynos_dw_mmc.c b/drivers/mmc/exynos_dw_mmc.c
index 568fed7..c440399 100644
--- a/drivers/mmc/exynos_dw_mmc.c
+++ b/drivers/mmc/exynos_dw_mmc.c
@@ -271,8 +271,7 @@ static int exynos_dwmmc_probe(struct udevice *dev)
if (err)
return err;
- dwmci_setup_cfg(&plat->cfg, host->name, host->buswidth, host->caps,
- DWMMC_MAX_FREQ, DWMMC_MIN_FREQ);
+ dwmci_setup_cfg(&plat->cfg, host, DWMMC_MAX_FREQ, DWMMC_MIN_FREQ);
host->mmc = &plat->mmc;
host->mmc->priv = &priv->host;
host->priv = dev;
diff --git a/drivers/mmc/rockchip_dw_mmc.c b/drivers/mmc/rockchip_dw_mmc.c
index 859760b..47db678 100644
--- a/drivers/mmc/rockchip_dw_mmc.c
+++ b/drivers/mmc/rockchip_dw_mmc.c
@@ -129,8 +129,7 @@ static int rockchip_dwmmc_probe(struct udevice *dev)
return ret;
}
#endif
- dwmci_setup_cfg(&plat->cfg, dev->name, host->buswidth, host->caps,
- priv->minmax[1], priv->minmax[0]);
+ dwmci_setup_cfg(&plat->cfg, host, priv->minmax[1], priv->minmax[0]);
host->mmc = &plat->mmc;
host->mmc->priv = &priv->host;
host->mmc->dev = dev;
diff --git a/drivers/mmc/socfpga_dw_mmc.c b/drivers/mmc/socfpga_dw_mmc.c
index 8a96302..5a3a4ff 100644
--- a/drivers/mmc/socfpga_dw_mmc.c
+++ b/drivers/mmc/socfpga_dw_mmc.c
@@ -111,8 +111,7 @@ static int socfpga_dwmmc_probe(struct udevice *dev)
struct dwmci_host *host = &priv->host;
#ifdef CONFIG_BLK
- dwmci_setup_cfg(&plat->cfg, dev->name, host->buswidth, host->caps,
- host->bus_hz, 400000);
+ dwmci_setup_cfg(&plat->cfg, host, host->bus_hz, 400000);
host->mmc = &plat->mmc;
#else
int ret;
diff --git a/include/dwmmc.h b/include/dwmmc.h
index 5b9602c..4dda009 100644
--- a/include/dwmmc.h
+++ b/include/dwmmc.h
@@ -253,14 +253,12 @@ static inline u8 dwmci_readb(struct dwmci_host *host, int reg)
* See rockchip_dw_mmc.c for an example.
*
* @cfg: Configuration structure to fill in (generally &plat->mmc)
- * @name: Device name (normally dev->name)
- * @buswidth: Bus width (in bits, such as 4 or 8)
- * @caps: Host capabilities (MMC_MODE_...)
+ * @host: DWMMC host
* @max_clk: Maximum supported clock speed in HZ (e.g. 150000000)
* @min_clk: Minimum supported clock speed in HZ (e.g. 400000)
*/
-void dwmci_setup_cfg(struct mmc_config *cfg, const char *name, int buswidth,
- uint caps, u32 max_clk, u32 min_clk);
+void dwmci_setup_cfg(struct mmc_config *cfg, struct dwmci_host *host,
+ u32 max_clk, u32 min_clk);
/**
* dwmci_bind() - Set up a new MMC block device