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,
|
||||
|
@@ -41,18 +41,11 @@ static u8 get_hex_digit(const u8 c)
|
||||
|
||||
static enum cb_err fetch_mac_string_cbfs(u8 *macstrbuf)
|
||||
{
|
||||
struct cbfsf fh;
|
||||
uint32_t matchraw = CBFS_TYPE_RAW;
|
||||
|
||||
if (!cbfs_boot_locate(&fh, "atl1e-macaddress", &matchraw)) {
|
||||
/* check the cbfs for the mac address */
|
||||
if (rdev_readat(&fh.data, macstrbuf, 0, MACLEN) != MACLEN) {
|
||||
printk(BIOS_ERR, "atl1e: Error reading MAC from CBFS\n");
|
||||
return CB_ERR;
|
||||
}
|
||||
return CB_SUCCESS;
|
||||
if (!cbfs_load("atl1e-macaddress", macstrbuf, MACLEN)) {
|
||||
printk(BIOS_ERR, "atl1e: Error reading MAC from CBFS\n");
|
||||
return CB_ERR;
|
||||
}
|
||||
return CB_ERR;
|
||||
return CB_SUCCESS;
|
||||
}
|
||||
|
||||
static void get_mac_address(u8 *macaddr, const u8 *strbuf)
|
||||
|
@@ -166,18 +166,11 @@ static void fetch_mac_string_vpd(struct drivers_net_config *config, u8 *macstrbu
|
||||
|
||||
static enum cb_err fetch_mac_string_cbfs(u8 *macstrbuf)
|
||||
{
|
||||
struct cbfsf fh;
|
||||
uint32_t matchraw = CBFS_TYPE_RAW;
|
||||
|
||||
if (!cbfs_boot_locate(&fh, "rt8168-macaddress", &matchraw)) {
|
||||
/* check the cbfs for the mac address */
|
||||
if (rdev_readat(&fh.data, macstrbuf, 0, MACLEN) != MACLEN) {
|
||||
printk(BIOS_ERR, "r8168: Error reading MAC from CBFS\n");
|
||||
return CB_ERR;
|
||||
}
|
||||
return CB_SUCCESS;
|
||||
if (!cbfs_load("rt8168-macaddress", macstrbuf, MACLEN)) {
|
||||
printk(BIOS_ERR, "r8168: Error reading MAC from CBFS\n");
|
||||
return CB_ERR;
|
||||
}
|
||||
return CB_ERR;
|
||||
return CB_SUCCESS;
|
||||
}
|
||||
|
||||
static void get_mac_address(u8 *macaddr, const u8 *strbuf)
|
||||
|
Reference in New Issue
Block a user