mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 06:31:31 +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_FAIL_SAVE 0x80
|
||||||
|
|
||||||
|
#define POST_BEFORE 1
|
||||||
|
#define POST_AFTER 0
|
||||||
|
#define POST_PASSED 1
|
||||||
|
#define POST_FAILED 0
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
#ifndef __ASSEMBLY__
|
||||||
|
|
||||||
struct post_test {
|
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,
|
static int post_run_single (struct post_test *test,
|
||||||
int test_flags, int flags, unsigned int i)
|
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)
|
if (test_flags & POST_PREREL)
|
||||||
post_log_mark_start ( test->testid );
|
post_log_mark_start ( test->testid );
|
||||||
else
|
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_flags & POST_PREREL) {
|
||||||
if ((*test->test) (flags) == 0)
|
if ((*test->test) (flags) == 0) {
|
||||||
post_log_mark_succ ( test->testid );
|
post_log_mark_succ ( test->testid );
|
||||||
|
show_post_progress(i, POST_AFTER, POST_PASSED);
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
|
show_post_progress(i, POST_AFTER, POST_FAILED);
|
||||||
if (test_flags & POST_CRITICAL)
|
if (test_flags & POST_CRITICAL)
|
||||||
gd->flags |= GD_FLG_POSTFAIL;
|
gd->flags |= GD_FLG_POSTFAIL;
|
||||||
if (test_flags & POST_STOP)
|
if (test_flags & POST_STOP)
|
||||||
|
@ -264,6 +275,7 @@ static int post_run_single (struct post_test *test,
|
||||||
if ((*test->test) (flags) != 0) {
|
if ((*test->test) (flags) != 0) {
|
||||||
post_log ("FAILED\n");
|
post_log ("FAILED\n");
|
||||||
show_boot_progress (-32);
|
show_boot_progress (-32);
|
||||||
|
show_post_progress(i, POST_AFTER, POST_FAILED);
|
||||||
if (test_flags & POST_CRITICAL)
|
if (test_flags & POST_CRITICAL)
|
||||||
gd->flags |= GD_FLG_POSTFAIL;
|
gd->flags |= GD_FLG_POSTFAIL;
|
||||||
if (test_flags & POST_STOP)
|
if (test_flags & POST_STOP)
|
||||||
|
@ -271,6 +283,7 @@ static int post_run_single (struct post_test *test,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
post_log ("PASSED\n");
|
post_log ("PASSED\n");
|
||||||
|
show_post_progress(i, POST_AFTER, POST_PASSED);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((test_flags & POST_REBOOT) && !(flags & POST_MANUAL)) {
|
if ((test_flags & POST_REBOOT) && !(flags & POST_MANUAL)) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue