common: Pass the boot device into spl_boot_mode()

The SPL code already knows which boot device it calls the spl_boot_mode()
on, so pass that information into the function. This allows the code of
spl_boot_mode() avoid invoking spl_boot_device() again, but it also lets
board_boot_order() correctly alter the behavior of the boot process.

The later one is important, since in certain cases, it is desired that
spl_boot_device() return value be overriden using board_boot_order().

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Andreas Bießmann <andreas.devel@googlemail.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Tom Rini <trini@konsulko.com>
Reviewed-by: Andreas Bießmann <andreas@biessmann.org>
[add newly introduced zynq variant]
Signed-aff-by: Andreas Bießmann <andreas@biessmann.org>
This commit is contained in:
Marek Vasut 2016-05-14 23:42:07 +02:00 committed by Andreas Bießmann
parent 4141e85bcd
commit 2b1cdafa9f
16 changed files with 16 additions and 16 deletions

View file

@ -526,7 +526,7 @@ u32 spl_boot_device(void)
} }
#ifdef CONFIG_SPL_BUILD #ifdef CONFIG_SPL_BUILD
u32 spl_boot_mode(void) u32 spl_boot_mode(const u32 boot_device)
{ {
switch (spl_boot_device()) { switch (spl_boot_device()) {
case BOOT_DEVICE_MMC1: case BOOT_DEVICE_MMC1:

View file

@ -15,7 +15,7 @@ u32 spl_boot_device(void)
return BOOT_DEVICE_NAND; return BOOT_DEVICE_NAND;
} }
u32 spl_boot_mode(void) u32 spl_boot_mode(const u32 boot_device)
{ {
switch (spl_boot_device()) { switch (spl_boot_device()) {
case BOOT_DEVICE_MMC1: case BOOT_DEVICE_MMC1:

View file

@ -166,7 +166,7 @@ u32 spl_boot_device(void)
return gd->arch.omap_boot_device; return gd->arch.omap_boot_device;
} }
u32 spl_boot_mode(void) u32 spl_boot_mode(const u32 boot_device)
{ {
return gd->arch.omap_boot_mode; return gd->arch.omap_boot_mode;
} }

View file

@ -24,7 +24,7 @@ u32 spl_boot_device(void)
return 0; return 0;
} }
u32 spl_boot_mode(void) u32 spl_boot_mode(const u32 boot_device)
{ {
switch (spl_boot_device()) { switch (spl_boot_device()) {
case BOOT_DEVICE_MMC1: case BOOT_DEVICE_MMC1:

View file

@ -68,7 +68,7 @@ u32 spl_boot_device(void)
return 0; return 0;
} }
u32 spl_boot_mode(void) u32 spl_boot_mode(const u32 boot_device)
{ {
switch (spl_boot_device()) { switch (spl_boot_device()) {
case BOOT_DEVICE_RAM: case BOOT_DEVICE_RAM:

View file

@ -70,7 +70,7 @@ u32 spl_boot_device(void)
#if defined(CONFIG_SPL_MMC_SUPPORT) #if defined(CONFIG_SPL_MMC_SUPPORT)
/* called from spl_mmc to see type of boot mode for storage (RAW or FAT) */ /* called from spl_mmc to see type of boot mode for storage (RAW or FAT) */
u32 spl_boot_mode(void) u32 spl_boot_mode(const u32 boot_device)
{ {
switch (spl_boot_device()) { switch (spl_boot_device()) {
/* for MMC return either RAW or FAT mode */ /* for MMC return either RAW or FAT mode */

View file

@ -75,7 +75,7 @@ u32 spl_boot_device(void)
} }
#endif #endif
u32 spl_boot_mode(void) u32 spl_boot_mode(const u32 boot_device)
{ {
switch (spl_boot_device()) { switch (spl_boot_device()) {
#ifdef CONFIG_SYS_USE_MMC #ifdef CONFIG_SYS_USE_MMC

View file

@ -45,7 +45,7 @@ void spl_board_init(void)
preloader_console_init(); preloader_console_init();
} }
u32 spl_boot_mode(void) u32 spl_boot_mode(const u32 boot_device)
{ {
return MMCSD_MODE_RAW; return MMCSD_MODE_RAW;
} }

View file

@ -57,7 +57,7 @@ u32 spl_boot_device(void)
} }
#ifdef CONFIG_SPL_MMC_SUPPORT #ifdef CONFIG_SPL_MMC_SUPPORT
u32 spl_boot_mode(void) u32 spl_boot_mode(const u32 boot_device)
{ {
return MMCSD_MODE_RAW; return MMCSD_MODE_RAW;
} }

View file

@ -66,7 +66,7 @@ fallback:
return BOOT_DEVICE_MMC1; return BOOT_DEVICE_MMC1;
} }
u32 spl_boot_mode(void) u32 spl_boot_mode(const u32 boot_device)
{ {
return MMCSD_MODE_RAW; return MMCSD_MODE_RAW;
} }

View file

@ -58,7 +58,7 @@ u32 spl_boot_device(void)
} }
#ifdef CONFIG_SPL_MMC_SUPPORT #ifdef CONFIG_SPL_MMC_SUPPORT
u32 spl_boot_mode(void) u32 spl_boot_mode(const u32 boot_device)
{ {
#if defined(CONFIG_SPL_FAT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT) #if defined(CONFIG_SPL_FAT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT)
return MMCSD_MODE_FS; return MMCSD_MODE_FS;

View file

@ -257,7 +257,7 @@ void spl_board_announce_boot_device(void)
} }
/* No confirmation data available in SPL yet. Hardcode bootmode */ /* No confirmation data available in SPL yet. Hardcode bootmode */
u32 spl_boot_mode(void) u32 spl_boot_mode(const u32 boot_device)
{ {
return MMCSD_MODE_RAW; return MMCSD_MODE_RAW;
} }

View file

@ -77,7 +77,7 @@ u32 spl_boot_device(void)
return mode; return mode;
} }
u32 spl_boot_mode(void) u32 spl_boot_mode(const u32 boot_device)
{ {
struct mmc *mmc; struct mmc *mmc;

View file

@ -69,7 +69,7 @@ u32 spl_boot_device(void)
} }
#ifdef CONFIG_SPL_MMC_SUPPORT #ifdef CONFIG_SPL_MMC_SUPPORT
u32 spl_boot_mode(void) u32 spl_boot_mode(const u32 boot_device)
{ {
return MMCSD_MODE_FS; return MMCSD_MODE_FS;
} }

View file

@ -286,7 +286,7 @@ int spl_mmc_load_image(u32 boot_device)
return err; return err;
} }
boot_mode = spl_boot_mode(); boot_mode = spl_boot_mode(boot_device);
err = -EINVAL; err = -EINVAL;
switch (boot_mode) { switch (boot_mode) {
case MMCSD_MODE_EMMCBOOT: case MMCSD_MODE_EMMCBOOT:

View file

@ -66,7 +66,7 @@ extern struct spl_image_info spl_image;
/* SPL common functions */ /* SPL common functions */
void preloader_console_init(void); void preloader_console_init(void);
u32 spl_boot_device(void); u32 spl_boot_device(void);
u32 spl_boot_mode(void); u32 spl_boot_mode(const u32 boot_device);
void spl_set_header_raw_uboot(void); void spl_set_header_raw_uboot(void);
int spl_parse_image_header(const struct image_header *header); int spl_parse_image_header(const struct image_header *header);
void spl_board_prepare_for_linux(void); void spl_board_prepare_for_linux(void);