[U-Boot] [PATCH] env_mmc: Allow SPL to use any MMC device to load/save the environment
Tom Rini
trini at konsulko.com
Tue Feb 14 19:52:52 CET 2017
On Tue, Feb 14, 2017 at 02:16:13PM +0100, Jean-Jacques Hiblot wrote:
> Hi Tom,
>
> Have you had a chance to look at the patch below?
It looks fine but was too close to the release window (given the
potential impact) to merge. Thanks!
>
> Jean-Jacques
>
>
> On 01/02/2017 11:26, Jean-Jacques Hiblot wrote:
> >SPL has been restricted to use only dev 0 based on the assumption that only
> >one MMC device is registered. This is not always the case and many
> >platforms now register several devices as expected by the spl mmc boot code
> >For those platform SPL_ENV_SUPPORT is broken if dev is forced to 0.
> >
> >A word of warning: this commit may break SPL_ENV_SUPPORT on platforms that
> >do not register the same MMC controllers in SPL and in u-boot (mostly iMX6
> >based platforms). Fortunately none of those activate SPL_ENV_SUPPORT in
> >their default configuration.
> >
> >Signed-off-by: Jean-Jacques Hiblot <jjhiblot at ti.com>
> >---
> > common/env_mmc.c | 15 ---------------
> > 1 file changed, 15 deletions(-)
> >
> >diff --git a/common/env_mmc.c b/common/env_mmc.c
> >index 16f6a17..a5d14d4 100644
> >--- a/common/env_mmc.c
> >+++ b/common/env_mmc.c
> >@@ -82,10 +82,6 @@ static int mmc_set_env_part(struct mmc *mmc)
> > int dev = mmc_get_env_dev();
> > int ret = 0;
> >-#ifdef CONFIG_SPL_BUILD
> >- dev = 0;
> >-#endif
> >-
> > env_mmc_orig_hwpart = mmc_get_blk_desc(mmc)->hwpart;
> > ret = blk_select_hwpart_devnum(IF_TYPE_MMC, dev, part);
> > if (ret)
> >@@ -116,9 +112,6 @@ static void fini_mmc_for_env(struct mmc *mmc)
> > #ifdef CONFIG_SYS_MMC_ENV_PART
> > int dev = mmc_get_env_dev();
> >-#ifdef CONFIG_SPL_BUILD
> >- dev = 0;
> >-#endif
> > blk_select_hwpart_devnum(IF_TYPE_MMC, dev, env_mmc_orig_hwpart);
> > #endif
> > }
> >@@ -223,10 +216,6 @@ void env_relocate_spec(void)
> > ALLOC_CACHE_ALIGN_BUFFER(env_t, tmp_env1, 1);
> > ALLOC_CACHE_ALIGN_BUFFER(env_t, tmp_env2, 1);
> >-#ifdef CONFIG_SPL_BUILD
> >- dev = 0;
> >-#endif
> >-
> > mmc = find_mmc_device(dev);
> > errmsg = init_mmc_for_env(mmc);
> >@@ -306,10 +295,6 @@ void env_relocate_spec(void)
> > int dev = mmc_get_env_dev();
> > const char *errmsg;
> >-#ifdef CONFIG_SPL_BUILD
> >- dev = 0;
> >-#endif
> >-
> > mmc = find_mmc_device(dev);
> > errmsg = init_mmc_for_env(mmc);
>
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170214/c22a2023/attachment.sig>
More information about the U-Boot
mailing list