Hi Jean-Jacques, On 24 April 2017 at 02:55, Jean-Jacques Hiblot <jjhib...@ti.com> wrote: > 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 <s...@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)
Yes I would like that too. One option is to add an init() method to mmc and call that when the block device is probed. > > Jean-Jacques > > >> if (mmc_set_env_part(mmc)) >> return "!MMC partition switch failed"; >> > > Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot