From 738fdffe4079f72e2ebd10d7d8d94f526bd86e1f Mon Sep 17 00:00:00 2001 From: Carl-Daniel Hailfinger Date: Tue, 18 Nov 2008 00:43:14 +0000 Subject: ichspi: use spi_nbyte_read() instead of running the opcode directly Currently flashrom assumes every vendor BIOS shares our view about which SPI opcodes should be placed in which location. Move to a less optimistic implementation and actually use the generic SPI read functions. They're useful for abstracting exactly this stuff and that makes them the preferred choice. Corresponding to flashrom svn r346 and coreboot v2 svn r3758. Signed-off-by: Carl-Daniel Hailfinger Acked-by: Stefan Reinauer --- ichspi.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'ichspi.c') diff --git a/ichspi.c b/ichspi.c index 28ee578e..5806ba68 100644 --- a/ichspi.c +++ b/ichspi.c @@ -300,7 +300,7 @@ static int ich7_run_opcode(OPCODE op, uint32_t offset, if (op.atomic != 0) { /* Select atomic command */ temp16 |= SPIC_ACS; - /* Selct prefix opcode */ + /* Select prefix opcode */ if ((op.atomic - 1) == 1) { /*Select prefix opcode 2 */ temp16 |= SPIC_SPOP; @@ -491,19 +491,15 @@ static int ich_spi_read_page(struct flashchip *flash, uint8_t * buf, int offset, for (a = 0; a < page_size; a += maxdata) { if (remaining < maxdata) { - if (run_opcode - (curopcodes->opcode[1], - offset + (page_size - remaining), remaining, - &buf[page_size - remaining]) != 0) { + if (spi_nbyte_read(offset + (page_size - remaining), + &buf[page_size - remaining], remaining)) { printf_debug("Error reading"); return 1; } remaining = 0; } else { - if (run_opcode - (curopcodes->opcode[1], - offset + (page_size - remaining), maxdata, - &buf[page_size - remaining]) != 0) { + if (spi_nbyte_read(offset + (page_size - remaining), + &buf[page_size - remaining], maxdata)) { printf_debug("Error reading"); return 1; } -- cgit v1.2.3