We want to use fsl_esdhc_init() with driver model. Move the mmc_init() out
of this function so that we can use it for our common init.

Signed-off-by: Simon Glass <s...@chromium.org>
---

Changes in v2: None

 drivers/mmc/fsl_esdhc.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c
index 409231e93d..9796b174c8 100644
--- a/drivers/mmc/fsl_esdhc.c
+++ b/drivers/mmc/fsl_esdhc.c
@@ -765,7 +765,6 @@ static int fsl_esdhc_init(struct fsl_esdhc_priv *priv,
 {
        struct mmc_config *cfg;
        struct fsl_esdhc *regs;
-       struct mmc *mmc;
        u32 caps, voltage_caps;
        int ret;
 
@@ -856,12 +855,6 @@ static int fsl_esdhc_init(struct fsl_esdhc_priv *priv,
 
        cfg->b_max = CONFIG_SYS_MMC_MAX_BLK_COUNT;
 
-       mmc = mmc_create(cfg, priv);
-       if (mmc == NULL)
-               return -1;
-
-       priv->mmc = mmc;
-
        return 0;
 }
 
@@ -885,6 +878,7 @@ int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg 
*cfg)
 {
        struct fsl_esdhc_plat *plat;
        struct fsl_esdhc_priv *priv;
+       struct mmc *mmc;
        int ret;
 
        if (!cfg)
@@ -915,6 +909,12 @@ int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg 
*cfg)
                return ret;
        }
 
+       mmc = mmc_create(&plat->cfg, priv);
+       if (!mmc)
+               return -EIO;
+
+       priv->mmc = mmc;
+
        return 0;
 }
 
-- 
2.14.0.rc0.400.g1c36432dff-goog

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to