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 <sjg@chromium.org>
master
Simon Glass 9 years ago
parent 1169299135
commit dc3dedfeb1
  1. 17
      common/spl/spl_mmc.c

@ -7,6 +7,7 @@
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <dm.h>
#include <spl.h>
#include <linux/compiler.h>
#include <asm/u-boot.h>
@ -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);

Loading…
Cancel
Save