From f52f784bb300ec0acbd6c6bd9e6c3e5b435c4a90 Mon Sep 17 00:00:00 2001 From: Carl-Daniel Hailfinger Date: Fri, 8 Oct 2010 18:52:29 +0000 Subject: 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 Acked-by: Uwe Hermann --- spi25.c | 16 ---------------- 1 file changed, 16 deletions(-) (limited to 'spi25.c') diff --git a/spi25.c b/spi25.c index 9aaefc4..bc2c86c 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); } -- cgit v1.1