summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2024-07-04 09:25:51 -0600
committerTom Rini <[email protected]>2024-07-04 09:25:51 -0600
commite24053d8fb42c909b470e33f19ac71fd718133ce (patch)
treeb69fd2a2ee983403d9ea52b928632dbac3eaff03 /lib
parent0f073e022ddc5070e5df1d053e4bdc1874fbcc0f (diff)
parent4a8a54c3f4202482ec4f24a117afc38cf2c0c051 (diff)
Merge patch series "testb: Various tweaks and fixes for Labgrid"
Simon Glass <[email protected]> says: This series includes a number of mostly unrelated changes which are in service of running U-Boot on a lab using Labgrid.
Diffstat (limited to 'lib')
-rw-r--r--lib/initcall.c6
-rw-r--r--lib/smbios.c10
2 files changed, 12 insertions, 4 deletions
diff --git a/lib/initcall.c b/lib/initcall.c
index c8e2b0f6a38..2686b9aed5c 100644
--- a/lib/initcall.c
+++ b/lib/initcall.c
@@ -49,13 +49,14 @@ static int initcall_is_event(init_fnc_t func)
*/
int initcall_run_list(const init_fnc_t init_sequence[])
{
- ulong reloc_ofs = calc_reloc_ofs();
+ ulong reloc_ofs;
const init_fnc_t *ptr;
enum event_t type;
init_fnc_t func;
int ret = 0;
for (ptr = init_sequence; func = *ptr, func; ptr++) {
+ reloc_ofs = calc_reloc_ofs();
type = initcall_is_event(func);
if (type) {
@@ -84,7 +85,8 @@ int initcall_run_list(const init_fnc_t init_sequence[])
sprintf(buf, "event %d/%s", type,
event_type_name(type));
} else {
- sprintf(buf, "call %p", func);
+ sprintf(buf, "call %p",
+ (char *)func - reloc_ofs);
}
printf("initcall failed at %s (err=%dE)\n", buf, ret);
diff --git a/lib/smbios.c b/lib/smbios.c
index fb6eaf1d5ca..4126466e34a 100644
--- a/lib/smbios.c
+++ b/lib/smbios.c
@@ -5,6 +5,8 @@
* Adapted from coreboot src/arch/x86/smbios.c
*/
+#define LOG_CATEGORY LOGC_BOARD
+
#include <dm.h>
#include <env.h>
#include <linux/stringify.h>
@@ -596,8 +598,12 @@ ulong write_smbios_table(ulong addr)
parent_node = dev_read_subnode(ctx.dev, "smbios");
ret = sysinfo_detect(ctx.dev);
- if (ret)
- return ret;
+
+ /*
+ * ignore the error since many boards don't implement
+ * this and we can still use the info in the devicetree
+ */
+ ret = log_msg_ret("sys", ret);
}
} else {
ctx.dev = NULL;