cbfs: switch to region_device for location APIs
Drop struct cbfs_props and replace with struct region_device object. The goal of the cbfs locator APIs are to determine the correct region device to find the cbfs files. Therefore, start directly using struct region_device in the cbfs location paths. Update the users of the API and leverage the default boot region device implementation for apollolake. Change-Id: I0158a095cc64c9900d8738f8ffd45ae4040575ea Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/36939 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
committed by
Patrick Georgi
parent
aeb652a4a0
commit
fe338e2319
@@ -73,18 +73,22 @@ struct cbfs_props {
|
||||
size_t size;
|
||||
};
|
||||
|
||||
/* Default CBFS locator .locate() callback that locates "COREBOOT" region. */
|
||||
int cbfs_default_props(struct cbfs_props *props);
|
||||
/* Default CBFS locator .locate() callback that locates "COREBOOT" region. This
|
||||
function is exposed to reduce code duplication in other parts of the code
|
||||
base. To obtain the correct region device the selection process is required
|
||||
by way of cbfs_boot_region_device(). */
|
||||
int cbfs_default_region_device(struct region_device *rdev);
|
||||
|
||||
/* Return < 0 on error otherwise props are filled out accordingly. */
|
||||
int cbfs_boot_region_properties(struct cbfs_props *props);
|
||||
/* Select the boot region device from the cbfs locators.
|
||||
Return < 0 on error, 0 on success. */
|
||||
int cbfs_boot_region_device(struct region_device *rdev);
|
||||
|
||||
/* Object used to identify location of current cbfs to use for cbfs_boot_*
|
||||
* operations. It's used by cbfs_boot_region_properties(). */
|
||||
struct cbfs_locator {
|
||||
const char *name;
|
||||
/* Returns 0 on successful fill of cbfs properties. */
|
||||
int (*locate)(struct cbfs_props *props);
|
||||
int (*locate)(struct region_device *rdev);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user