[Uboot-stm32] [PATCH 1/3] env: mmc: allow support of mmc_get_env_dev with OF_CONTROL

Patrice CHOTARD patrice.chotard at st.com
Tue Apr 21 11:30:33 CEST 2020


Hi Tom

I just noticed that this env series is delegated to Peng Fan (mmc maintainer) instead of Joe Hershberger (env maintainer).

Is there any reason for this or perhaps is it just an error ?

Thanks

Patrice

On 3/19/20 10:59 AM, Patrick Delaunay wrote:
> Use the weak function mmc_get_env_dev in mmc_offset_try_partition
> function to allow dynamic selection of mmc device to use
> and no more use directly the define CONFIG_SYS_MMC_ENV_DEV.
>
> Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
> ---
>
>  env/mmc.c | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/env/mmc.c b/env/mmc.c
> index 251ad07d7c..902cca23ad 100644
> --- a/env/mmc.c
> +++ b/env/mmc.c
> @@ -24,14 +24,25 @@
>  
>  DECLARE_GLOBAL_DATA_PTR;
>  
> +#if !defined(CONFIG_SYS_MMC_ENV_DEV)
> +#define CONFIG_SYS_MMC_ENV_DEV 0
> +#endif
> +
> +__weak int mmc_get_env_dev(void)
> +{
> +	return CONFIG_SYS_MMC_ENV_DEV;
> +}
> +
>  #if CONFIG_IS_ENABLED(OF_CONTROL)
>  static inline int mmc_offset_try_partition(const char *str, s64 *val)
>  {
>  	disk_partition_t info;
>  	struct blk_desc *desc;
>  	int len, i, ret;
> +	char dev_str[4];
>  
> -	ret = blk_get_device_by_str("mmc", STR(CONFIG_SYS_MMC_ENV_DEV), &desc);
> +	snprintf(dev_str, sizeof(dev_str), "%d", mmc_get_env_dev());
> +	ret = blk_get_device_by_str("mmc", dev_str, &desc);
>  	if (ret < 0)
>  		return (ret);
>  
> @@ -114,11 +125,6 @@ __weak int mmc_get_env_addr(struct mmc *mmc, int copy, u32 *env_addr)
>  	return 0;
>  }
>  
> -__weak int mmc_get_env_dev(void)
> -{
> -	return CONFIG_SYS_MMC_ENV_DEV;
> -}
> -
>  #ifdef CONFIG_SYS_MMC_ENV_PART
>  __weak uint mmc_get_env_part(struct mmc *mmc)
>  {


More information about the U-Boot mailing list