[U-Boot] [PATCH v4 3/9] initcall: Display error number when an error occurs

Simon Glass
2014-10-02T01:57:22Z

Now that some initcall functions return a useful error number, display it
when something goes wrong.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
---

Changes in v4: None
Changes in v3: None
Changes in v2:
- Add patch to display error number when an error occurs in initcall

lib/initcall.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/lib/initcall.c b/lib/initcall.c
index 7597bad..39f4b3f 100644
--- a/lib/initcall.c
+++ b/lib/initcall.c
@@ -15,14 +15,16 @@ int initcall_run_list(const init_fnc_t init_sequence[])

for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
unsigned long reloc_ofs = 0;
+ int ret;

if (gd->flags & GD_FLG_RELOC)
reloc_ofs = gd->reloc_off;
debug("initcall: %p\n", (char *)*init_fnc_ptr - reloc_ofs);
- if ((*init_fnc_ptr)()) {
- printf("initcall sequence %p failed at call %p\n",
+ ret = (*init_fnc_ptr)();
+ if (ret) {
+ printf("initcall sequence %p failed at call %p (err=%d)\n",
init_sequence,
- (char *)*init_fnc_ptr - reloc_ofs);
+ (char *)*init_fnc_ptr - reloc_ofs, ret);
return -1;
}
}
--
2.1.0.rc2.206.gedb03e5