From: Simon Glass Date: Sat, 29 Jul 2017 17:35:22 +0000 (-0600) Subject: dm: mmc: fsl_esdhc: Drop mmc_init() call from fsl_esdhc_init() X-Git-Tag: v2017.09-rc3~69^2~11 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=d6eb25e9878617f9a1d7f06ec21c9b981bb0a4e5;p=oweals%2Fu-boot.git dm: mmc: fsl_esdhc: Drop mmc_init() call from fsl_esdhc_init() 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 --- diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index bb6fac2f39..662824fda1 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; }