]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
smbios: Refactor 32-bit code into an else statement
authorSimon Glass <sjg@chromium.org>
Sun, 31 Dec 2023 15:25:44 +0000 (08:25 -0700)
committerSimon Glass <sjg@chromium.org>
Sun, 7 Jan 2024 20:45:06 +0000 (13:45 -0700)
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>
lib/smbios.c

index 45480b01af4ac713222916e1d1b5568e373c4702..b417f8a9057c370a9767dea2b7a3f30634d8d4ed 100644 (file)
@@ -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);