[flashrom] [PATCH 7/7] Enable serprog on Windows.

Stefan Tauner stefan.tauner at student.tuwien.ac.at
Thu Jan 3 21:37:25 CET 2013


Sockets are not ported (yet).

Signed-off-by: Stefan Tauner <stefan.tauner at student.tuwien.ac.at>
Signed-off-by: Idwer Vollering <vidwer at gmail.com>
---
 Makefile  |    8 +-------
 serprog.c |   18 ++++++++++++------
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/Makefile b/Makefile
index b948996..0150dd1 100644
--- a/Makefile
+++ b/Makefile
@@ -138,12 +138,6 @@ FLASHROM_CFLAGS += -Dffs=__builtin_ffs
 # libusb-win32/libftdi stuff is usually installed in /usr/local.
 CPPFLAGS += -I/usr/local/include
 LDFLAGS += -L/usr/local/lib
-# Serprog is not supported under Windows/MinGW (missing sockets support).
-ifeq ($(CONFIG_SERPROG), yes)
-UNSUPPORTED_FEATURES += CONFIG_SERPROG=yes
-else
-override CONFIG_SERPROG = no
-endif
 # For now we disable all PCI-based programmers on Windows/MinGW (no libpci).
 ifeq ($(CONFIG_INTERNAL), yes)
 UNSUPPORTED_FEATURES += CONFIG_INTERNAL=yes
@@ -324,7 +318,7 @@ SVNDEF := -D'FLASHROM_VERSION="$(VERSION)"'
 # Always enable internal/onboard support for now.
 CONFIG_INTERNAL ?= yes
 
-# Always enable serprog for now. Needs to be disabled on Windows.
+# Always enable serprog for now.
 CONFIG_SERPROG ?= yes
 
 # RayeR SPIPGM hardware support
diff --git a/serprog.c b/serprog.c
index 9d86ff8..5842cce 100644
--- a/serprog.c
+++ b/serprog.c
@@ -20,21 +20,23 @@
  */
 
 #include <stdio.h>
+#ifndef _WIN32 /* stuff (presumably) needed for sockets only */
 #include <stdlib.h>
 #include <unistd.h>
-#include <strings.h>
-#include <string.h>
-#include <ctype.h>
 #include <fcntl.h>
 #include <sys/socket.h>
 #include <arpa/inet.h>
 #include <netinet/in.h>
 #include <netinet/tcp.h>
 #include <netdb.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <inttypes.h>
+#endif
+#ifdef _WIN32
+#include <conio.h>
+#else
 #include <termios.h>
+#endif
+#include <string.h>
+#include <errno.h>
 #include "flash.h"
 #include "programmer.h"
 #include "chipdrivers.h"
@@ -81,6 +83,7 @@ static int sp_opbuf_usage = 0;
 	whether the command is supported before doing it */
 static int sp_check_avail_automatic = 0;
 
+#ifndef WIN32
 static int sp_opensocket(char *ip, unsigned int port)
 {
 	int flag = 1;
@@ -114,6 +117,7 @@ static int sp_opensocket(char *ip, unsigned int port)
 	setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, &flag, sizeof(int));
 	return sock;
 }
+#endif
 
 /* Synchronize: a bit tricky algorithm that tries to (and in my tests has *
  * always succeeded in) bring the serial protocol to known waiting-for-   *
@@ -351,6 +355,7 @@ int serprog_init(void)
 	}
 	free(device);
 
+#ifndef _WIN32
 	device = extract_programmer_param("ip");
 	if (have_device && device) {
 		msg_perr("Error: Both host and device specified.\n"
@@ -394,6 +399,7 @@ int serprog_init(void)
 			 "flashrom -p serprog:ip=ipaddr:port\n");
 		return 1;
 	}
+#endif
 
 	if (register_shutdown(serprog_shutdown, NULL))
 		return 1;
-- 
Kind regards, Stefan Tauner





More information about the flashrom mailing list