Author: hailfinger Date: 2009-08-19 15:27:58 +0200 (Wed, 19 Aug 2009) New Revision: 691
Modified: trunk/flash.h trunk/flashrom.c trunk/ft2232_spi.c trunk/spi.c Log: 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.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net Acked-by: Stefan Reinauer stepan@coresystems.de
Modified: trunk/flash.h =================================================================== --- trunk/flash.h 2009-08-19 10:46:23 UTC (rev 690) +++ trunk/flash.h 2009-08-19 13:27:58 UTC (rev 691) @@ -86,7 +86,9 @@ 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 @@ 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;
Modified: trunk/flashrom.c =================================================================== --- trunk/flashrom.c 2009-08-19 10:46:23 UTC (rev 690) +++ trunk/flashrom.c 2009-08-19 13:27:58 UTC (rev 691) @@ -122,6 +122,7 @@ .delay = internal_delay, },
+#if FT2232_SPI_SUPPORT == 1 { .name = "ft2232spi", .init = ft2232_spi_init, @@ -138,6 +139,7 @@ .chip_writen = fallback_chip_writen, .delay = internal_delay, }, +#endif
#if SERPROG_SUPPORT == 1 { @@ -610,6 +612,10 @@ 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",
Modified: trunk/ft2232_spi.c =================================================================== --- trunk/ft2232_spi.c 2009-08-19 10:46:23 UTC (rev 690) +++ trunk/ft2232_spi.c 2009-08-19 13:27:58 UTC (rev 691) @@ -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 @@ 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
Modified: trunk/spi.c =================================================================== --- trunk/spi.c 2009-08-19 10:46:23 UTC (rev 690) +++ trunk/spi.c 2009-08-19 13:27:58 UTC (rev 691) @@ -82,12 +82,14 @@ .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 @@ .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 @@ 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: