Attention is currently required from: Edward O'Callaghan, Daniel Campello, Anastasia Klimchuk, Peter Marheine. Hello Edward O'Callaghan, Daniel Campello, Anastasia Klimchuk, Peter Marheine,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/flashrom/+/54285
to review the following change.
Change subject: layout: Rework normalize_romentries() API ......................................................................
layout: Rework normalize_romentries() API
Rename it to layout_sanity_checks() as that it 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 nico.h@gmx.de --- M flash.h M flashrom.c M layout.c M layout.h 4 files changed, 5 insertions(+), 6 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/85/54285/1
diff --git a/flash.h b/flash.h index 3912e73..c8c0f9d 100644 --- a/flash.h +++ b/flash.h @@ -420,7 +420,6 @@ /* 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 b10ba23..05b681a 100644 --- a/flashrom.c +++ b/flashrom.c @@ -2347,7 +2347,7 @@ 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 decb3c5..bb83580 100644 --- a/layout.c +++ b/layout.c @@ -298,11 +298,10 @@ 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 808c516..f5fbc50 100644 --- a/layout.h +++ b/layout.h @@ -62,5 +62,6 @@ 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__ */