summaryrefslogtreecommitdiffstats
path: root/spi25.c
diff options
context:
space:
mode:
authorCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2011-06-26 17:04:16 +0000
committerCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2011-06-26 17:04:16 +0000
commitb4061f61cdf951760020c6d4789023d4001b9782 (patch)
tree99b4aec1edbe35372a0fe653b5448f52c0fe98c8 /spi25.c
parentbfa021dd80594e51fa25feee56457d545849e312 (diff)
downloadast2050-flashrom-b4061f61cdf951760020c6d4789023d4001b9782.zip
ast2050-flashrom-b4061f61cdf951760020c6d4789023d4001b9782.tar.gz
Move erase verification to generic code
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. Corresponding to flashrom svn r1353. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
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;
}
OpenPOWER on IntegriCloud