[flashrom] [PATCH] Allow to compile out serprog completely

Stefan Reinauer stepan at coresystems.de
Wed Aug 12 18:09:12 CEST 2009


Acked-by: Stefan Reinauer <stepan at coresystems.de>

On 8/12/09 6:03 PM, Carl-Daniel Hailfinger wrote:
> 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 at 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. */
>  };
>
>
>   


-- 
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
      Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: info at coresystems.dehttp://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866





More information about the flashrom mailing list