diff options
author | Simon Glass | 2021-02-04 21:17:20 -0700 |
---|---|---|
committer | Bin Meng | 2021-02-06 19:20:27 +0800 |
commit | e9adaa75bb38ded5cf4e460270315afd891d141c (patch) | |
tree | 95791c1205f994c551d1042a61f8e255c0cfb6af /include/smbios.h | |
parent | fd3b826da8faabdf288de8e4ff8ce020cf6d9391 (diff) |
smbios: Add more options for the BIOS version string
At present the version string is obtained from PLAIN_VERSION. Some boards
may want to configure this using the device tree, since the build system
can more easily insert things there after U-Boot itself is built. Add this
option to the code.
Also in some cases the version needs to be generated programmatically,
such as when it is stored elsewhere in the ROM and must be read first.
To handle this, keep a pointer around so that it can be updated later.
This works by storing the last string in the context, since it is easier
than passing out a little-used extra parameter.
Provide a function to update the version string.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'include/smbios.h')
-rw-r--r-- | include/smbios.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/smbios.h b/include/smbios.h index 1cbeabf9522..ecc4fd1de3b 100644 --- a/include/smbios.h +++ b/include/smbios.h @@ -257,4 +257,16 @@ const struct smbios_header *smbios_header(const struct smbios_entry *entry, int */ const char *smbios_string(const struct smbios_header *header, int index); +/** + * smbios_update_version() - Update the version string + * + * This can be called after the SMBIOS tables are written (e.g. after the U-Boot + * main loop has started) to update the BIOS version string (SMBIOS table 0). + * + * @version: New version string to use + * @return 0 if OK, -ENOENT if no version string was previously written, + * -ENOSPC if the new string is too large to fit + */ +int smbios_update_version(const char *version); + #endif /* _SMBIOS_H_ */ |