diff options
author | Julius Werner <jwerner@chromium.org> | 2021-02-05 16:51:25 -0800 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2021-03-17 08:10:20 +0000 |
commit | 77639e4537cc9e56e65880e022e154af6d042453 (patch) | |
tree | fea2b411d9d1d7a52d53630efaef5fd4363809c2 /src/lib | |
parent | 81dc20e744aa1762c17dcf5aac5c37643d62a983 (diff) | |
download | coreboot-77639e4537cc9e56e65880e022e154af6d042453.tar.xz |
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>
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/nhlt.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/src/lib/nhlt.c b/src/lib/nhlt.c index 80b3f2e1d3..90a6cd9eef 100644 --- a/src/lib/nhlt.c +++ b/src/lib/nhlt.c @@ -149,9 +149,8 @@ int nhlt_endpoint_add_formats(struct nhlt_endpoint *endp, for (i = 0; i < num_formats; i++) { struct nhlt_format *fmt; - struct cbfsf file; - struct region_device settings; void *settings_data; + size_t size; const struct nhlt_format_config *cfg = &formats[i]; fmt = nhlt_add_format(endp, cfg->num_channels, @@ -167,23 +166,16 @@ int nhlt_endpoint_add_formats(struct nhlt_endpoint *endp, continue; /* Find the settings file in CBFS and place it in format. */ - if (cbfs_boot_locate(&file, cfg->settings_file, NULL)) + settings_data = cbfs_map(cfg->settings_file, &size); + if (!settings_data) return -1; - cbfs_file_data(&settings, &file); - - settings_data = rdev_mmap_full(&settings); - - if (settings_data == NULL) - return -1; - - if (nhlt_format_append_config(fmt, settings_data, - region_device_sz(&settings))) { - rdev_munmap(&settings, settings_data); + if (nhlt_format_append_config(fmt, settings_data, size)) { + cbfs_unmap(settings_data); return -1; } - rdev_munmap(&settings, settings_data); + cbfs_unmap(settings_data); } return 0; |