Author: hailfinger Date: Wed Jul 14 21:57:52 2010 New Revision: 1081 URL: http://flashrom.org/trac/coreboot/changeset/1081
Log: Use the max_rom_decode infrastructure for wbsio_spi instead of open-coding a variant which only aborts after it is too late.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net Acked-by: Michael Karcher flashrom@mkarcher.dialup.fu-berlin.de
Modified: trunk/flash.h trunk/spi.c trunk/wbsio_spi.c
Modified: trunk/flash.h ============================================================================== --- trunk/flash.h Wed Jul 14 18:19:05 2010 (r1080) +++ trunk/flash.h Wed Jul 14 21:57:52 2010 (r1081) @@ -716,7 +716,6 @@ int wbsio_spi_send_command(unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr); int wbsio_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len); -int wbsio_spi_write_1(struct flashchip *flash, uint8_t *buf, int start, int len);
/* serprog.c */ int serprog_init(void);
Modified: trunk/spi.c ============================================================================== --- trunk/spi.c Wed Jul 14 18:19:05 2010 (r1080) +++ trunk/spi.c Wed Jul 14 21:57:52 2010 (r1081) @@ -80,7 +80,7 @@ .command = wbsio_spi_send_command, .multicommand = default_spi_send_multicommand, .read = wbsio_spi_read, - .write_256 = wbsio_spi_write_1, + .write_256 = spi_chip_write_1_new, }, #endif #endif
Modified: trunk/wbsio_spi.c ============================================================================== --- trunk/wbsio_spi.c Wed Jul 14 18:19:05 2010 (r1080) +++ trunk/wbsio_spi.c Wed Jul 14 21:57:52 2010 (r1081) @@ -69,6 +69,9 @@
buses_supported |= CHIP_BUSTYPE_SPI; spi_controller = SPI_CONTROLLER_WBSIO; + msg_pdbg("%s: Winbond saved on 4 register bits so max chip size is " + "1024 KB!\n", __func__); + max_rom_decode.spi = 1024 * 1024;
return 0; } @@ -179,24 +182,7 @@
int wbsio_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len) { - int size = flash->total_size * 1024; - - if (size > 1024 * 1024) { - msg_perr("%s: Winbond saved on 4 register bits so max chip size is 1024 KB!\n", __func__); - return 1; - } - return read_memmapped(flash, buf, start, len); }
-int wbsio_spi_write_1(struct flashchip *flash, uint8_t *buf, int start, int len) -{ - if (flash->total_size * 1024 > 1024 * 1024) { - msg_perr("%s: Winbond saved on 4 register bits so max chip size is 1024 KB!\n", __func__); - return 1; - } - - return spi_chip_write_1_new(flash, buf, start, len); -} - #endif