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+renesas@gmail.com>
Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
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 */