From: Simon Glass Date: Tue, 23 Jun 2015 21:38:51 +0000 (-0600) Subject: dm: mmc: Allow driver model to be used for MMC in SPL X-Git-Tag: v2015.10-rc1~156 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=dc3dedfeb184712cacaf5f0de607fcb9aa9648bc;p=u-boot dm: mmc: Allow driver model to be used for MMC in SPL Enable MMC using driver model in SPL for consistency with U-Boot proper. Signed-off-by: Simon Glass --- diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index 51add39f7e..5f1cfbf98e 100644 --- a/common/spl/spl_mmc.c +++ b/common/spl/spl_mmc.c @@ -7,6 +7,7 @@ * SPDX-License-Identifier: GPL-2.0+ */ #include +#include #include #include #include @@ -101,9 +102,18 @@ void spl_mmc_load_image(void) { struct mmc *mmc; u32 boot_mode; - int err; + int err = 0; __maybe_unused int part; +#ifdef CONFIG_DM_MMC + struct udevice *dev; + + mmc_initialize(NULL); + err = uclass_get_device(UCLASS_MMC, 0, &dev); + mmc = NULL; + if (!err) + mmc = mmc_get_mmc_dev(dev); +#else mmc_initialize(gd->bd); /* We register only one device. So, the dev id is always 0 */ @@ -114,8 +124,11 @@ void spl_mmc_load_image(void) #endif hang(); } +#endif + + if (!err) + err = mmc_init(mmc); - err = mmc_init(mmc); if (err) { #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT printf("spl: mmc init failed with error: %d\n", err);