flashrom: bump to 1.2
authorStijn Tintel <redacted>
Thu, 16 Apr 2020 17:30:55 +0000 (20:30 +0300)
committerStijn Tintel <redacted>
Thu, 16 Apr 2020 20:43:08 +0000 (23:43 +0300)
Add new PCI and USB drivers to flashrom.mk to disable them in other
build variant.s
Fix DefineConfig calls to use new config symbols, and have it only
append NEED_FEATURE=yes to MAKE_FLAGS. Appending NEED_FEATURE=no would
still enable the feature because upstream compares against an empty
string instead of comparing to yes.
Drop libusb-compat dependency as all drivers use libusb-1 now.
Remove upstreamed patch 010-add-arc.patch.
Rework 0001-fix_internal_bitbang.patch, give it a correct prefix and
more descriptive name.

Signed-off-by: Stijn Tintel <redacted>
utils/flashrom/Makefile
utils/flashrom/flashrom.mk
utils/flashrom/patches/0001-fix_internal_bitbang.patch [deleted file]
utils/flashrom/patches/0003-ch341a_spi-avoid-deprecated-libusb-functions.patch [deleted file]
utils/flashrom/patches/010-add-arc.patch [deleted file]
utils/flashrom/patches/900-build_internal_programmer_all_archs.patch [new file with mode: 0644]

index 937b48035e129aa28cf99c646deba2f3b21b2aa1..204a2413bd63da21969a35a62abf57baec2fae06 100644 (file)
@@ -8,13 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=flashrom
-PKG_VERSION:=1.0
-PKG_RELEASE:=2
+PKG_VERSION:=1.2
+PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://download.flashrom.org/releases
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_HASH:=3702fa215ba5fb5af8e54c852d239899cfa1389194c1e51cb2a170c4dc9dee64
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
+PKG_HASH:=e1f8d95881f5a4365dfe58776ce821dfcee0f138f75d0f44f8a3cd032d9ea42b
 
 PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
 PKG_LICENSE:=GPL-2.0-or-later
@@ -46,7 +47,6 @@ define Package/flashrom
     +(TARGET_x86||TARGET_x86_64):dmidecode \
     +libftdi1 \
     +libusb-1.0 \
-    +libusb-compat \
     +pciutils
   VARIANT:=full
   DEFAULT_VARIANT:=1
@@ -72,8 +72,7 @@ define Package/flashrom-usb
   TITLE+= (usb)
   DEPENDS+= \
     +libftdi1 \
-    +libusb-1.0 \
-    +libusb-compat
+    +libusb-1.0
   VARIANT:=usb
 endef
 
index f910758a4d66f68189b77cd194a55002b1099220..0efb2eab049b6e765b04bb52afccd30b74223dc2 100644 (file)
@@ -4,7 +4,9 @@ define DefaultProgrammer
   MAKE_FLAGS += CONFIG_DEFAULT_PROGRAMMER=PROGRAMMER_$(1)
 endef
 define DefineConfig
-  MAKE_FLAGS += NEED_$(1)=$(2)
+  ifeq ($(2),yes)
+    MAKE_FLAGS += NEED_$(1)=$(2)
+  endif
 endef
 define DefineProgrammer
   # Selecting invalid programmers will fail
@@ -57,7 +59,7 @@ $(eval $(call DefineProgrammer,LINUX_SPI,$(FLASHROM_BASIC)))
 $(eval $(call DefineProgrammer,DUMMY,$(FLASHROM_BASIC)))
 
 # FTDI
-$(eval $(call DefineConfig,FTDI,$(FLASHROM_FTDI)))
+$(eval $(call DefineConfig,LIBFTDI,$(FLASHROM_FTDI)))
 $(eval $(call DefineProgrammer,FT2232_SPI,$(FLASHROM_FTDI)))
 $(eval $(call DefineProgrammer,USBBLASTER_SPI,$(FLASHROM_FTDI)))
 
@@ -66,17 +68,18 @@ $(eval $(call DefineConfig,RAW_ACCESS,$(FLASHROM_RAW)))
 $(eval $(call DefineProgrammer,RAYER_SPI,$(FLASHROM_RAW)))
 
 # PCI
-$(eval $(call DefineConfig,PCI,$(FLASHROM_PCI)))
+$(eval $(call DefineConfig,LIBPCI,$(FLASHROM_PCI)))
 $(eval $(call DefineProgrammer,INTERNAL,$(FLASHROM_PCI)))
 $(eval $(call DefineProgrammer,NIC3COM,$(FLASHROM_PCI)))
 $(eval $(call DefineProgrammer,GFXNVIDIA,$(FLASHROM_PCI)))
 $(eval $(call DefineProgrammer,SATASII,$(FLASHROM_PCI)))
