From d168057805592ec441d74df3f2e8e454f9a2fde6 Mon Sep 17 00:00:00 2001 From: Carl-Daniel Hailfinger Date: Wed, 17 Jun 2009 10:13:42 +0000 Subject: Use spi_nbyte_program in ichspi.c This shortens the code a lot and makes it more readable. Corresponding to flashrom svn r600. Signed-off-by: Carl-Daniel Hailfinger Acked-by: Ronald G. Minnich --- ichspi.c | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) (limited to 'ichspi.c') diff --git a/ichspi.c b/ichspi.c index 9091230..3806529 100644 --- a/ichspi.c +++ b/ichspi.c @@ -617,30 +617,17 @@ static int ich_spi_write_page(struct flashchip *flash, uint8_t * bytes, { int page_size = flash->page_size; uint32_t remaining = page_size; - int a; + int towrite; printf_debug("ich_spi_write_page: offset=%d, number=%d, buf=%p\n", offset, page_size, bytes); - for (a = 0; a < page_size; a += maxdata) { - if (remaining < maxdata) { - if (run_opcode - (curopcodes->opcode[0], - offset + (page_size - remaining), remaining, - &bytes[page_size - remaining]) != 0) { - printf_debug("Error writing"); - return 1; - } - remaining = 0; - } else { - if (run_opcode - (curopcodes->opcode[0], - offset + (page_size - remaining), maxdata, - &bytes[page_size - remaining]) != 0) { - printf_debug("Error writing"); - return 1; - } - remaining -= maxdata; + for (; remaining > 0; remaining -= towrite) { + towrite = min(remaining, maxdata); + if (spi_nbyte_program(offset + (page_size - remaining), + &bytes[page_size - remaining], towrite)) { + printf_debug("Error writing"); + return 1; } } -- cgit v1.1