Le lundi 08 juin 2015 à 23:05 +0200, Paul Kocialkowski a écrit :
> This allows using only one of either raw or fs mode for SPL mmc boot, without
> the need to have provisions for the other. In particular, a device may have
> U-Boot installed on a file system on the mmc, without ever needing to read
> U-Boot from raw memory. Thus, there is no reason to provide a sector or
> partition for raw mode. This allows this behaviour and still provides a robust
> fallback mechanism in case provisions for both modes are defined.

For reference, PATCH 1/2 is  spl: spl_mmc: Minor cosmetics, that I sent
last week. This one goes on top of it.

> Signed-off-by: Paul Kocialkowski <[email protected]>
> ---
>  common/spl/spl_mmc.c | 22 +++++++++++++++-------
>  1 file changed, 15 insertions(+), 7 deletions(-)
> 
> diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
> index f5ac844..552f80d 100644
> --- a/common/spl/spl_mmc.c
> +++ b/common/spl/spl_mmc.c
> @@ -130,19 +130,21 @@ void spl_mmc_load_image(void)
>                               return;
>               }
>  #endif
> -#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION
> +#if defined(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION)
>               err = mmc_load_image_raw_partition(mmc,
>                       CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION);
> -#else
> +             if (!err)
> +                     return;
> +#elif defined(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR)
>               err = mmc_load_image_raw_sector(mmc,
>                       CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR);
> -#endif
>               if (!err)
>                       return;
> -#if defined(CONFIG_SPL_FAT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT)
> +#endif
>       case MMCSD_MODE_FS:
>               debug("spl: mmc boot mode: fs\n");
>  
> +#ifdef CONFIG_SYS_MMCSD_FS_BOOT_PARTITION
>  #ifdef CONFIG_SPL_FAT_SUPPORT
>  #ifdef CONFIG_SPL_OS_BOOT
>               if (!spl_start_uboot()) {
> @@ -152,12 +154,14 @@ void spl_mmc_load_image(void)
>                               return;
>               }
>  #endif
> +#ifdef CONFIG_SPL_FS_LOAD_PAYLOAD_NAME
>               err = spl_load_image_fat(&mmc->block_dev,
>                                        CONFIG_SYS_MMCSD_FS_BOOT_PARTITION,
>                                        CONFIG_SPL_FS_LOAD_PAYLOAD_NAME);
>               if (!err)
>                       return;
>  #endif
> +#endif
>  #ifdef CONFIG_SPL_EXT_SUPPORT
>  #ifdef CONFIG_SPL_OS_BOOT
>               if (!spl_start_uboot()) {
> @@ -167,6 +171,7 @@ void spl_mmc_load_image(void)
>                               return;
>               }
>  #endif
> +#ifdef CONFIG_SPL_FS_LOAD_PAYLOAD_NAME
>               err = spl_load_image_ext(&mmc->block_dev,
>                                        CONFIG_SYS_MMCSD_FS_BOOT_PARTITION,
>                                        CONFIG_SPL_FS_LOAD_PAYLOAD_NAME);
> @@ -174,6 +179,7 @@ void spl_mmc_load_image(void)
>                       return;
>  #endif
>  #endif
> +#endif
>  #ifdef CONFIG_SUPPORT_EMMC_BOOT
>       case MMCSD_MODE_EMMCBOOT:
>               /*
> @@ -200,16 +206,18 @@ void spl_mmc_load_image(void)
>                               return;
>               }
>  #endif
> -#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION
> +#if defined(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION)
>               err = mmc_load_image_raw_partition(mmc,
>                       CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION);
> -#else
> +             if (!err)
> +                     return;
> +#elif defined(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR)
>               err = mmc_load_image_raw_sector(mmc,
>                       CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR);
> -#endif
>               if (!err)
>                       return;
>  #endif
> +#endif
>       case MMCSD_MODE_UNDEFINED:
>       default:
>  #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to