-#$(eval $(call DefineProgrammer,ATAHPT,$(FLASHROM_PCI)))
+$(eval $(call DefineProgrammer,ATAHPT,$(FLASHROM_PCI)))
+$(eval $(call DefineProgrammer,ATAPROMISE,$(FLASHROM_PCI)))
 $(eval $(call DefineProgrammer,ATAVIA,$(FLASHROM_PCI)))
 $(eval $(call DefineProgrammer,IT8212,$(FLASHROM_PCI)))
 $(eval $(call DefineProgrammer,DRKAISER,$(FLASHROM_PCI)))
 $(eval $(call DefineProgrammer,NICREALTEK,$(FLASHROM_PCI)))
-#$(eval $(call DefineProgrammer,NICNATSEMI,$(FLASHROM_PCI)))
+$(eval $(call DefineProgrammer,NICNATSEMI,$(FLASHROM_PCI)))
 $(eval $(call DefineProgrammer,NICINTEL,$(FLASHROM_PCI)))
 $(eval $(call DefineProgrammer,NICINTEL_SPI,$(FLASHROM_PCI)))
 $(eval $(call DefineProgrammer,NICINTEL_EEPROM,$(FLASHROM_PCI)))
@@ -89,11 +92,11 @@ $(eval $(call DefineProgrammer,SERPROG,$(FLASHROM_SERIAL)))
 $(eval $(call DefineProgrammer,PONY_SPI,$(FLASHROM_SERIAL)))
 $(eval $(call DefineProgrammer,BUSPIRATE_SPI,$(FLASHROM_SERIAL)))
 
-# USB0
-$(eval $(call DefineConfig,USB0,$(FLASHROM_USB)))
-$(eval $(call DefineProgrammer,PICKIT2_SPI,$(FLASHROM_USB)))
-
 # USB1
-$(eval $(call DefineConfig,USB1,$(FLASHROM_USB)))
+$(eval $(call DefineConfig,LIBUSB1,$(FLASHROM_USB)))
 $(eval $(call DefineProgrammer,CH341A_SPI,$(FLASHROM_USB)))
 $(eval $(call DefineProgrammer,DEDIPROG,$(FLASHROM_USB)))
