Commit ca812d40 authored by Carl-Daniel Hailfinger's avatar Carl-Daniel Hailfinger
Browse files

Use the max_rom_decode infrastructure for wbsio_spi


Use this instead of the open-coding variant that only aborts after it is too late.

Corresponding to flashrom svn r1081.
Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: default avatarMichael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
parent 9a795d83
......@@ -716,7 +716,6 @@ int wbsio_check_for_spi(void);
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);
......
......@@ -80,7 +80,7 @@ const struct spi_programmer spi_programmer[] = {
.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
......
......@@ -69,6 +69,9 @@ int wbsio_check_for_spi(void)
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_send_command(unsigned int writecnt, unsigned int readcnt,
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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment