From: Simon Glass Date: Sun, 25 Sep 2016 00:20:00 +0000 (-0600) Subject: spl: Convert spl_mmc_load_image() to use linker list X-Git-Tag: v2016.11-rc2~96 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=0fed9c7ed69c7f85f0f76fd58c1ef6ea991a786c;p=u-boot spl: Convert spl_mmc_load_image() to use linker list Add a linker list declaration for this method and remove the explicit switch() code. Signed-off-by: Simon Glass Reviewed-by: Tom Rini --- diff --git a/common/spl/spl.c b/common/spl/spl.c index b8ec72c64e..321709916f 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -384,12 +384,6 @@ static int spl_load_image(u32 boot_device) return loader->load_image(&bootdev); switch (boot_device) { -#ifdef CONFIG_SPL_MMC_SUPPORT - case BOOT_DEVICE_MMC1: - case BOOT_DEVICE_MMC2: - case BOOT_DEVICE_MMC2_2: - return spl_mmc_load_image(&bootdev); -#endif #ifdef CONFIG_SPL_UBI case BOOT_DEVICE_NAND: case BOOT_DEVICE_ONENAND: diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index 899caf4a9b..5e8172e5bf 100644 --- a/common/spl/spl_mmc.c +++ b/common/spl/spl_mmc.c @@ -267,7 +267,7 @@ int spl_mmc_do_fs_boot(struct mmc *mmc) } #endif -int spl_mmc_load_image(struct spl_boot_device *bootdev) +static int spl_mmc_load_image(struct spl_boot_device *bootdev) { struct mmc *mmc = NULL; u32 boot_mode; @@ -345,3 +345,7 @@ int spl_mmc_load_image(struct spl_boot_device *bootdev) return err; } + +SPL_LOAD_IMAGE_METHOD(0, BOOT_DEVICE_MMC1, spl_mmc_load_image); +SPL_LOAD_IMAGE_METHOD(0, BOOT_DEVICE_MMC2, spl_mmc_load_image); +SPL_LOAD_IMAGE_METHOD(0, BOOT_DEVICE_MMC2_2, spl_mmc_load_image); diff --git a/include/spl.h b/include/spl.h index 884fbe6179..174147a06a 100644 --- a/include/spl.h +++ b/include/spl.h @@ -193,9 +193,6 @@ int spl_nor_load_image(struct spl_boot_device *bootdev); /* UBI SPL functions */ int spl_ubi_load_image(struct spl_boot_device *bootdev); -/* MMC SPL functions */ -int spl_mmc_load_image(struct spl_boot_device *bootdev); - /* YMODEM SPL functions */ int spl_ymodem_load_image(struct spl_boot_device *bootdev);