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:
		
							parent
							
								
									4141e85bcd
								
							
						
					
					
						commit
						2b1cdafa9f
					
				|  | @ -526,7 +526,7 @@ u32 spl_boot_device(void) | |||
| } | ||||
| 
 | ||||
| #ifdef CONFIG_SPL_BUILD | ||||
| u32 spl_boot_mode(void) | ||||
| u32 spl_boot_mode(const u32 boot_device) | ||||
| { | ||||
| 	switch (spl_boot_device()) { | ||||
| 	case BOOT_DEVICE_MMC1: | ||||
|  |  | |||
|  | @ -15,7 +15,7 @@ u32 spl_boot_device(void) | |||
| 	return BOOT_DEVICE_NAND; | ||||
| } | ||||
| 
 | ||||
| u32 spl_boot_mode(void) | ||||
| u32 spl_boot_mode(const u32 boot_device) | ||||
| { | ||||
| 	switch (spl_boot_device()) { | ||||
| 	case BOOT_DEVICE_MMC1: | ||||
|  |  | |||
|  | @ -166,7 +166,7 @@ u32 spl_boot_device(void) | |||
| 	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; | ||||
| } | ||||
|  |  | |||
|  | @ -24,7 +24,7 @@ u32 spl_boot_device(void) | |||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| u32 spl_boot_mode(void) | ||||
| u32 spl_boot_mode(const u32 boot_device) | ||||
| { | ||||
| 	switch (spl_boot_device()) { | ||||
| 	case BOOT_DEVICE_MMC1: | ||||
|  |  | |||
|  | @ -68,7 +68,7 @@ u32 spl_boot_device(void) | |||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| u32 spl_boot_mode(void) | ||||
| u32 spl_boot_mode(const u32 boot_device) | ||||
| { | ||||
| 	switch (spl_boot_device()) { | ||||
| 	case BOOT_DEVICE_RAM: | ||||
|  |  | |||
|  | @ -70,7 +70,7 @@ u32 spl_boot_device(void) | |||
| 
 | ||||
| #if defined(CONFIG_SPL_MMC_SUPPORT) | ||||
| /* 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()) { | ||||
| 	/* for MMC return either RAW or FAT mode */ | ||||
|  |  | |||
|  | @ -75,7 +75,7 @@ u32 spl_boot_device(void) | |||
| } | ||||
| #endif | ||||
| 
 | ||||
| u32 spl_boot_mode(void) | ||||
| u32 spl_boot_mode(const u32 boot_device) | ||||
| { | ||||
| 	switch (spl_boot_device()) { | ||||
| #ifdef CONFIG_SYS_USE_MMC | ||||
|  |  | |||
|  | @ -45,7 +45,7 @@ void spl_board_init(void) | |||
| 	preloader_console_init(); | ||||
| } | ||||
| 
 | ||||
| u32 spl_boot_mode(void) | ||||
| u32 spl_boot_mode(const u32 boot_device) | ||||
| { | ||||
| 	return MMCSD_MODE_RAW; | ||||
| } | ||||
|  |  | |||
|  | @ -57,7 +57,7 @@ u32 spl_boot_device(void) | |||
| } | ||||
| 
 | ||||
| #ifdef CONFIG_SPL_MMC_SUPPORT | ||||
| u32 spl_boot_mode(void) | ||||
| u32 spl_boot_mode(const u32 boot_device) | ||||
| { | ||||
| 	return MMCSD_MODE_RAW; | ||||
| } | ||||
|  |  | |||
|  | @ -66,7 +66,7 @@ fallback: | |||
| 	return BOOT_DEVICE_MMC1; | ||||
| } | ||||
| 
 | ||||
| u32 spl_boot_mode(void) | ||||
| u32 spl_boot_mode(const u32 boot_device) | ||||
| { | ||||
| 	return MMCSD_MODE_RAW; | ||||
| } | ||||
|  |  | |||
|  | @ -58,7 +58,7 @@ u32 spl_boot_device(void) | |||
| } | ||||
| 
 | ||||
| #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) | ||||
| 	return MMCSD_MODE_FS; | ||||
|  |  | |||
|  | @ -257,7 +257,7 @@ void spl_board_announce_boot_device(void) | |||
| } | ||||
| 
 | ||||
| /* 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; | ||||
| } | ||||
|  |  | |||
|  | @ -77,7 +77,7 @@ u32 spl_boot_device(void) | |||
| 	return mode; | ||||
| } | ||||
| 
 | ||||
| u32 spl_boot_mode(void) | ||||
| u32 spl_boot_mode(const u32 boot_device) | ||||
| { | ||||
| 	struct mmc *mmc; | ||||
| 
 | ||||
|  |  | |||
|  | @ -69,7 +69,7 @@ u32 spl_boot_device(void) | |||
| } | ||||
| 
 | ||||
| #ifdef CONFIG_SPL_MMC_SUPPORT | ||||
| u32 spl_boot_mode(void) | ||||
| u32 spl_boot_mode(const u32 boot_device) | ||||
| { | ||||
| 	return MMCSD_MODE_FS; | ||||
| } | ||||
|  |  | |||
|  | @ -286,7 +286,7 @@ int spl_mmc_load_image(u32 boot_device) | |||
| 		return err; | ||||
| 	} | ||||
| 
 | ||||
| 	boot_mode = spl_boot_mode(); | ||||
| 	boot_mode = spl_boot_mode(boot_device); | ||||
| 	err = -EINVAL; | ||||
| 	switch (boot_mode) { | ||||
| 	case MMCSD_MODE_EMMCBOOT: | ||||
|  |  | |||
|  | @ -66,7 +66,7 @@ extern struct spl_image_info spl_image; | |||
| /* SPL common functions */ | ||||
| void preloader_console_init(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); | ||||
| int spl_parse_image_header(const struct image_header *header); | ||||
| void spl_board_prepare_for_linux(void); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue