[U-Boot] [PATCH 1/8] dm: mmc: Don't re-init when accessing environment
Jean-Jacques Hiblot
jjhiblot at ti.com
Mon Apr 24 08:55:12 UTC 2017
Hi Simon,
On 24/04/2017 04:02, Simon Glass wrote:
> With driver model MMC is probed automatically when needed. We should not
> re-init MMC each time.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> common/env_mmc.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/common/env_mmc.c b/common/env_mmc.c
> index a5d14d448c..1611886e22 100644
> --- a/common/env_mmc.c
> +++ b/common/env_mmc.c
> @@ -98,9 +98,10 @@ static const char *init_mmc_for_env(struct mmc *mmc)
> if (!mmc)
> return "!No MMC card found";
>
> +#ifndef CONFIG_BLK
> if (mmc_init(mmc))
> return "!MMC init failed";
> -
> +#endif
I'm not convinced by this. mmc_init() is the starting point of the MMC
device initialization process and it must be called somehow before
accessing the device and most probe() functions do not call mmc_init().
The sandbox driver does it, but I'm not sure it's the right way because
the MMC device initialization process takes a long time. I'd rather have
the device initialized only when it's accessed for the first time not
when it's probed (especially in the SPL)
Jean-Jacques
> if (mmc_set_env_part(mmc))
> return "!MMC partition switch failed";
>
More information about the U-Boot
mailing list