The sysinfo_get_str() implementation checks whether the sysinfo was even detected. In U-Boot proper, sysinfo_detect() is not called anywhere but on one specific board. Call sysinfo_detect() before sysinfo_get_str() to make sure the sysinfo is detected and sysinfo_get_str() returns valid value instead of -EPERM.
Signed-off-by: Marek Vasut <marek.vasut+rene...@gmail.com> Cc: Marcel Ziswiler <marcel.ziswi...@toradex.com> Cc: Simon Glass <s...@chromium.org> --- common/board_info.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/common/board_info.c b/common/board_info.c index 89a29c322c..e0f2d93922 100644 --- a/common/board_info.c +++ b/common/board_info.c @@ -32,10 +32,14 @@ int __weak show_board_info(void) if (IS_ENABLED(CONFIG_SYSINFO)) { /* This might provide more detail */ ret = sysinfo_get(&dev); - if (!ret) - ret = sysinfo_get_str(dev, + if (!ret) { + ret = sysinfo_detect(dev); + if (!ret) { + ret = sysinfo_get_str(dev, SYSINFO_ID_BOARD_MODEL, sizeof(str), str); + } + } } /* Fail back to the main 'model' if available */ -- 2.30.2