diff options
author | hailfinger <hailfinger@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1> | 2010-10-08 18:52:29 +0000 |
---|---|---|
committer | hailfinger <hailfinger@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1> | 2010-10-08 18:52:29 +0000 |
commit | 0eb4e5ed213a64025c22dcb0536e78a22c878a23 (patch) | |
tree | 957964a468245432abbd23cd06839898b64105ce /sst28sf040.c | |
parent | 209b4ac322126515a11dc780c157852eb9e44b4d (diff) | |
download | flashrom-0eb4e5ed213a64025c22dcb0536e78a22c878a23.tar.gz |
flashrom had an implicit erase-on-write for most flash chip and
programmer drivers, but it was not entirely consistent. Some drivers had
their own hand-rolled partial update functionality which made handling
partial updates from generic code impossible.
Move implicit erase out of chip drivers, and kill some dead erase
functions at the same time.
A full chip erase is now performed in the generic code for all flash
chips on write, and after that the whole chip is written.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
git-svn-id: https://code.coreboot.org/svn/flashrom/trunk@1206 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'sst28sf040.c')
-rw-r--r-- | sst28sf040.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/sst28sf040.c b/sst28sf040.c index c5f27a4..9ba0541 100644 --- a/sst28sf040.c +++ b/sst28sf040.c @@ -122,12 +122,6 @@ int write_28sf040(struct flashchip *flash, uint8_t *buf) msg_cinfo("Programming page: "); for (i = 0; i < total_size / page_size; i++) { - /* erase the page before programming */ - if (erase_sector_28sf040(flash, i * page_size, page_size)) { - msg_cerr("ERASE FAILED!\n"); - return -1; - } - /* write to the sector */ msg_cinfo("%04d at address: 0x%08x", i, i * page_size); write_sector_28sf040(bios, buf + i * page_size, |