Mask macro PART_ACCESS_MASK filter out access bits of emmc register and macro EXT_CSD_EXTRACT_BOOT_PART() extracts boot part bits of emmc register. So use EXT_CSD_EXTRACT_BOOT_PART() when extracting boot partition.
Signed-off-by: Pali Rohár <p...@kernel.org> --- board/purism/librem5/librem5.c | 2 +- cmd/mvebu/bubt.c | 3 +-- common/spl/spl_mmc.c | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/board/purism/librem5/librem5.c b/board/purism/librem5/librem5.c index caa02655fc49..386ed1b4fb22 100644 --- a/board/purism/librem5/librem5.c +++ b/board/purism/librem5/librem5.c @@ -41,7 +41,7 @@ int board_early_init_f(void) #if IS_ENABLED(CONFIG_LOAD_ENV_FROM_MMC_BOOT_PARTITION) uint board_mmc_get_env_part(struct mmc *mmc) { - uint part = (mmc->part_config >> 3) & PART_ACCESS_MASK; + uint part = EXT_CSD_EXTRACT_BOOT_PART(mmc->part_config); if (part == 7) part = 0; diff --git a/cmd/mvebu/bubt.c b/cmd/mvebu/bubt.c index 49797b23144b..37ff9c455228 100644 --- a/cmd/mvebu/bubt.c +++ b/cmd/mvebu/bubt.c @@ -223,8 +223,7 @@ static int mmc_burn_image(size_t image_size) orig_part = mmc->block_dev.hwpart; #endif - part = (mmc->part_config >> 3) & PART_ACCESS_MASK; - + part = EXT_CSD_EXTRACT_BOOT_PART(mmc->part_config); if (part == 7) part = 0; diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index bd5e6adf1ea6..a0722167044f 100644 --- a/common/spl/spl_mmc.c +++ b/common/spl/spl_mmc.c @@ -378,7 +378,7 @@ int default_spl_mmc_emmc_boot_partition(struct mmc *mmc) * 1 and 2 match up to boot0 / boot1 and 7 is user data * which is the first physical partition (0). */ - part = (mmc->part_config >> 3) & PART_ACCESS_MASK; + part = EXT_CSD_EXTRACT_BOOT_PART(mmc->part_config); if (part == 7) part = 0; #endif -- 2.20.1