Allow to compile out serprog completely. If CONFIG_SERPROG is not set, no stubs and no data of serprog will remain.
Side benefit: This kills a few dozen lines of code.
r678, r679 and r680 made this possible. Once "Only list available programers in usage()" is committed, even the usage message will be adjusted automatically.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: flashrom-serprog_compileout/flash.h =================================================================== --- flashrom-serprog_compileout/flash.h (Revision 680) +++ flashrom-serprog_compileout/flash.h (Arbeitskopie) @@ -87,7 +87,9 @@ PROGRAMMER_SATASII, PROGRAMMER_IT87SPI, PROGRAMMER_FT2232SPI, +#if SERPROG_SUPPORT == 1 PROGRAMMER_SERPROG, +#endif PROGRAMMER_INVALID /* This must always be the last entry. */ };
Index: flashrom-serprog_compileout/serprog.c =================================================================== --- flashrom-serprog_compileout/serprog.c (Revision 680) +++ flashrom-serprog_compileout/serprog.c (Arbeitskopie) @@ -23,9 +23,6 @@ #include <stdlib.h> #include <unistd.h> #include "flash.h" - -#if SERPROG_SUPPORT == 1 - #include <string.h> #include <ctype.h> #include <fcntl.h> @@ -774,42 +771,3 @@ sp_opbuf_usage += 5; sp_prev_was_write = 0; } - -#else - -int serprog_init(void) -{ - fprintf(stderr, "Serial programmer support was not compiled in\n"); - exit(1); -} - -int serprog_shutdown(void) -{ - fprintf(stderr, "Serial programmer support was not compiled in\n"); - exit(1); -} - -void serprog_chip_writeb(uint8_t val, chipaddr addr) -{ - fprintf(stderr, "Serial programmer support was not compiled in\n"); - exit(1); -} - -uint8_t serprog_chip_readb(const chipaddr addr) -{ - fprintf(stderr, "Serial programmer support was not compiled in\n"); - exit(1); -} - -void serprog_chip_readn(uint8_t *buf, const chipaddr addr, size_t len) -{ - fprintf(stderr, "Serial programmer support was not compiled in\n"); - exit(1); -} - -void serprog_delay(int delay) -{ - fprintf(stderr, "Serial programmer support was not compiled in\n"); - exit(1); -} -#endif Index: flashrom-serprog_compileout/Makefile =================================================================== --- flashrom-serprog_compileout/Makefile (Revision 680) +++ flashrom-serprog_compileout/Makefile (Arbeitskopie) @@ -49,7 +49,7 @@ sst49lfxxxc.o sst_fwhub.o layout.o cbtable.o flashchips.o physmap.o \ flashrom.o w39v080fa.o sharplhf00l04.o w29ee011.o spi.o it87spi.o \ ichspi.o w39v040c.o sb600spi.o wbsio_spi.o m29f002.o internal.o \ - dummyflasher.o pcidev.o nic3com.o satasii.o ft2232_spi.o serprog.o \ + dummyflasher.o pcidev.o nic3com.o satasii.o ft2232_spi.o \ print.o
all: pciutils features dep $(PROGRAM) @@ -64,15 +64,21 @@
SVNDEF := -D'FLASHROM_VERSION="$(VERSION)"'
-$(PROGRAM): $(OBJS) - $(CC) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS) $(FEATURE_LIBS) +# Always enable serprog for now. Needs to be disabled on Windows. +CONFIG_SERPROG = yes
-FEATURE_CFLAGS = $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "-D'FT2232_SPI_SUPPORT=1'") -# Always enable serprog for now. Needs to be disabled on Windows. +ifeq ($(CONFIG_SERPROG), yes) FEATURE_CFLAGS += -D'SERPROG_SUPPORT=1' +OBJS += serprog.o +endif
-FEATURE_LIBS = $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "-lftdi") +FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "-D'FT2232_SPI_SUPPORT=1'")
+FEATURE_LIBS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "-lftdi") + +$(PROGRAM): $(OBJS) + $(CC) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS) $(FEATURE_LIBS) + # TAROPTIONS reduces information leakage from the packager's system. # If other tar programs support command line arguments for setting uid/gid of # stored files, they can be handled here as well. Index: flashrom-serprog_compileout/flashrom.c =================================================================== --- flashrom-serprog_compileout/flashrom.c (Revision 680) +++ flashrom-serprog_compileout/flashrom.c (Arbeitskopie) @@ -139,6 +139,7 @@ .delay = internal_delay, },
+#if SERPROG_SUPPORT == 1 { .name = "serprog", .init = serprog_init, @@ -155,6 +156,7 @@ .chip_writen = fallback_chip_writen, .delay = serprog_delay, }, +#endif
{}, /* This entry corresponds to PROGRAMMER_INVALID. */ };