From 7f480531721bca467541f9471ab39937fa9c2ad5 Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Fri, 14 May 2021 00:48:28 +0200 Subject: [PATCH] layout: Rework normalize_romentries() API Rename it to layout_sanity_checks() as that is what it does and let it work on the currently active layout instead of the global layout. Change-Id: Ifae3480d4bd68c939c291f05734544e93f00306c Signed-off-by: Nico Huber Reviewed-on: https://review.coreboot.org/c/flashrom/+/54285 Reviewed-by: Angel Pons Reviewed-by: Anastasia Klimchuk Reviewed-by: Edward O'Callaghan Tested-by: build bot (Jenkins) --- flash.h | 1 - flashrom.c | 2 +- layout.c | 7 +++---- layout.h | 1 + 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/flash.h b/flash.h index 3912e730c..c8c0f9d27 100644 --- a/flash.h +++ b/flash.h @@ -420,7 +420,6 @@ __attribute__((format(printf, 2, 3))); /* layout.c */ int register_include_arg(struct layout_include_args **args, const char *arg); int read_romlayout(const char *name); -int normalize_romentries(const struct flashctx *flash); void layout_cleanup(struct layout_include_args **args); /* spi.c */ diff --git a/flashrom.c b/flashrom.c index b20e3e12f..6cc899f87 100644 --- a/flashrom.c +++ b/flashrom.c @@ -1865,7 +1865,7 @@ int prepare_flash_access(struct flashctx *const flash, return 1; } - if (flash->layout == get_global_layout() && normalize_romentries(flash)) { + if (layout_sanity_checks(flash)) { msg_cerr("Requested regions can not be handled. Aborting.\n"); return 1; } diff --git a/layout.c b/layout.c index 9df003516..e4f168192 100644 --- a/layout.c +++ b/layout.c @@ -298,11 +298,10 @@ void layout_cleanup(struct layout_include_args **args) flashrom_layout_release(layout); } -/* Validate and - if needed - normalize layout entries. */ -int normalize_romentries(const struct flashctx *flash) +int layout_sanity_checks(const struct flashrom_flashctx *const flash) { - struct flashrom_layout *const layout = get_global_layout(); - chipsize_t total_size = flash->chip->total_size * 1024; + const struct flashrom_layout *const layout = get_layout(flash); + const chipsize_t total_size = flash->chip->total_size * 1024; int ret = 0; const struct romentry *entry = NULL; diff --git a/layout.h b/layout.h index 808c516aa..f5fbc5002 100644 --- a/layout.h +++ b/layout.h @@ -62,5 +62,6 @@ const struct romentry *layout_next_included(const struct flashrom_layout *, cons const struct romentry *layout_next(const struct flashrom_layout *, const struct romentry *); int included_regions_overlap(const struct flashrom_layout *const flashrom_layout); void prepare_layout_for_extraction(struct flashrom_flashctx *flash); +int layout_sanity_checks(const struct flashrom_flashctx *); #endif /* !__LAYOUT_H__ */