mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
POST: add progress API
Add POST progress API implemented as weak calls before and after each call to the POST test callback in the post_run_single routine of the post.c file. Signed-off-by: Michael Zaidman <michael.zaidman@gmail.com> Acked-by: Detlev Zundel <dzu@denx.de>
This commit is contained in:
parent
47ab5ad145
commit
e070a56c77
2 changed files with 20 additions and 2 deletions
|
@ -53,6 +53,11 @@
|
|||
|
||||
#define POST_FAIL_SAVE 0x80
|
||||
|
||||
#define POST_BEFORE 1
|
||||
#define POST_AFTER 0
|
||||
#define POST_PASSED 1
|
||||
#define POST_FAILED 0
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
struct post_test {
|
||||
|
|
17
post/post.c
17
post/post.c
|
@ -231,6 +231,12 @@ static void post_get_flags (int *test_flags)
|
|||
}
|
||||
}
|
||||
|
||||
void __show_post_progress (unsigned int test_num, int before, int result)
|
||||
{
|
||||
}
|
||||
void show_post_progress (unsigned int, int, int)
|
||||
__attribute__((weak, alias("__show_post_progress")));
|
||||
|
||||
static int post_run_single (struct post_test *test,
|
||||
int test_flags, int flags, unsigned int i)
|
||||
{
|
||||
|
@ -248,13 +254,18 @@ static int post_run_single (struct post_test *test,
|
|||
if (test_flags & POST_PREREL)
|
||||
post_log_mark_start ( test->testid );
|
||||
else
|
||||
post_log ("POST %s ", test->cmd);
|
||||
post_log ("POST %s ", test->cmd);
|
||||
}
|
||||
|
||||
show_post_progress(i, POST_BEFORE, POST_FAILED);
|
||||
|
||||
if (test_flags & POST_PREREL) {
|
||||
if ((*test->test) (flags) == 0)
|
||||
if ((*test->test) (flags) == 0) {
|
||||
post_log_mark_succ ( test->testid );
|
||||
show_post_progress(i, POST_AFTER, POST_PASSED);
|
||||
}
|
||||
else {
|
||||
show_post_progress(i, POST_AFTER, POST_FAILED);
|
||||
if (test_flags & POST_CRITICAL)
|
||||
gd->flags |= GD_FLG_POSTFAIL;
|
||||
if (test_flags & POST_STOP)
|
||||
|
@ -264,6 +275,7 @@ static int post_run_single (struct post_test *test,
|
|||
if ((*test->test) (flags) != 0) {
|
||||
post_log ("FAILED\n");
|
||||
show_boot_progress (-32);
|
||||
show_post_progress(i, POST_AFTER, POST_FAILED);
|
||||
if (test_flags & POST_CRITICAL)
|
||||
gd->flags |= GD_FLG_POSTFAIL;
|
||||
if (test_flags & POST_STOP)
|
||||
|
@ -271,6 +283,7 @@ static int post_run_single (struct post_test *test,
|
|||
}
|
||||
else
|
||||
post_log ("PASSED\n");
|
||||
show_post_progress(i, POST_AFTER, POST_PASSED);
|
||||
}
|
||||
|
||||
if ((test_flags & POST_REBOOT) && !(flags & POST_MANUAL)) {
|
||||
|
|
Loading…
Reference in a new issue