On Tue, 22 Oct 2024 at 08:06, Jan Kiszka <jan.kis...@siemens.com> wrote: > > From: Jan Kiszka <jan.kis...@siemens.com> > > Allow for the sysinfo drivers to provide a system UUID to SMBIOS. Will > be first used by the IOT2050 boards. > > Based on original patch by Li Hua Qian. > > Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> > --- > include/sysinfo.h | 1 + > lib/smbios.c | 4 ++++ > 2 files changed, 5 insertions(+)
Reviewed-by: Simon Glass <s...@chromium.org> What is this used for? Would you mind adding a comment for it? Should mention that it is a struct uuid > > diff --git a/include/sysinfo.h b/include/sysinfo.h > index 8a77ef44856..1c5008b5f23 100644 > --- a/include/sysinfo.h > +++ b/include/sysinfo.h > @@ -49,6 +49,7 @@ enum sysinfo_id { > SYSINFO_ID_SMBIOS_SYSTEM_SERIAL, > SYSINFO_ID_SMBIOS_SYSTEM_SKU, > SYSINFO_ID_SMBIOS_SYSTEM_FAMILY, > + SYSINFO_ID_SMBIOS_SYSTEM_UUID, > SYSINFO_ID_SMBIOS_BASEBOARD_MANUFACTURER, > SYSINFO_ID_SMBIOS_BASEBOARD_PRODUCT, > SYSINFO_ID_SMBIOS_BASEBOARD_VERSION, > diff --git a/lib/smbios.c b/lib/smbios.c > index 7c24ea129eb..1441fa4cde6 100644 > --- a/lib/smbios.c > +++ b/lib/smbios.c > @@ -387,6 +387,7 @@ static int smbios_write_type1(ulong *current, int handle, > struct smbios_type1 *t; > int len = sizeof(struct smbios_type1); > char *serial_str = env_get("serial#"); > + char uuid[sizeof(t->uuid)]; > > t = map_sysmem(*current, len); > memset(t, 0, sizeof(struct smbios_type1)); > @@ -409,6 +410,9 @@ static int smbios_write_type1(ulong *current, int handle, > > SYSINFO_ID_SMBIOS_SYSTEM_SERIAL, > NULL); > } > + if (!sysinfo_get_str(ctx->dev, SYSINFO_ID_SMBIOS_SYSTEM_UUID, > + sizeof(uuid), uuid)) > + strncpy((char *)t->uuid, uuid, sizeof(t->uuid)); > t->wakeup_type = SMBIOS_WAKEUP_TYPE_UNKNOWN; > t->sku_number = smbios_add_prop_si(ctx, "sku", > SYSINFO_ID_SMBIOS_SYSTEM_SKU, > NULL); > -- > 2.43.0 > Regards, SImon