On 05/25/2017 10:51 PM, Jaehoon Chung wrote: > Hi Philipp, > > On 05/16/2017 07:16 AM, Philipp Tomsich wrote: >> This introduces the ability to override the environment offets from the >> device tree by setting the following nodes in '/config': >> 'u-boot,mmc-env-offset' - overrides CONFIG_ENV_OFFSET >> 'u-boot,mmc-env-offset-redundant' >> - overrides CONFIG_ENV_OFFSET_REDUND >> >> To keep with the previous logic, the CONFIG_* defines still need to >> be available and the statically defined values become the defaults, >> when the corresponding properties are not set in the device-tree. >> >> Signed-off-by: Philipp Tomsich <philipp.toms...@theobroma-systems.com> >> Acked-by: Simon Glass <s...@chromium.org> > > I'm doing check this patches..after building,,if there is no problem, i will > pick.
Applied to u-boot-mmc. Thanks! Best Regards, Jaehoon Chung > > Thanks! > > Best Regards, > Jaehoon Chung > >> --- >> >> Changes in v4: >> - change the test for OF_CONTROL to use CONFIG_IS_ENABLED to pick up >> the differece between SPL_OF_CONTROL and OF_CONTROL >> >> Changes in v3: >> - changes the config-check to depend on CONFIG_OF_CONTROL to detect >> if 'fdtdec_get_config_int' is available >> >> Changes in v2: None >> >> common/env_mmc.c | 31 +++++++++++++++++++++++++++---- >> 1 file changed, 27 insertions(+), 4 deletions(-) >> >> diff --git a/common/env_mmc.c b/common/env_mmc.c >> index a5d14d4..45d95a1 100644 >> --- a/common/env_mmc.c >> +++ b/common/env_mmc.c >> @@ -10,6 +10,7 @@ >> >> #include <command.h> >> #include <environment.h> >> +#include <fdtdec.h> >> #include <linux/stddef.h> >> #include <malloc.h> >> #include <memalign.h> >> @@ -36,15 +37,37 @@ DECLARE_GLOBAL_DATA_PTR; >> #define CONFIG_ENV_OFFSET 0 >> #endif >> >> -__weak int mmc_get_env_addr(struct mmc *mmc, int copy, u32 *env_addr) >> +#if CONFIG_IS_ENABLED(OF_CONTROL) >> +static inline s64 mmc_offset(int copy) >> { >> - s64 offset; >> + const char *propname = "u-boot,mmc-env-offset"; >> + s64 defvalue = CONFIG_ENV_OFFSET; >> >> - offset = CONFIG_ENV_OFFSET; >> -#ifdef CONFIG_ENV_OFFSET_REDUND >> +#if defined(CONFIG_ENV_OFFSET_REDUND) >> + if (copy) { >> + propname = "u-boot,mmc-env-offset-redundant"; >> + defvalue = CONFIG_ENV_OFFSET_REDUND; >> + } >> +#endif >> + >> + return fdtdec_get_config_int(gd->fdt_blob, propname, defvalue); >> +} >> +#else >> +static inline s64 mmc_offset(int copy) >> +{ >> + s64 offset = CONFIG_ENV_OFFSET; >> + >> +#if defined(CONFIG_ENV_OFFSET_REDUND) >> if (copy) >> offset = CONFIG_ENV_OFFSET_REDUND; >> #endif >> + return offset; >> +} >> +#endif >> + >> +__weak int mmc_get_env_addr(struct mmc *mmc, int copy, u32 *env_addr) >> +{ >> + s64 offset = mmc_offset(copy); >> >> if (offset < 0) >> offset += mmc->capacity; >> > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > https://lists.denx.de/listinfo/u-boot > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot