summaryrefslogtreecommitdiff
path: root/include/smbios.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/smbios.h')
-rw-r--r--include/smbios.h26
1 files changed, 14 insertions, 12 deletions
diff --git a/include/smbios.h b/include/smbios.h
index 1846607c3cf..ecc4fd1de3b 100644
--- a/include/smbios.h
+++ b/include/smbios.h
@@ -183,14 +183,14 @@ struct __packed smbios_type32 {
u16 handle;
u8 reserved[6];
u8 boot_status;
- u8 eos[SMBIOS_STRUCT_EOS_BYTES];
+ char eos[SMBIOS_STRUCT_EOS_BYTES];
};
struct __packed smbios_type127 {
u8 type;
u8 length;
u16 handle;
- u8 eos[SMBIOS_STRUCT_EOS_BYTES];
+ char eos[SMBIOS_STRUCT_EOS_BYTES];
};
struct __packed smbios_header {
@@ -220,16 +220,6 @@ static inline void fill_smbios_header(void *table, int type,
}
/**
- * Function prototype to write a specific type of SMBIOS structure
- *
- * @addr: start address to write the structure
- * @handle: the structure's handle, a unique 16-bit number
- * @node: node containing the information to write (ofnode_null() if none)
- * @return: size of the structure
- */
-typedef int (*smbios_write_type)(ulong *addr, int handle, ofnode node);
-
-/**
* write_smbios_table() - Write SMBIOS table
*
* This writes SMBIOS table at a given address.
@@ -267,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_ */