mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 07:31:15 +00:00
smbios: Refactor 32-bit code into an else statement
In preparation for adding support for SMBIOS3 move this code into an else statement. There is no functional change. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
parent
c2c598e87c
commit
58c638330a
1 changed files with 21 additions and 17 deletions
38
lib/smbios.c
38
lib/smbios.c
|
@ -589,14 +589,6 @@ ulong write_smbios_table(ulong addr)
|
|||
len += tmp;
|
||||
}
|
||||
|
||||
memcpy(se->anchor, "_SM_", 4);
|
||||
se->length = sizeof(struct smbios_entry);
|
||||
se->major_ver = SMBIOS_MAJOR_VER;
|
||||
se->minor_ver = SMBIOS_MINOR_VER;
|
||||
se->max_struct_size = max_struct_size;
|
||||
memcpy(se->intermediate_anchor, "_DMI_", 5);
|
||||
se->struct_table_length = len;
|
||||
|
||||
/*
|
||||
* We must use a pointer here so things work correctly on sandbox. The
|
||||
* user of this table is not aware of the mapping of addresses to
|
||||
|
@ -612,16 +604,28 @@ ulong write_smbios_table(ulong addr)
|
|||
(unsigned long long)table_addr);
|
||||
addr = 0;
|
||||
goto out;
|
||||
} else {
|
||||
memcpy(se->anchor, "_SM_", 4);
|
||||
se->length = sizeof(struct smbios_entry);
|
||||
se->major_ver = SMBIOS_MAJOR_VER;
|
||||
se->minor_ver = SMBIOS_MINOR_VER;
|
||||
se->max_struct_size = max_struct_size;
|
||||
memcpy(se->intermediate_anchor, "_DMI_", 5);
|
||||
se->struct_table_length = len;
|
||||
|
||||
se->struct_table_address = table_addr;
|
||||
|
||||
se->struct_count = handle;
|
||||
|
||||
/* calculate checksums */
|
||||
istart = (char *)se + SMBIOS_INTERMEDIATE_OFFSET;
|
||||
isize = sizeof(struct smbios_entry) -
|
||||
SMBIOS_INTERMEDIATE_OFFSET;
|
||||
se->intermediate_checksum = table_compute_checksum(istart,
|
||||
isize);
|
||||
se->checksum = table_compute_checksum(se,
|
||||
sizeof(struct smbios_entry));
|
||||
}
|
||||
se->struct_table_address = table_addr;
|
||||
|
||||
se->struct_count = handle;
|
||||
|
||||
/* calculate checksums */
|
||||
istart = (char *)se + SMBIOS_INTERMEDIATE_OFFSET;
|
||||
isize = sizeof(struct smbios_entry) - SMBIOS_INTERMEDIATE_OFFSET;
|
||||
se->intermediate_checksum = table_compute_checksum(istart, isize);
|
||||
se->checksum = table_compute_checksum(se, sizeof(struct smbios_entry));
|
||||
out:
|
||||
unmap_sysmem(se);
|
||||
|
||||
|
|
Loading…
Reference in a new issue