summaryrefslogtreecommitdiffstats
path: root/spi25.c
diff options
context:
space:
mode:
authorCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2010-10-08 18:52:29 +0000
committerCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2010-10-08 18:52:29 +0000
commitf52f784bb300ec0acbd6c6bd9e6c3e5b435c4a90 (patch)
tree957964a468245432abbd23cd06839898b64105ce /spi25.c
parent92c8b0cec2ed06db9c24c4d93cf38a596edf23ab (diff)
downloadflashrom-f52f784bb300ec0acbd6c6bd9e6c3e5b435c4a90.tar.gz
flashrom-f52f784bb300ec0acbd6c6bd9e6c3e5b435c4a90.tar.bz2
flashrom-f52f784bb300ec0acbd6c6bd9e6c3e5b435c4a90.zip
Move implicit erase out of chip drivers
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. Corresponding to flashrom svn r1206. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
Diffstat (limited to 'spi25.c')
-rw-r--r--spi25.c16
1 files changed, 0 insertions, 16 deletions
diff --git a/spi25.c b/spi25.c
index 9aaefc44c..bc2c86cac 100644
--- a/spi25.c
+++ b/spi25.c
@@ -1321,14 +1321,6 @@ int spi_chip_write_1_new(struct flashchip *flash, uint8_t *buf, int start, int l
int spi_chip_write_1(struct flashchip *flash, uint8_t *buf)
{
- /* Erase first */
- msg_cinfo("Erasing flash before programming... ");
- if (erase_flash(flash)) {
- msg_cerr("ERASE FAILED!\n");
- return -1;
- }
- msg_cinfo("done.\n");
-
return spi_chip_write_1_new(flash, buf, 0, flash->total_size * 1024);
}
@@ -1426,14 +1418,6 @@ int spi_aai_write_new(struct flashchip *flash, uint8_t *buf, int start, int len)
int spi_aai_write(struct flashchip *flash, uint8_t *buf)
{
- /* Erase first */
- msg_cinfo("Erasing flash before programming... ");
- if (erase_flash(flash)) {
- msg_cerr("ERASE FAILED!\n");
- return -1;
- }
- msg_cinfo("done.\n");
-
return spi_aai_write_new(flash, buf, 0, flash->total_size * 1024);
}