summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNico Huber <nico.h@gmx.de>2021-05-14 00:48:28 +0200
committerNico Huber <nico.h@gmx.de>2021-06-26 15:59:00 +0000
commit7f480531721bca467541f9471ab39937fa9c2ad5 (patch)
tree561455af3f8dd8d0d916098d94621477148fbb68
parente03a5f7d5daa0fb00c32081c0e1e86781d500686 (diff)
downloadflashrom-7f480531721bca467541f9471ab39937fa9c2ad5.tar.gz
flashrom-7f480531721bca467541f9471ab39937fa9c2ad5.tar.bz2
flashrom-7f480531721bca467541f9471ab39937fa9c2ad5.zip
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 <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/c/flashrom/+/54285 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Anastasia Klimchuk <aklm@chromium.org> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--flash.h1
-rw-r--r--flashrom.c2
-rw-r--r--layout.c7
-rw-r--r--layout.h1
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__ */