summaryrefslogtreecommitdiff
path: root/src/soc/intel/elkhartlake
diff options
context:
space:
mode:
authorNick Vaccaro <nvaccaro@google.com>2020-09-30 09:49:05 -0700
committerNick Vaccaro <nvaccaro@google.com>2020-10-05 18:02:22 +0000
commit0ed02d00cb129f2aa3959116e1730d4d14da2a60 (patch)
treebea8ca85a8e432f6249fad848ee9cf498446035b /src/soc/intel/elkhartlake
parentaef9ac97c7b84a5ca51d97d63c4134ffb1da6615 (diff)
mb, soc: change mainboard_get_dram_part_num() prototype
Change mainboard_get_dram_part_num() to return a constant character pointer to a null-terminated C string and to take no input parameters. This also addresses the issue that different SOCs and motherboards were using different definitions for mainboard_get_dram_part_num by consolidating to a single definition. BUG=b:169774661, b:168724473 TEST="emerge-volteer coreboot && emerge-dedede coreboot && emerge-hatch coreboot" and verify build completes successfully. Change-Id: Ie7664eab65a2b9e25b7853bf68baf2525b040487 Signed-off-by: Nick Vaccaro <nvaccaro@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/45873 Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/intel/elkhartlake')
-rw-r--r--src/soc/intel/elkhartlake/include/soc/romstage.h2
-rw-r--r--src/soc/intel/elkhartlake/romstage/romstage.c13
2 files changed, 9 insertions, 6 deletions
diff --git a/src/soc/intel/elkhartlake/include/soc/romstage.h b/src/soc/intel/elkhartlake/include/soc/romstage.h
index baa35c5216..1cffcb93ae 100644
--- a/src/soc/intel/elkhartlake/include/soc/romstage.h
+++ b/src/soc/intel/elkhartlake/include/soc/romstage.h
@@ -6,7 +6,7 @@
#include <fsp/api.h>
/* Provide a callback to allow mainboard to override the DRAM part number. */
-bool mainboard_get_dram_part_num(const char **part_num, size_t *len);
+const char *mainboard_get_dram_part_num(void);
void mainboard_memory_init_params(FSPM_UPD *mupd);
void systemagent_early_init(void);
void romstage_pch_init(void);
diff --git a/src/soc/intel/elkhartlake/romstage/romstage.c b/src/soc/intel/elkhartlake/romstage/romstage.c
index 09b1744946..06fa11400e 100644
--- a/src/soc/intel/elkhartlake/romstage/romstage.c
+++ b/src/soc/intel/elkhartlake/romstage/romstage.c
@@ -21,10 +21,10 @@
0x8d, 0x09, 0x11, 0xcf, 0x8b, 0x9f, 0x03, 0x23 \
}
-bool __weak mainboard_get_dram_part_num(const char **part_num, size_t *len)
+const char * __weak mainboard_get_dram_part_num(void)
{
/* Default implementation, no need to override part number. */
- return false;
+ return NULL;
}
/* Save the DIMM information for SMBIOS table 17 */
@@ -42,7 +42,7 @@ static void save_dimm_info(void)
FSP_SMBIOS_MEMORY_INFO_GUID;
const uint8_t *serial_num;
const char *dram_part_num = NULL;
- size_t dram_part_num_len;
+ size_t dram_part_num_len = 0;
bool is_dram_part_overridden = false;
/* Locate the memory info HOB, presence validated by raminit */
@@ -66,8 +66,11 @@ static void save_dimm_info(void)
memset(mem_info, 0, sizeof(*mem_info));
/* Allow mainboard to override DRAM part number. */
- is_dram_part_overridden = mainboard_get_dram_part_num(&dram_part_num,
- &dram_part_num_len);
+ dram_part_num = mainboard_get_dram_part_num();
+ if (dram_part_num) {
+ dram_part_num = strlen(dram_part_num);
+ is_dram_part_overridden = true;
+ }
/* Save available DIMM information */
index = 0;