summaryrefslogtreecommitdiff
path: root/spi25.c
diff options
context:
space:
mode:
authorhailfinger <hailfinger@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1>2011-06-26 17:04:16 +0000
committerhailfinger <hailfinger@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1>2011-06-26 17:04:16 +0000
commit7d7957712f9d956a40bf44aa4d2c1c9f4aeff476 (patch)
tree99b4aec1edbe35372a0fe653b5448f52c0fe98c8 /spi25.c
parent22a758394c4ab12c43497c1a0a27b0b75c09b00b (diff)
downloadflashrom-7d7957712f9d956a40bf44aa4d2c1c9f4aeff476.tar.gz
Erase functions are no longer called from chip drivers and thus their
internal erase verification can be moved to generic code. This also makes it easier to skip the verify step if desired and to differentiate between failed command submission and failed erase verification. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Stefan Tauner <stefan.tauner@student.tuwien.ac.at> git-svn-id: https://code.coreboot.org/svn/flashrom/trunk@1353 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'spi25.c')
-rw-r--r--spi25.c30
1 files changed, 6 insertions, 24 deletions
diff --git a/spi25.c b/spi25.c
index d3680fb..b26f533 100644
--- a/spi25.c
+++ b/spi25.c
@@ -481,10 +481,7 @@ int spi_chip_erase_60(struct flashchip *flash)
/* FIXME: We assume spi_read_status_register will never fail. */
while (spi_read_status_register() & JEDEC_RDSR_BIT_WIP)
programmer_delay(1000 * 1000);
- if (check_erased_range(flash, 0, flash->total_size * 1024)) {
- msg_cerr("ERASE FAILED!\n");
- return -1;
- }
+ /* FIXME: Check the status register for errors. */
return 0;
}
@@ -520,10 +517,7 @@ int spi_chip_erase_c7(struct flashchip *flash)
/* FIXME: We assume spi_read_status_register will never fail. */
while (spi_read_status_register() & JEDEC_RDSR_BIT_WIP)
programmer_delay(1000 * 1000);
- if (check_erased_range(flash, 0, flash->total_size * 1024)) {
- msg_cerr("ERASE FAILED!\n");
- return -1;
- }
+ /* FIXME: Check the status register for errors. */
return 0;
}
@@ -564,10 +558,7 @@ int spi_block_erase_52(struct flashchip *flash, unsigned int addr, unsigned int
*/
while (spi_read_status_register() & JEDEC_RDSR_BIT_WIP)
programmer_delay(100 * 1000);
- if (check_erased_range(flash, addr, blocklen)) {
- msg_cerr("ERASE FAILED!\n");
- return -1;
- }
+ /* FIXME: Check the status register for errors. */
return 0;
}
@@ -613,10 +604,7 @@ int spi_block_erase_d8(struct flashchip *flash, unsigned int addr, unsigned int
*/
while (spi_read_status_register() & JEDEC_RDSR_BIT_WIP)
programmer_delay(100 * 1000);
- if (check_erased_range(flash, addr, blocklen)) {
- msg_cerr("ERASE FAILED!\n");
- return -1;
- }
+ /* FIXME: Check the status register for errors. */
return 0;
}
@@ -660,10 +648,7 @@ int spi_block_erase_d7(struct flashchip *flash, unsigned int addr, unsigned int
*/
while (spi_read_status_register() & JEDEC_RDSR_BIT_WIP)
programmer_delay(100 * 1000);
- if (check_erased_range(flash, addr, blocklen)) {
- msg_cerr("ERASE FAILED!\n");
- return -1;
- }
+ /* FIXME: Check the status register for errors. */
return 0;
}
@@ -705,10 +690,7 @@ int spi_block_erase_20(struct flashchip *flash, unsigned int addr, unsigned int
*/
while (spi_read_status_register() & JEDEC_RDSR_BIT_WIP)
programmer_delay(10 * 1000);
- if (check_erased_range(flash, addr, blocklen)) {
- msg_cerr("ERASE FAILED!\n");
- return -1;
- }
+ /* FIXME: Check the status register for errors. */
return 0;
}