提交 0805fe15 编写于 作者: A Andreas Dannenberg 提交者: Tom Rini

arm: K3: sysfw-loader: Do not require full printf() for version info

A previous commit...

commit 2a51e16b ("configs: Make USE_TINY_PRINTF depend on SPL||TPL and be default")

...causes the System Firmware version string during SPL boot to no longer
getting printed to the console as expected. To fix this issue rework the
handling of that string to only use basic printf() syntax rather than
for example disabling CONFIG_USE_TINY_PRINTF on affected devices, this
way maintaining most of the memory size benefit the initial patch brings
when it comes to SPL.
Signed-off-by: NAndreas Dannenberg <dannenberg@ti.com>
Reviewed-by: NTom Rini <trini@konsulko.com>
上级 c659a979
......@@ -251,10 +251,21 @@ void k3_sysfw_loader(void (*config_pm_done_callback)(void))
if (config_pm_done_callback)
config_pm_done_callback();
/* Output System Firmware version info */
printf("SYSFW ABI: %d.%d (firmware rev 0x%04x '%.*s')\n",
/*
* Output System Firmware version info. Note that since the
* 'firmware_description' field is not guaranteed to be zero-
* terminated we manually add a \0 terminator if needed. Further
* note that we intentionally no longer rely on the extended
* printf() formatter '%.*s' to not having to require a more
* full-featured printf() implementation.
*/
char fw_desc[sizeof(ti_sci->version.firmware_description) + 1];
strncpy(fw_desc, ti_sci->version.firmware_description,
sizeof(ti_sci->version.firmware_description));
fw_desc[sizeof(fw_desc) - 1] = '\0';
printf("SYSFW ABI: %d.%d (firmware rev 0x%04x '%s')\n",
ti_sci->version.abi_major, ti_sci->version.abi_minor,
ti_sci->version.firmware_revision,
sizeof(ti_sci->version.firmware_description),
ti_sci->version.firmware_description);
ti_sci->version.firmware_revision, fw_desc);
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册