[PATCH 2/4] spl: mmc: Account for SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE being a choice

Jan Kiszka jan.kiszka at siemens.com
Tue Nov 25 07:48:02 CET 2025


On 25.11.25 04:58, Chee, Tien Fong wrote:
> Hi Jan,
> 
> On 15/11/2025 1:13 am, Jan Kiszka wrote:
>> [CAUTION: This email is from outside your organization. Unless you
>> trust the sender, do not click on links or open attachments as it may
>> be a fraudulent email attempting to steal your information and/or
>> compromise your computer.]
>>
>> From: Jan Kiszka <jan.kiszka at siemens.com>
>>
>> Add SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE as condition where so
>> far SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION was enough - though often
>> by chance as both options were enabled.
>>
>> We also need to explicitly select SPL_LOAD_BLOCK when UES_PARTITION_TYPE
>> is enabled, just like the other choices do.
>>
>> Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options")
>> Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
>> ---
>>   common/spl/Kconfig   |  1 +
>>   common/spl/spl_mmc.c | 16 ++++++++--------
>>   include/part.h       |  3 ++-
>>   3 files changed, 11 insertions(+), 9 deletions(-)
>>
>> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
>> index 8dade2b501e..d24466b0c66 100644
>> --- a/common/spl/Kconfig
>> +++ b/common/spl/Kconfig
>> @@ -573,6 +573,7 @@ config SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
>>
>>   config SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
>>          bool "MMC raw mode: by partition type"
>> +       select SPL_LOAD_BLOCK
>>          depends on DOS_PARTITION
>>          help
>>            Use partition type for specifying U-Boot partition on MMC/
>> SD in
>> diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
>> index 467114f8d9a..09e881c464c 100644
>> --- a/common/spl/spl_mmc.c
>> +++ b/common/spl/spl_mmc.c
>> @@ -106,7 +106,8 @@ static int spl_mmc_find_device(struct mmc **mmcp,
>> int mmc_dev)
>>          return 0;
>>   }
>>
>> -#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
>> +#if defined(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION) || \
>> +    defined(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE)
>>   static int mmc_load_image_raw_partition(struct spl_image_info
>> *spl_image,
>>                                          struct spl_boot_device *bootdev,
>>                                          struct mmc *mmc, int partition,
>> @@ -415,19 +416,18 @@ int spl_mmc_load(struct spl_image_info *spl_image,
>>
>>                  raw_sect = spl_mmc_get_uboot_raw_sector(mmc, raw_sect);
>>
>> -#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
>> -               ret = mmc_load_image_raw_partition(spl_image, bootdev,
>> -                                                  mmc, raw_part,
>> -                                                  raw_sect);
>> -               if (!ret)
>> -                       return 0;
>> -#endif
>>   #ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
>>                  ret = mmc_load_image_raw_sector(spl_image, bootdev, mmc,
>>                                                  raw_sect +
>>                                                 
>> spl_mmc_raw_uboot_offset(part));
>>                  if (!ret)
>>                          return 0;
>> +#else
> 
> 
> There is a build issue when CONFIG_SYS_MMCSD_RAW_MODE is disabled.
> 

Let me check, but if you can disable CONFIG_SYS_MMCSD_RAW_MODE but leave
any of CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_* enabled, we had more
problems here.

Jan

-- 
Siemens AG, Foundational Technologies
Linux Expert Center


More information about the U-Boot mailing list