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

If FT2232H SPI is not enabled, it should be compiled out completely


We can't remove ft2232_spi.o from unconditional OBJS yet due to our
makefile structure (make features), but this patch adds #ifdefs around
all FT2232H code, so the net effect is the same.

Corresponding to flashrom svn r691.
Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: default avatarStefan Reinauer <stepan@coresystems.de>
parent 173e3eaa
......@@ -86,7 +86,9 @@ enum programmer {
PROGRAMMER_NIC3COM,
PROGRAMMER_SATASII,
PROGRAMMER_IT87SPI,
#if FT2232_SPI_SUPPORT == 1
PROGRAMMER_FT2232SPI,
#endif
#if SERPROG_SUPPORT == 1
PROGRAMMER_SERPROG,
#endif
......@@ -436,9 +438,13 @@ enum spi_controller {
SPI_CONTROLLER_SB600,
SPI_CONTROLLER_VIA,
SPI_CONTROLLER_WBSIO,
#if FT2232_SPI_SUPPORT == 1
SPI_CONTROLLER_FT2232,
#endif
SPI_CONTROLLER_DUMMY,
SPI_CONTROLLER_INVALID /* This must always be the last entry. */
};
extern const int spi_programmer_count;
struct spi_command {
unsigned int writecnt;
unsigned int readcnt;
......
......@@ -122,6 +122,7 @@ const struct programmer_entry programmer_table[] = {
.delay = internal_delay,
},
#if FT2232_SPI_SUPPORT == 1
{
.name = "ft2232spi",
.init = ft2232_spi_init,
......@@ -138,6 +139,7 @@ const struct programmer_entry programmer_table[] = {
.chip_writen = fallback_chip_writen,
.delay = internal_delay,
},
#endif
#if SERPROG_SUPPORT == 1
{
......@@ -610,6 +612,10 @@ int main(int argc, char *argv[])
fprintf(stderr, "Programmer table miscompilation!\n");
exit(1);
}
if (spi_programmer_count - 1 != SPI_CONTROLLER_INVALID) {
fprintf(stderr, "SPI programmer table miscompilation!\n");
exit(1);
}
setbuf(stdout, NULL);
while ((opt = getopt_long(argc, argv, "rRwvnVEfc:m:l:i:p:Lzh",
......
......@@ -18,6 +18,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#if FT2232_SPI_SUPPORT == 1
#include <stdio.h>
#include <stdint.h>
#include <string.h>
......@@ -25,9 +27,6 @@
#include <ctype.h>
#include "flash.h"
#include "spi.h"
#if FT2232_SPI_SUPPORT == 1
#include <ftdi.h>
/* the 'H' chips can run internally at either 12Mhz or 60Mhz.
......@@ -297,29 +296,4 @@ int ft2232_spi_write_256(struct flashchip *flash, uint8_t *buf)
return 0;
}
#else
int ft2232_spi_init(void)
{
fprintf(stderr, "FT2232 SPI support was not compiled in\n");
exit(1);
}
int ft2232_spi_send_command(unsigned int writecnt, unsigned int readcnt,
const unsigned char *writearr, unsigned char *readarr)
{
fprintf(stderr, "FT2232 SPI support was not compiled in\n");
exit(1);
}
int ft2232_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len)
{
fprintf(stderr, "FT2232 SPI support was not compiled in\n");
exit(1);
}
int ft2232_spi_write_256(struct flashchip *flash, uint8_t *buf)
{
fprintf(stderr, "FT2232 SPI support was not compiled in\n");
exit(1);
}
#endif
......@@ -82,12 +82,14 @@ const struct spi_programmer spi_programmer[] = {
.write_256 = wbsio_spi_write_1,
},
#if FT2232_SPI_SUPPORT == 1
{ /* SPI_CONTROLLER_FT2232 */
.command = ft2232_spi_send_command,
.multicommand = default_spi_send_multicommand,
.read = ft2232_spi_read,
.write_256 = ft2232_spi_write_256,
},
#endif
{ /* SPI_CONTROLLER_DUMMY */
.command = dummy_spi_send_command,
......@@ -95,8 +97,11 @@ const struct spi_programmer spi_programmer[] = {
.read = NULL,
.write_256 = NULL,
},
{}, /* This entry corresponds to SPI_CONTROLLER_INVALID. */
};
const int spi_programmer_count = ARRAY_SIZE(spi_programmer);
int spi_send_command(unsigned int writecnt, unsigned int readcnt,
const unsigned char *writearr, unsigned char *readarr)
......@@ -293,7 +298,9 @@ int probe_spi_rdid4(struct flashchip *flash)
case SPI_CONTROLLER_VIA:
case SPI_CONTROLLER_SB600:
case SPI_CONTROLLER_WBSIO:
#if FT2232_SPI_SUPPORT == 1
case SPI_CONTROLLER_FT2232:
#endif
case SPI_CONTROLLER_DUMMY:
return probe_spi_rdid_generic(flash, 4);
default:
......
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