summaryrefslogtreecommitdiff
path: root/util/flashrom
diff options
context:
space:
mode:
authorPeter Stuge <peter@stuge.se>2008-07-02 17:15:47 +0000
committerPeter Stuge <peter@stuge.se>2008-07-02 17:15:47 +0000
commitf74c208256003d5c52f2f40480bec1f755c8ee9f (patch)
treee941623cf0cd7841c3ca770897ddf4e053b996f0 /util/flashrom
parentcac7286c0b4e4b188ae511a66d60e5e3d9af97fd (diff)
downloadcoreboot-f74c208256003d5c52f2f40480bec1f755c8ee9f.tar.xz
flashrom: probe_flash() cleanup for better code readability
Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3407 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/flashrom')
-rw-r--r--util/flashrom/flashrom.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/util/flashrom/flashrom.c b/util/flashrom/flashrom.c
index 63aba1e75b..f548a91631 100644
--- a/util/flashrom/flashrom.c
+++ b/util/flashrom/flashrom.c
@@ -102,18 +102,15 @@ int map_flash_registers(struct flashchip *flash)
struct flashchip *probe_flash(struct flashchip *flash, int force)
{
volatile uint8_t *bios;
- unsigned long flash_baseaddr, size;
+ unsigned long flash_baseaddr = 0, size;
- while (flash->name != NULL) {
- if (chip_to_probe && strcmp(flash->name, chip_to_probe) != 0) {
- flash++;
+ for (; flash && flash->name; flash++) {
+ if (chip_to_probe && strcmp(flash->name, chip_to_probe) != 0)
continue;
- }
printf_debug("Probing for %s %s, %d KB: ",
flash->vendor, flash->name, flash->total_size);
if (!flash->probe && !force) {
printf_debug("failed! flashrom has no probe function for this flash chip.\n");
- flash++;
continue;
}
@@ -150,18 +147,21 @@ struct flashchip *probe_flash(struct flashchip *flash, int force)
}
flash->virtual_memory = bios;
- if (force || flash->probe(flash) == 1) {
- printf("Found chip \"%s %s\" (%d KB) at physical address 0x%lx.\n",
- flash->vendor, flash->name, flash->total_size,
- flash_baseaddr);
- return flash;
- }
- munmap((void *)bios, size);
+ if (force)
+ break;
- flash++;
+ if (flash->probe(flash) == 1)
+ break;
+
+ munmap((void *)bios, size);
}
- return NULL;
+ if (!flash || !flash->name)
+ return NULL;
+
+ printf("Found chip \"%s %s\" (%d KB) at physical address 0x%lx.\n",
+ flash->vendor, flash->name, flash->total_size, flash_baseaddr);
+ return flash;
}
int verify_flash(struct flashchip *flash, uint8_t *buf)