+$(eval $(call DefineProgrammer,DEVELOPERBOX_SPI,$(FLASHROM_USB)))
+$(eval $(call DefineProgrammer,DIGILENT_SPI,$(FLASHROM_USB)))
+$(eval $(call DefineProgrammer,PICKIT2_SPI,$(FLASHROM_USB)))
+$(eval $(call DefineProgrammer,STLINKV3_SPI,$(FLASHROM_USB)))
diff --git a/utils/flashrom/patches/0001-fix_internal_bitbang.patch b/utils/flashrom/patches/0001-fix_internal_bitbang.patch
deleted file mode 100644 (file)
index 581e070..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/programmer.h
-+++ b/programmer.h
-@@ -584,7 +584,7 @@ enum spi_controller {
- #if CONFIG_DEDIPROG == 1
-       SPI_CONTROLLER_DEDIPROG,
- #endif
--#if CONFIG_OGP_SPI == 1 || CONFIG_NICINTEL_SPI == 1 || CONFIG_RAYER_SPI == 1 || CONFIG_PONY_SPI == 1 || (CONFIG_INTERNAL == 1 && (defined(__i386__) || defined(__x86_64__)))
-+#if CONFIG_OGP_SPI == 1 || CONFIG_NICINTEL_SPI == 1 || CONFIG_RAYER_SPI == 1 || CONFIG_PONY_SPI == 1 || CONFIG_INTERNAL == 1
-       SPI_CONTROLLER_BITBANG,
- #endif
- #if CONFIG_LINUX_SPI == 1
diff --git a/utils/flashrom/patches/0003-ch341a_spi-avoid-deprecated-libusb-functions.patch b/utils/flashrom/patches/0003-ch341a_spi-avoid-deprecated-libusb-functions.patch
deleted file mode 100644 (file)
index fa941e4..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-From 291764a70e6d8b212680e311bfb0825abf2b9a2f Mon Sep 17 00:00:00 2001
-From: Alex James <theracermaster@gmail.com>
-Date: Sat, 14 Apr 2018 22:59:57 -0500
-Subject: ch341a_spi: Avoid deprecated libusb functions
-
-libusb 1.0.22 marked libusb_set_debug as deprecated. For such versions
-of libusb, use libusb_set_option instead.
-
-Change-Id: Ib71ebe812316eaf49136979a942a946ef9e4d487
-Signed-off-by: Alex James <theracermaster@gmail.com>
-Reviewed-on: https://review.coreboot.org/25681
-Tested-by: Nico Huber <nico.h@gmx.de>
-Reviewed-by: David Hendricks <david.hendricks@gmail.com>
----
- ch341a_spi.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-(limited to 'ch341a_spi.c')
-
-diff --git a/ch341a_spi.c b/ch341a_spi.c
-index 95e9c95..ee18624 100644
---- a/ch341a_spi.c
-+++ b/ch341a_spi.c
-@@ -444,7 +444,12 @@ int ch341a_spi_init(void)
-               return -1;
-       }
--      libusb_set_debug(NULL, 3); // Enable information, warning and error messages (only).
-+      /* Enable information, warning, and error messages (only). */
-+#if LIBUSB_API_VERSION < 0x01000106
-+      libusb_set_debug(NULL, 3);
-+#else
-+      libusb_set_option(NULL, LIBUSB_OPTION_LOG_LEVEL, LIBUSB_LOG_LEVEL_INFO);
-+#endif
-       uint16_t vid = devs_ch341a_spi[0].vendor_id;
-       uint16_t pid = devs_ch341a_spi[0].device_id;
--- 
-cgit v1.1
-
diff --git a/utils/flashrom/patches/010-add-arc.patch b/utils/flashrom/patches/010-add-arc.patch
deleted file mode 100644 (file)
index c2ccbe8..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -420,7 +420,7 @@ endif
- # Disable all drivers needing raw access (memory, PCI, port I/O) on
- # architectures with unknown raw access properties.
- # Right now those architectures are alpha hppa m68k sh s390
--ifneq ($(ARCH),$(filter $(ARCH),x86 mips ppc arm sparc))
-+ifneq ($(ARCH),$(filter $(ARCH),x86 mips ppc arm sparc arc))
- ifeq ($(CONFIG_INTERNAL), yes)
- UNSUPPORTED_FEATURES += CONFIG_INTERNAL=yes
- else
---- a/hwaccess.h
-+++ b/hwaccess.h
-@@ -87,6 +87,13 @@
- /* SPARC is big endian in general (but allows to access data in little endian too). */
- #define __FLASHROM_BIG_ENDIAN__ 1
-+#elif IS_ARC
-+#ifdef __arceb__
-+#define __FLASHROM_BIG_ENDIAN__ 1
-+#else
-+#define __FLASHROM_LITTLE_ENDIAN__ 1
-+#endif
-+
- #endif /* IS_? */
- #if !defined (__FLASHROM_BIG_ENDIAN__) && !defined (__FLASHROM_LITTLE_ENDIAN__)
-@@ -378,6 +385,8 @@ int libpayload_wrmsr(int addr, msr_t msr);
- /* Non memory mapped I/O is not supported on ARM. */
-+#elif IS_ARC
-+
- #else
- #error Unknown architecture, please check if it supports PCI port IO.
-diff --git a/platform.h b/platform.h
-index b2fdcd0..2e68e71 100644
---- a/platform.h
-+++ b/platform.h
-@@ -75,9 +75,12 @@
- #elif defined(__s390__) || defined(__s390x__) || defined(__zarch__)
-       #define __FLASHROM_ARCH__ "s390"
-       #define IS_S390 1
-+#elif defined (__arc__)
-+      #define __FLASHROM_ARCH__ "arc"
-+      #define IS_ARC 1
- #endif
--#if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM || IS_SPARC || IS_ALPHA || IS_HPPA || IS_M68K || IS_SH || IS_S390)
-+#if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM || IS_SPARC || IS_ALPHA || IS_HPPA || IS_M68K || IS_SH || IS_S390 || IS_ARC)
- #error Unknown architecture
- #endif
diff --git a/utils/flashrom/patches/900-build_internal_programmer_all_archs.patch b/utils/flashrom/patches/900-build_internal_programmer_all_archs.patch
new file mode 100644 (file)
index 0000000..4dd58a4
--- /dev/null
@@ -0,0 +1,18 @@
+--- a/Makefile
++++ b/Makefile
+@@ -424,15 +424,6 @@ endif
+ override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"'))
+ override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null | grep -v '^\#'))
+-# Disable the internal programmer on unsupported architectures (everything but x86 and mipsel)
+-ifneq ($(ARCH)-little, $(filter $(ARCH),x86 mips)-$(ENDIAN))
+-ifeq ($(CONFIG_INTERNAL), yes)
+-UNSUPPORTED_FEATURES += CONFIG_INTERNAL=yes
+-else
+-override CONFIG_INTERNAL = no
+-endif
+-endif
+-
+ # PCI port I/O support is unimplemented on PPC/MIPS/SPARC and unavailable on ARM.
+ # Right now this means the drivers below only work on x86.
+ ifneq ($(ARCH), x86)
git clone https://git.99rst.org/PROJECT