]> git.ipfire.org Git - people/ms/u-boot.git/commitdiff
common: Pass the boot device into spl_boot_mode()
authorMarek Vasut <marex@denx.de>
Sat, 14 May 2016 21:42:07 +0000 (23:42 +0200)
committerAndreas Bießmann <andreas@biessmann.org>
Sun, 26 Jun 2016 18:17:22 +0000 (20:17 +0200)
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>
16 files changed:
arch/arm/cpu/arm1136/mx35/generic.c
arch/arm/cpu/armv7/ls102xa/spl.c
arch/arm/cpu/armv7/omap-common/boot-common.c
arch/arm/cpu/armv8/fsl-layerscape/spl.c
arch/arm/cpu/armv8/zynqmp/spl.c
arch/arm/imx-common/spl.c
arch/arm/mach-at91/spl.c
arch/arm/mach-davinci/spl.c
arch/arm/mach-mvebu/spl.c
arch/arm/mach-rockchip/rk3288-board-spl.c
arch/arm/mach-socfpga/spl.c
arch/arm/mach-sunxi/board.c
arch/arm/mach-uniphier/boot-mode/boot-mode.c
arch/arm/mach-zynq/spl.c
common/spl/spl_mmc.c
include/spl.h

index bc98edda7a2f49f13bd3a3fa9059bf267e7aceb9..068d93eeec1dbb8b5acdfc6d376d5daf5fcbc6c1 100644 (file)
@@ -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:
index 02890584a5a1e71e5be75811c5fd932ca3270535..1246eed2ca006606d6bddce500f7458d86831dfa 100644 (file)
@@ -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:
index 8333b200015fb77e522852b4d08b00701560adbf..60c367a2020110b0a44d584f5482887d3a9bd307 100644 (file)
@@ -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;
 }
index 5883c002be13470aadf1289b59b9b1057d6ace35..19e34fade28f15eef3c6cba81a4e1b52a0e530dc 100644 (file)
@@ -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:
index e3e2a4fb5ad3dcd3ec6f60f4a5d54938e8855c8b..867d2b25a88d67d86873f346a899f77f4fe2a0bb 100644 (file)
@@ -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:
index caa45cfabf5b9231b535fb78be5b1637bbbe7044..bdcda7de937f0673392f5007f4377b597747fc0a 100644 (file)
@@ -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 */
index f255b59195e6da69e704192d65308143fd637b2b..ad6a597c7317e7c000c9f9ba8d1707e7518d0b57 100644 (file)
@@ -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
index 49349da1792972e7783fe309858768bd8500879b..0aeaa7d8b7a0a67d849cc6e89a957cc97d7e1d61 100644 (file)
@@ -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;
 }
index ac5bb2c20926fce762fd40b91fd9f466f9b1707e..e1c9cdba5041b5c1a2b90a947d608aa5090979c4 100644 (file)
@@ -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;
 }
index e133cca57ac918523fa6f40c8980a8353a682ad5..15f1266a7bf4380cdb195fa3810b0ded970c735e 100644 (file)
@@ -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;
 }
index 98c16a000d83375b4b963511a802ab945a4f5c66..fec4c7a991019725b4523c1d1b0099abc973d453 100644 (file)
@@ -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;
index bd15b9bfb056c217c68b956a5aa173e037b3a8e7..66e028ec1467d657a1c408f6bd80b9b8dd50cc45 100644 (file)
@@ -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;
 }
index d34b9af9a18700b4d4dcfc643d442bb9c5867bc8..1d531402d5e429cf4d0b9106c57aefbc0683cb63 100644 (file)
@@ -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;
 
index 6c5415ac8f5360a936f2219e512f2258b8778061..e8added155672f0905b3740b7ea6e55e605f7e09 100644 (file)
@@ -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;
 }
index ef8583a1a64981ccdf44423b9bf257c4b117d5c5..c44f1b5dc84299639802e3a306f4a7ca3603ba68 100644 (file)
@@ -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:
index 0ae160547d14eb6b38ec8defb605a34f7d988150..23604667fa72d37d2b51fb50725a1f95ce3a515b 100644 (file)
@@ -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);