summaryrefslogtreecommitdiffstats
path: root/flashrom.c
diff options
context:
space:
mode:
Diffstat (limited to 'flashrom.c')
-rw-r--r--flashrom.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/flashrom.c b/flashrom.c
index 088d80450..357582286 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -761,6 +761,17 @@ char *flashbuses_to_text(enum chipbustype bustype)
return ret;
}
+static int init_default_layout(struct flashctx *flash)
+{
+ /* Fill default layout covering the whole chip. */
+ if (flashrom_layout_new(&flash->default_layout) ||
+ flashrom_layout_add_region(flash->default_layout,
+ 0, flash->chip->total_size * 1024 - 1, "complete flash") ||
+ flashrom_layout_include_region(flash->default_layout, "complete flash"))
+ return -1;
+ return 0;
+}
+
int probe_flash(struct registered_master *mst, int startchip, struct flashctx *flash, int force)
{
const struct flashchip *chip;
@@ -849,12 +860,8 @@ notfound:
if (!flash->chip)
return -1;
- /* Fill default layout covering the whole chip. */
- if (flashrom_layout_new(&flash->default_layout) ||
- flashrom_layout_add_region(flash->default_layout,
- 0, flash->chip->total_size * 1024 - 1, "complete flash") ||
- flashrom_layout_include_region(flash->default_layout, "complete flash"))
- return -1;
+ if (init_default_layout(flash) < 0)
+ return -1;
tmp = flashbuses_to_text(flash->chip->bustype);
msg_cinfo("%s %s flash chip \"%s\" (%d kB, %s) ", force ? "Assuming" : "Found",