From mboxrd@z Thu Jan 1 00:00:00 1970 From: Valentin Longchamp Date: Thu, 1 Sep 2011 17:39:22 +0200 Subject: [U-Boot] [PATCH v2 3/8] POST: make env test flags fetching optional In-Reply-To: <1314891567-6476-1-git-send-email-valentin.longchamp@keymile.com> References: <1314891567-6476-1-git-send-email-valentin.longchamp@keymile.com> Message-ID: <1314891567-6476-4-git-send-email-valentin.longchamp@keymile.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Some boards have the environment variables defined in a slow EEPROM. post_run accesses these environment variables to define which tests have to be run (in post_get_flags). This is very slow before the code relocation on some boards with a slow I2C EEPROM for environement variables. This patch adds a config option to skip the fetching of the test flags in the environment variables. The test flags assigned to the tests then only are the ones statically defined for the test in post/tests.c. Signed-off-by: Valentin Longchamp Signed-off-by: Holger Brunck --- post/post.c | 20 +++++++++++++++----- 1 files changed, 15 insertions(+), 5 deletions(-) diff --git a/post/post.c b/post/post.c index 03c521f..8b2cb3c 100644 --- a/post/post.c +++ b/post/post.c @@ -170,7 +170,8 @@ static void post_bootmode_test_off (void) post_word_store (word); } -static void post_get_flags (int *test_flags) +#ifndef CONFIG_POST_SKIP_ENV_FLAGS +static void post_get_env_flags(int *test_flags) { int flag[] = { POST_POWERON, POST_NORMAL, POST_SLOWTEST, POST_CRITICAL }; @@ -183,10 +184,6 @@ static void post_get_flags (int *test_flags) int last; int i, j; - for (j = 0; j < post_list_size; j++) { - test_flags[j] = post_list[j].flags; - } - for (i = 0; i < varnum; i++) { if (getenv_f(var[i], list, sizeof (list)) <= 0) continue; @@ -224,6 +221,19 @@ static void post_get_flags (int *test_flags) name = s + 1; } } +} +#endif + +static void post_get_flags(int *test_flags) +{ + int j; + + for (j = 0; j < post_list_size; j++) + test_flags[j] = post_list[j].flags; + +#ifndef CONFIG_POST_SKIP_ENV_FLAGS + post_get_env_flags(test_flags); +#endif for (j = 0; j < post_list_size; j++) { if (test_flags[j] & POST_POWERON) { -- 1.7.1