From 116081a224c3b36a4a7d940cfdb1dac1ba35fc75 Mon Sep 17 00:00:00 2001 From: Carl-Daniel Hailfinger Date: Mon, 10 Aug 2009 02:29:21 +0000 Subject: Replace remaining explicit erases in SPI programmer drivers with auto-erases Some SPI chip drivers and the generic 1-byte SPI chip write functions didn't include the automatic erase present in other chip drivers. Since the majority is definitely auto-erase, change the remaining explicit-erase cases to be auto-erase as well. Corresponding to flashrom svn r673. Signed-off-by: Carl-Daniel Hailfinger Acked-by: Carlos Arnau Perez --- wbsio_spi.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) (limited to 'wbsio_spi.c') diff --git a/wbsio_spi.c b/wbsio_spi.c index ded0840..6b9425f 100644 --- a/wbsio_spi.c +++ b/wbsio_spi.c @@ -183,29 +183,17 @@ int wbsio_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len) return 1; } - read_memmapped(flash, buf, start, len); - return 0; + return read_memmapped(flash, buf, start, len); } int wbsio_spi_write_1(struct flashchip *flash, uint8_t *buf) { - int pos, size = flash->total_size * 1024; - int result; + int size = flash->total_size * 1024; - if (flash->total_size > 1024) { + if (size > 1024 * 1024) { fprintf(stderr, "%s: Winbond saved on 4 register bits so max chip size is 1024 KB!\n", __func__); return 1; } - if (flash->erase(flash)) { - fprintf(stderr, "ERASE FAILED!\n"); - return -1; - } - for (pos = 0; pos < size; pos++) { - result = spi_byte_program(pos, buf[pos]); - while (spi_read_status_register() & JEDEC_RDSR_BIT_WIP) - programmer_delay(10); - } - spi_write_disable(); - return 0; + return spi_chip_write_1(flash, buf); } -- cgit v1.1