cbfs: Replace more instances of cbfs_boot_locate() with newer APIs
In pursuit of the eventual goal of removing cbfs_boot_locate() (and direct rdev access) from CBFS APIs, this patch replaces all remaining "simple" uses of the function call that can easily be replaced by the newer APIs (like cbfs_load() or cbfs_map()). Some cases of cbfs_boot_locate() remain that will be more complicated to solve. Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: Icd0f21e2fa49c7cc834523578b7b45b5482cb1a8 Reviewed-on: https://review.coreboot.org/c/coreboot/+/50348 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
committed by
Patrick Georgi
parent
81dc20e744
commit
77639e4537
@@ -10,25 +10,14 @@
|
||||
const char *smbios_mainboard_serial_number(void)
|
||||
{
|
||||
static char serial_number[MAX_SERIAL_LENGTH + 1] = {0};
|
||||
struct cbfsf file;
|
||||
|
||||
if (serial_number[0] != 0)
|
||||
return serial_number;
|
||||
|
||||
if (cbfs_boot_locate(&file, "serial_number", NULL) == 0) {
|
||||
struct region_device cbfs_region;
|
||||
size_t serial_len;
|
||||
|
||||
cbfs_file_data(&cbfs_region, &file);
|
||||
|
||||
serial_len = region_device_sz(&cbfs_region);
|
||||
if (serial_len <= MAX_SERIAL_LENGTH) {
|
||||
if (rdev_readat(&cbfs_region, serial_number, 0,
|
||||
serial_len) == serial_len) {
|
||||
serial_number[serial_len] = 0;
|
||||
return serial_number;
|
||||
}
|
||||
}
|
||||
size_t serial_len = cbfs_load("serial_number", serial_number, MAX_SERIAL_LENGTH);
|
||||
if (serial_len) {
|
||||
serial_number[serial_len] = '\0';
|
||||
return serial_number;
|
||||
}
|
||||
|
||||
strncpy(serial_number, CONFIG_MAINBOARD_SERIAL_NUMBER,
|
||||
|
Reference in New Issue
Block a user