From: Simon Glass Date: Sun, 25 Sep 2016 00:19:59 +0000 (-0600) Subject: spl: Convert spl_ram_load_image() to use linker list X-Git-Tag: v2016.11-rc2~97 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=98136b2f26fa;p=oweals%2Fu-boot.git spl: Convert spl_ram_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 [trini: Include updating the DFU case] Signed-off-by: Tom Rini --- diff --git a/common/spl/spl.c b/common/spl/spl.c index eb3b808e46..b8ec72c64e 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -191,6 +191,11 @@ static int spl_ram_load_image(struct spl_boot_device *bootdev) header = (struct image_header *)CONFIG_SPL_LOAD_FIT_ADDRESS; +#if defined(CONFIG_SPL_DFU_SUPPORT) + if (bootdev->boot_device == BOOT_DEVICE_DFU) + spl_dfu_cmd(0, "dfu_alt_info_ram", "ram", "0"); +#endif + if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) && image_get_magic(header) == FDT_MAGIC) { struct spl_load_info load; @@ -215,6 +220,10 @@ static int spl_ram_load_image(struct spl_boot_device *bootdev) return 0; } +SPL_LOAD_IMAGE_METHOD(0, BOOT_DEVICE_RAM, spl_ram_load_image); +#if defined(CONFIG_SPL_DFU_SUPPORT) +SPL_LOAD_IMAGE_METHOD(0, BOOT_DEVICE_DFU, spl_ram_load_image); +#endif #endif int spl_init(void) @@ -375,10 +384,6 @@ static int spl_load_image(u32 boot_device) return loader->load_image(&bootdev); switch (boot_device) { -#ifdef CONFIG_SPL_RAM_DEVICE - case BOOT_DEVICE_RAM: - return spl_ram_load_image(&bootdev); -#endif #ifdef CONFIG_SPL_MMC_SUPPORT case BOOT_DEVICE_MMC1: case BOOT_DEVICE_MMC2: @@ -427,11 +432,6 @@ static int spl_load_image(u32 boot_device) case BOOT_DEVICE_USB: return spl_usb_load_image(&bootdev); #endif -#ifdef CONFIG_SPL_DFU_SUPPORT - case BOOT_DEVICE_DFU: - spl_dfu_cmd(0, "dfu_alt_info_ram", "ram", "0"); - return spl_ram_load_image(&bootdev); -#endif #ifdef CONFIG_SPL_SATA_SUPPORT case BOOT_DEVICE_SATA: return spl_sata_load_image(&bootdev);