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 <[email protected]> >> >> 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 <[email protected]> >> --- >> 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

