Bladeren bron

Update OpenWrt base

Matthias Schiffer 7 jaren geleden
bovenliggende
commit
e1808451aa
100 gewijzigde bestanden met toevoegingen van 4608 en 3814 verwijderingen
  1. 1 1
      modules
  2. 4528 162
      patches/openwrt/0007-mac80211-hostapd-iw-.-update-to-LEDE-42f559ed70897a7b74dd3e6293b42e6d2e511eaa.patch
  3. 2 2
      patches/openwrt/0013-fix-UBNT-XM-model-detection.patch
  4. 2 2
      patches/openwrt/0019-ar71xx-check-both-HWID-and-HWREV-on-upgrades-of-TP-LINK-devices.patch
  5. 1 1
      patches/openwrt/0020-ar71xx-avoid-AR71XX_MODEL-ending-with-a-space-on-some-TP-LINK-like-devices.patch
  6. 1 1
      patches/openwrt/0021-ar71xx-fix-the-revision-of-a-few-TP-LINK-devices-in-AR71XX_MODEL-to-match-labels-image-names.patch
  7. 1 1
      patches/openwrt/0022-ar71xx-build-image-for-TL-WR710N-v2.1.patch
  8. 0 0
      patches/openwrt/0032-ath79-dev-eth-fix-QCA9561-set-phy-interface-mode-and-mask.patch
  9. 0 37
      patches/openwrt/0032-tools-pkg-config-fix-build-with-GCC-6.patch
  10. 0 0
      patches/openwrt/0033-ar71xx-use-correct-PLL-configuration-register-bitmask-for-QCA956x-SoC.patch
  11. 0 815
      patches/openwrt/0033-tools-mkimage-sync-include-linux-compiler-.h-with-u-boot-master.patch
  12. 34 0
      patches/openwrt/0034-ar71xx-update-QCA956x-support.patch
  13. 0 144
      patches/openwrt/0034-toolchain-gcc-fix-build-with-GCC-6.patch
  14. 0 0
      patches/openwrt/0035-ar71xx-fold-patch-622-MIPS-ath79-add-support-for-QCA956x-ethernet.patch-into-files.patch
  15. 0 0
      patches/openwrt/0036-ar71xx-fix-MDIO-bus-probe-on-QCA956x.patch
  16. 0 0
      patches/openwrt/0037-ar71xx-fix-qca956x-ethernet-initialization.patch
  17. 11 11
      patches/openwrt/0038-ar71xx-Support-for-Ubiquiti-UniFi-AP-AC-LITE.patch
  18. 0 0
      patches/openwrt/0039-ar71xx-Fix-eth0-support-for-Ubiquiti-UniFi-AP-AC.patch
  19. 10 10
      patches/openwrt/0040-ar71xx-Rename-unifiac-to-unifiac-lite.patch
  20. 10 10
      patches/openwrt/0041-ar71xx-Add-support-for-Ubiquiti-UniFi-AP-AC-PRO.patch
  21. 0 0
      patches/openwrt/0042-libjson-c-Add-support-for-custom-format-strings-for-doubles.patch
  22. 0 0
      patches/openwrt/0043-ath9k-add-HSR-tuner-support-for-UniFi-Outdoor-Plus.patch
  23. 0 0
      patches/openwrt/0044-ar71xx-Send-power-to-USB-port-on-WNR2200.patch
  24. 0 30
      patches/openwrt/0045-ar71xx-Generate-sysupgrade-images-for-OpenMesh-devices.patch
  25. 0 0
      patches/openwrt/0045-ar71xx-WNR2200-fix-for-random-WLAN-MAC.patch
  26. 2 2
      patches/openwrt/0046-ar71xx-WNR2200-enable-control-of-all-LEDs-and-buttons.patch
  27. 0 202
      patches/openwrt/0046-ar71xx-add-kernel-support-for-the-OpenMesh-MR1750-board.patch
  28. 5 5
      patches/openwrt/0047-ar71xx-add-GL-AR150-support.patch
  29. 0 67
      patches/openwrt/0047-ar71xx-add-user-space-support-for-the-OpenMesh-MR1750-board.patch
  30. 0 0
      patches/openwrt/0048-build-don-t-add-j-for-parallel-builds-with-Make-4.2.patch
  31. 0 32
      patches/openwrt/0048-scripts-om-fwupgradecfg-gen.sh-add-support-for-the-MR1750.patch
  32. 0 55
      patches/openwrt/0049-ar71xx-enable-sysupgrade-for-the-OpenMesh-MR1750.patch
  33. 0 0
      patches/openwrt/0049-tools-cmake-fix-parallel-build-with-Make-4.2.patch
  34. 0 0
      patches/openwrt/0050-linux-make-IPv6-builtin-if-selected-saves-30KB.patch
  35. 0 23
      patches/openwrt/0050-package-om-watchdog-add-OpenMesh-MR1750-support.patch
  36. 0 0
      patches/openwrt/0051-package-ipkg.mk-fix-Provides-for-packages-with-multiple-PROVIDES-entries.patch
  37. 0 22
      patches/openwrt/0051-package-uboot-envtools-add-OpenMesh-MR1750-support.patch
  38. 0 57
      patches/openwrt/0052-ar71xx-create-profile-and-build-image-for-the-OpenMesh-MR1750-board.patch
  39. 0 0
      patches/openwrt/0052-kernel-remove-packaging-of-kmod-crypto-core-and-kmod-crypto-arc4.patch
  40. 0 47
      patches/openwrt/0053-ar71xx-Extend-the-list-of-bits-in-QCA955X_GMAC_REG_ETH_CFG.patch
  41. 0 0
      patches/openwrt/0053-x86-stop-relying-on-hexdump-for-image-build-signature.patch
  42. 0 49
      patches/openwrt/0054-ar71xx-Use-_eth_cfg-helper-for-Open-Mesh-MR900-boards.patch
  43. 0 0
      patches/openwrt/0054-mt76-fix-build-with-kernel-3.18.patch
  44. 0 79
      patches/openwrt/0055-ar71xx-Allow-to-use-ath79_gpio_output_select-on-QCA955x.patch
  45. 0 0
      patches/openwrt/0055-ramips-Support-LEDs-on-D-Link-DIR-860L-B1.patch
  46. 0 32
      patches/openwrt/0056-ar71xx-Add-support-for-ath79_gpio_function_-on-QCA955X.patch
  47. 0 0
      patches/openwrt/0056-ramips-add-button-support-and-make-LEDs-known-to-userspace-for-DIR-860L-B1.patch
  48. 0 159
      patches/openwrt/0057-ar71xx-Add-QCA955X-GPIO-mux-and-function-definitions.patch
  49. 0 0
      patches/openwrt/0057-ramips-set-correct-LAN-WAN-MAC-addresses-on-DIR-860L-B1.patch
  50. 0 78
      patches/openwrt/0058-ar71xx-Use-PHY-fixups-for-Open-Mesh-MR900.patch
  51. 0 0
      patches/openwrt/0058-ar71xx-add-support-for-TP-LINK-TL-WR842N-ND-v3.patch
  52. 0 0
      patches/openwrt/0059-ar71xx-Fix-TL-WR841N-v11-LEDs-use-separate-machine.patch
  53. 0 77
      patches/openwrt/0059-ar71xx-Use-PHY-fixups-for-Open-Mesh-MR1750.patch
  54. 0 58
      patches/openwrt/0060-ar71xx-Use-private-version-of-ath79_setup_qca955x_eth_cfg-for-MR900.patch
  55. 0 0
      patches/openwrt/0060-x86-generic-enable-CONFIG_SATA_VIA.patch
  56. 0 58
      patches/openwrt/0061-ar71xx-Use-private-version-of-ath79_setup_qca955x_eth_cfg-for-MR1750.patch
  57. 0 0
      patches/openwrt/0061-libpcap-fix-dependency-of-install-shared-so-make-target.patch
  58. 0 0
      patches/openwrt/0062-ar71xx-add-revision-detection-for-D-Link-DIR-505-A1-A2.patch
  59. 0 43
      patches/openwrt/0062-scripts-om-fwupgradecfg-gen.sh-Fix-u-boot-image-md5sum-check.patch
  60. 0 0
      patches/openwrt/0063-ar71xx-don-t-use-D-Link-DIR-505-status-LED-as-ethernet-indicator.patch
  61. 0 50
      patches/openwrt/0063-scripts-om-fwupgradecfg-gen.sh-Generate-sha256sum-for-uboot-verification.patch
  62. 0 265
      patches/openwrt/0064-ar71xx-add-kernel-support-for-the-OpenMesh-OM5P-AC-board.patch
  63. 0 0
      patches/openwrt/0064-ar71xx-cpe510-enable-LNA-for-CPE210-220-510-520.patch
  64. 0 54
      patches/openwrt/0065-ar71xx-add-user-space-support-for-the-OpenMesh-OM5P-AC.patch
  65. 0 0
      patches/openwrt/0065-ar71xx-cpe510-split-profile-into-2-profiles-cpe210-and-cpe510.patch
  66. 0 0
      patches/openwrt/0066-fw-utils-tplink-safeloader.c-Add-support-for-Archer-C2600.patch
  67. 0 32
      patches/openwrt/0066-scripts-om-fwupgradecfg-gen.sh-add-support-for-the-OM5P-AC.patch
  68. 0 59
      patches/openwrt/0067-ar71xx-enable-sysupgrade-for-the-OpenMesh-OM5P-AC.patch
  69. 0 0
      patches/openwrt/0067-tools-tplink-safeloader-split-CPE210-from-CPE510-profile.patch
  70. 0 0
      patches/openwrt/0068-dropbear-update-to-LEDE-277f85c21ae0ede4e15e66cbd801b9fb502531df.patch
  71. 0 24
      patches/openwrt/0068-om-watchdog-add-OpenMesh-OM5P-AC-support.patch
  72. 0 0
      patches/openwrt/0069-ar71xx-Added-support-for-TL-WA801NDv3.patch
  73. 0 22
      patches/openwrt/0069-uboot-envtools-add-OpenMesh-OM5P-AC-support.patch
  74. 0 25
      patches/openwrt/0070-ar71xx-extract-ath10k-wifi-board.bin-for-the-OpenMesh-OM5P-AC-board.patch
  75. 0 0
      patches/openwrt/0070-firmware-utils-mktplinkfw-backport-from-LEDE-a4fc62bc0ea4010ddbfbd738453c9db70988a57c.patch
  76. 0 0
      patches/openwrt/0071-ar71xx-backport-support-for-new-TP-Link-region-codes.patch
  77. 0 53
      patches/openwrt/0071-ar71xx-create-profile-and-build-image-for-the-OpenMesh-OM5P-AC-board.patch
  78. 0 289
      patches/openwrt/0072-ar71xx-add-kernel-support-for-the-OpenMesh-OM5P-ACv2-board.patch
  79. 0 0
      patches/openwrt/0072-ath10k-firmware-add-ath10k-firmware-qca988x-11s.patch
  80. 0 38
      patches/openwrt/0073-ar71xx-add-user-space-support-for-the-OpenMesh-OM5P-ACv2.patch
  81. 0 0
      patches/openwrt/0073-mac80211-fix-packet-loss-on-fq-reordering.patch
  82. 0 46
      patches/openwrt/0074-ar71xx-enable-sysupgrade-for-the-OpenMesh-OM5P-ACv2.patch
  83. 0 0
      patches/openwrt/0074-mac80211-fix-tx-issue-with-CCMP-PN-generated-in-hardware.patch
  84. 0 0
      patches/openwrt/0075-ath9k-remove-patch-causing-stability-issues-with-powersave-devices-FS-176.patch
  85. 0 23
      patches/openwrt/0075-om-watchdog-add-OpenMesh-OM5P-ACv2-support.patch
  86. 0 22
      patches/openwrt/0076-uboot-envtools-add-OpenMesh-OM5P-ACv2-support.patch
  87. 0 24
      patches/openwrt/0077-ar71xx-extract-ath10k-wifi-board.bin-for-the-OpenMesh-OM5P-ACv2-board.patch
  88. 0 29
      patches/openwrt/0078-ar71xx-add-OM5P-ACv2-to-the-OM5P-AC-profile.patch
  89. 0 24
      patches/openwrt/0085-scripts-feeds-fix-version-detection-for-Make-4.2.1.patch
  90. 0 33
      patches/openwrt/0091-ar71xx-add-kernel-support-for-the-OpenMesh-OM2P-HSv3.patch
  91. 0 46
      patches/openwrt/0092-ar71xx-add-user-space-support-for-the-OpenMesh-OM2P-HSv3.patch
  92. 0 40
      patches/openwrt/0093-ar71xx-enable-sysupgrade-for-the-OpenMesh-OM2P-HSv3.patch
  93. 0 21
      patches/openwrt/0094-package-om-watchdog-add-OpenMesh-OM2P-HSv3-support.patch
  94. 0 20
      patches/openwrt/0095-package-uboot-envtools-add-OpenMesh-OM2P-HSv3-support.patch
  95. 0 27
      patches/openwrt/0096-ar71xx-add-OM2P-HSv3-to-the-OM2P-profile.patch
  96. 0 33
      patches/openwrt/0097-ar71xx-add-kernel-support-for-the-OpenMesh-MR1750v2.patch
  97. 0 62
      patches/openwrt/0098-ar71xx-add-user-space-support-for-the-OpenMesh-MR1750v2.patch
  98. 0 40
      patches/openwrt/0099-ar71xx-enable-sysupgrade-for-the-OpenMesh-MR1750v2.patch
  99. 0 21
      patches/openwrt/0100-package-om-watchdog-add-OpenMesh-MR1750v2-support.patch
  100. 0 20
      patches/openwrt/0101-package-uboot-envtools-add-OpenMesh-MR1750v2-support.patch

+ 1 - 1
modules

@@ -1,7 +1,7 @@
 GLUON_FEEDS='openwrt gluon routing luci'
 
 OPENWRT_REPO=git://github.com/openwrt/openwrt.git
-OPENWRT_COMMIT=e663db7bb1797740c4a29ac0fc96eda1b88f9e6e
+OPENWRT_COMMIT=b21852c60f82bbd53c19098fc0eb1f4cfccfaf35
 OPENWRT_BRANCH=chaos_calmer
 
 PACKAGES_OPENWRT_REPO=git://github.com/openwrt/packages.git

File diff suppressed because it is too large
+ 4528 - 162
patches/openwrt/0007-mac80211-hostapd-iw-.-update-to-LEDE-42f559ed70897a7b74dd3e6293b42e6d2e511eaa.patch


+ 2 - 2
patches/openwrt/0013-fix-UBNT-XM-model-detection.patch

@@ -5,7 +5,7 @@ Subject: fix UBNT XM model detection
 Signed-off-by: Neal Oakey <neal.oakey@bingo-ev.de>
 
 diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-index dab4d2c..e7b3cd2 100755
+index 2f4b112..b220aad 100755
 --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
 +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
 @@ -64,6 +64,40 @@ wndr3700_board_detect() {
@@ -64,7 +64,7 @@ index dab4d2c..e7b3cd2 100755
  		;;
  	*"Nanostation M XW")
  		name="nanostation-m-xw"
-@@ -667,6 +703,7 @@ ar71xx_board_detect() {
+@@ -682,6 +718,7 @@ ar71xx_board_detect() {
  		;;
  	*"Rocket M")
  		name="rocket-m"

+ 2 - 2
patches/openwrt/0019-ar71xx-check-both-HWID-and-HWREV-on-upgrades-of-TP-LINK-devices.patch

@@ -10,7 +10,7 @@ Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
 Backport of r49105
 
 diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-index d025632..c5c1871 100755
+index bf53169..ccccc17 100755
 --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
 +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
 @@ -66,6 +66,10 @@ tplink_get_image_hwid() {
@@ -24,7 +24,7 @@ index d025632..c5c1871 100755
  tplink_get_image_boot_size() {
  	get_image "$@" | dd bs=4 count=1 skip=37 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
  }
-@@ -366,13 +370,17 @@ platform_check_image() {
+@@ -371,13 +375,17 @@ platform_check_image() {
  		}
  
  		local hwid

+ 1 - 1
patches/openwrt/0020-ar71xx-avoid-AR71XX_MODEL-ending-with-a-space-on-some-TP-LINK-like-devices.patch

@@ -11,7 +11,7 @@ Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
 Backport of r49106
 
 diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-index e7b3cd2..180a075 100755
+index b220aad..395a012 100755
 --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
 +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
 @@ -133,7 +133,7 @@ tplink_board_detect() {

+ 1 - 1
patches/openwrt/0021-ar71xx-fix-the-revision-of-a-few-TP-LINK-devices-in-AR71XX_MODEL-to-match-labels-image-names.patch

@@ -12,7 +12,7 @@ Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
 Backport of r49107
 
 diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-index 180a075..ddd6611 100755
+index 395a012..131364c 100755
 --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
 +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
 @@ -162,6 +162,10 @@ tplink_board_detect() {

+ 1 - 1
patches/openwrt/0022-ar71xx-build-image-for-TL-WR710N-v2.1.patch

@@ -11,7 +11,7 @@ Signed off by: Norbert Wegener <nw@wegener-net.de>
 Backport of r47849
 
 diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
-index 9a7acbd..d42ceef 100644
+index 8551399..7184966 100644
 --- a/target/linux/ar71xx/image/Makefile
 +++ b/target/linux/ar71xx/image/Makefile
 @@ -476,6 +476,15 @@ define Device/tl-wr710n-v2

+ 0 - 0
patches/openwrt/0035-ath79-dev-eth-fix-QCA9561-set-phy-interface-mode-and-mask.patch → patches/openwrt/0032-ath79-dev-eth-fix-QCA9561-set-phy-interface-mode-and-mask.patch


+ 0 - 37
patches/openwrt/0032-tools-pkg-config-fix-build-with-GCC-6.patch

@@ -1,37 +0,0 @@
-From: Matthias Schiffer <mschiffer@universe-factory.net>
-Date: Sun, 8 May 2016 15:53:14 +0200
-Subject: tools: pkg-config: fix build with GCC 6
-
-Fixes the following error:
-
-gdate.c: In function ‘g_date_strftime’:
-gdate.c:2497:7: error: format not a string literal, format string not checked [-Werror=format-nonliteral]
-       tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
-       ^~~~~~
-
-Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
-
-diff --git a/tools/pkg-config/patches/001-glib-gdate-suppress-string-format-literal-warning.patch b/tools/pkg-config/patches/001-glib-gdate-suppress-string-format-literal-warning.patch
-new file mode 100644
-index 0000000..6849299
---- /dev/null
-+++ b/tools/pkg-config/patches/001-glib-gdate-suppress-string-format-literal-warning.patch
-@@ -0,0 +1,18 @@
-+--- a/glib/glib/gdate.c
-++++ b/glib/glib/gdate.c
-+@@ -2439,6 +2439,9 @@ win32_strftime_helper (const GDate     *d,
-+  *
-+  * Returns: number of characters written to the buffer, or 0 the buffer was too small
-+  */
-++#pragma GCC diagnostic push
-++#pragma GCC diagnostic ignored "-Wformat-nonliteral"
-++
-+ gsize     
-+ g_date_strftime (gchar       *s, 
-+                  gsize        slen, 
-+@@ -2549,3 +2552,5 @@ g_date_strftime (gchar       *s,
-+   return retval;
-+ #endif
-+ }
-++
-++#pragma GCC diagnostic pop

+ 0 - 0
patches/openwrt/0036-ar71xx-use-correct-PLL-configuration-register-bitmask-for-QCA956x-SoC.patch → patches/openwrt/0033-ar71xx-use-correct-PLL-configuration-register-bitmask-for-QCA956x-SoC.patch


+ 0 - 815
patches/openwrt/0033-tools-mkimage-sync-include-linux-compiler-.h-with-u-boot-master.patch

@@ -1,815 +0,0 @@
-From: Matthias Schiffer <mschiffer@universe-factory.net>
-Date: Sun, 8 May 2016 22:06:51 +0200
-Subject: tools: mkimage: sync include/linux/compiler*.h with u-boot master
-
-Fixes build with GCC 6.
-
-Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
-
-diff --git a/tools/mkimage/patches/200-compiler-support.patch b/tools/mkimage/patches/200-compiler-support.patch
-new file mode 100644
-index 0000000..ca9c5b5
---- /dev/null
-+++ b/tools/mkimage/patches/200-compiler-support.patch
-@@ -0,0 +1,702 @@
-+diff --git b/include/linux/compiler-gcc.h a/include/linux/compiler-gcc.h
-+index e057bd2..22ab246 100644
-+--- b/include/linux/compiler-gcc.h
-++++ a/include/linux/compiler-gcc.h
-+@@ -5,14 +5,28 @@
-+ /*
-+  * Common definitions for all gcc versions go here.
-+  */
-+-#define GCC_VERSION (__GNUC__ * 10000 \
-+-		   + __GNUC_MINOR__ * 100 \
-+-		   + __GNUC_PATCHLEVEL__)
-+-
-++#define GCC_VERSION (__GNUC__ * 10000		\
-++		     + __GNUC_MINOR__ * 100	\
-++		     + __GNUC_PATCHLEVEL__)
-+ 
-+ /* Optimization barrier */
-++
-+ /* The "volatile" is due to gcc bugs */
-+ #define barrier() __asm__ __volatile__("": : :"memory")
-++/*
-++ * This version is i.e. to prevent dead stores elimination on @ptr
-++ * where gcc and llvm may behave differently when otherwise using
-++ * normal barrier(): while gcc behavior gets along with a normal
-++ * barrier(), llvm needs an explicit input variable to be assumed
-++ * clobbered. The issue is as follows: while the inline asm might
-++ * access any memory it wants, the compiler could have fit all of
-++ * @ptr into memory registers instead, and since @ptr never escaped
-++ * from that, it proofed that the inline asm wasn't touching any of
-++ * it. This version works well with both compilers, i.e. we're telling
-++ * the compiler that the inline asm absolutely may see the contents
-++ * of @ptr. See also: https://llvm.org/bugs/show_bug.cgi?id=15495
-++ */
-++#define barrier_data(ptr) __asm__ __volatile__("": :"r"(ptr) :"memory")
-+ 
-+ /*
-+  * This macro obfuscates arithmetic on a variable address so that gcc
-+@@ -32,58 +46,63 @@
-+  * the inline assembly constraint from =g to =r, in this particular
-+  * case either is valid.
-+  */
-+-#define RELOC_HIDE(ptr, off)					\
-+-  ({ unsigned long __ptr;					\
-+-    __asm__ ("" : "=r"(__ptr) : "0"(ptr));		\
-+-    (typeof(ptr)) (__ptr + (off)); })
-++#define RELOC_HIDE(ptr, off)						\
-++({									\
-++	unsigned long __ptr;						\
-++	__asm__ ("" : "=r"(__ptr) : "0"(ptr));				\
-++	(typeof(ptr)) (__ptr + (off));					\
-++})
-+ 
-+ /* Make the optimizer believe the variable can be manipulated arbitrarily. */
-+-#define OPTIMIZER_HIDE_VAR(var) __asm__ ("" : "=r" (var) : "0" (var))
-++#define OPTIMIZER_HIDE_VAR(var)						\
-++	__asm__ ("" : "=r" (var) : "0" (var))
-+ 
-+ #ifdef __CHECKER__
-+-#define __must_be_array(arr) 0
-++#define __must_be_array(a)	0
-+ #else
-+ /* &a[0] degrades to a pointer: a different type from an array */
-+-#define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
-++#define __must_be_array(a)	BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
-+ #endif
-+ 
-+ /*
-+  * Force always-inline if the user requests it so via the .config,
-+  * or if gcc is too old:
-+  */
-+-#if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \
-++#if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) ||		\
-+     !defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4)
-+-# define inline		inline		__attribute__((always_inline)) notrace
-+-# define __inline__	__inline__	__attribute__((always_inline)) notrace
-+-# define __inline	__inline	__attribute__((always_inline)) notrace
-++#define inline		inline		__attribute__((always_inline)) notrace
-++#define __inline__	__inline__	__attribute__((always_inline)) notrace
-++#define __inline	__inline	__attribute__((always_inline)) notrace
-+ #else
-+ /* A lot of inline functions can cause havoc with function tracing */
-+-# define inline		inline		notrace
-+-# define __inline__	__inline__	notrace
-+-# define __inline	__inline	notrace
-++#define inline		inline		notrace
-++#define __inline__	__inline__	notrace
-++#define __inline	__inline	notrace
-+ #endif
-+ 
-+-#define __deprecated			__attribute__((deprecated))
-+-#ifndef __packed
-+-#define __packed			__attribute__((packed))
-+-#endif
-+-#ifndef __weak
-+-#define __weak				__attribute__((weak))
-+-#endif
-++#define __always_inline	inline __attribute__((always_inline))
-++#define  noinline	__attribute__((noinline))
-++
-++#define __deprecated	__attribute__((deprecated))
-++#define __packed	__attribute__((packed))
-++#define __weak		__attribute__((weak))
-++#define __alias(symbol)	__attribute__((alias(#symbol)))
-+ 
-+ /*
-+- * it doesn't make sense on ARM (currently the only user of __naked) to trace
-+- * naked functions because then mcount is called without stack and frame pointer
-+- * being set up and there is no chance to restore the lr register to the value
-+- * before mcount was called.
-++ * it doesn't make sense on ARM (currently the only user of __naked)
-++ * to trace naked functions because then mcount is called without
-++ * stack and frame pointer being set up and there is no chance to
-++ * restore the lr register to the value before mcount was called.
-++ *
-++ * The asm() bodies of naked functions often depend on standard calling
-++ * conventions, therefore they must be noinline and noclone.
-+  *
-+- * The asm() bodies of naked functions often depend on standard calling conventions,
-+- * therefore they must be noinline and noclone.  GCC 4.[56] currently fail to enforce
-+- * this, so we must do so ourselves.  See GCC PR44290.
-++ * GCC 4.[56] currently fail to enforce this, so we must do so ourselves.
-++ * See GCC PR44290.
-+  */
-+-#define __naked				__attribute__((naked)) noinline __noclone notrace
-++#define __naked		__attribute__((naked)) noinline __noclone notrace
-+ 
-+-#define __noreturn			__attribute__((noreturn))
-++#define __noreturn	__attribute__((noreturn))
-+ 
-+ /*
-+  * From the GCC manual:
-+@@ -95,34 +114,170 @@
-+  * would be.
-+  * [...]
-+  */
-+-#ifndef __pure
-+-#define __pure				__attribute__((pure))
-++#define __pure			__attribute__((pure))
-++#define __aligned(x)		__attribute__((aligned(x)))
-++#define __printf(a, b)		__attribute__((format(printf, a, b)))
-++#define __scanf(a, b)		__attribute__((format(scanf, a, b)))
-++#define __attribute_const__	__attribute__((__const__))
-++#define __maybe_unused		__attribute__((unused))
-++#define __always_unused		__attribute__((unused))
-++
-++/* gcc version specific checks */
-++
-++#if GCC_VERSION < 30200
-++# error Sorry, your compiler is too old - please upgrade it.
-++#endif
-++
-++#if GCC_VERSION < 30300
-++# define __used			__attribute__((__unused__))
-++#else
-++# define __used			__attribute__((__used__))
-++#endif
-++
-++#ifdef CONFIG_GCOV_KERNEL
-++# if GCC_VERSION < 30400
-++#   error "GCOV profiling support for gcc versions below 3.4 not included"
-++# endif /* __GNUC_MINOR__ */
-++#endif /* CONFIG_GCOV_KERNEL */
-++
-++#if GCC_VERSION >= 30400
-++#define __must_check		__attribute__((warn_unused_result))
-++#endif
-++
-++#if GCC_VERSION >= 40000
-++
-++/* GCC 4.1.[01] miscompiles __weak */
-++#ifdef __KERNEL__
-++# if GCC_VERSION >= 40100 &&  GCC_VERSION <= 40101
-++#  error Your version of gcc miscompiles the __weak directive
-++# endif
-++#endif
-++
-++#define __used			__attribute__((__used__))
-++#define __compiler_offsetof(a, b)					\
-++	__builtin_offsetof(a, b)
-++
-++#if GCC_VERSION >= 40100 && GCC_VERSION < 40600
-++# define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
-++#endif
-++
-++#if GCC_VERSION >= 40300
-++/* Mark functions as cold. gcc will assume any path leading to a call
-++ * to them will be unlikely.  This means a lot of manual unlikely()s
-++ * are unnecessary now for any paths leading to the usual suspects
-++ * like BUG(), printk(), panic() etc. [but let's keep them for now for
-++ * older compilers]
-++ *
-++ * Early snapshots of gcc 4.3 don't support this and we can't detect this
-++ * in the preprocessor, but we can live with this because they're unreleased.
-++ * Maketime probing would be overkill here.
-++ *
-++ * gcc also has a __attribute__((__hot__)) to move hot functions into
-++ * a special section, but I don't see any sense in this right now in
-++ * the kernel context
-++ */
-++#define __cold			__attribute__((__cold__))
-++
-++#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
-++
-++#ifndef __CHECKER__
-++# define __compiletime_warning(message) __attribute__((warning(message)))
-++# define __compiletime_error(message) __attribute__((error(message)))
-++#endif /* __CHECKER__ */
-++#endif /* GCC_VERSION >= 40300 */
-++
-++#if GCC_VERSION >= 40500
-++/*
-++ * Mark a position in code as unreachable.  This can be used to
-++ * suppress control flow warnings after asm blocks that transfer
-++ * control elsewhere.
-++ *
-++ * Early snapshots of gcc 4.5 don't support this and we can't detect
-++ * this in the preprocessor, but we can live with this because they're
-++ * unreleased.  Really, we need to have autoconf for the kernel.
-++ */
-++#define unreachable() __builtin_unreachable()
-++
-++/* Mark a function definition as prohibited from being cloned. */
-++#define __noclone	__attribute__((__noclone__))
-++
-++#endif /* GCC_VERSION >= 40500 */
-++
-++#if GCC_VERSION >= 40600
-++/*
-++ * When used with Link Time Optimization, gcc can optimize away C functions or
-++ * variables which are referenced only from assembly code.  __visible tells the
-++ * optimizer that something else uses this function or variable, thus preventing
-++ * this.
-++ */
-++#define __visible	__attribute__((externally_visible))
-+ #endif
-+-#ifndef __aligned
-+-#define __aligned(x)			__attribute__((aligned(x)))
-++
-++
-++#if GCC_VERSION >= 40900 && !defined(__CHECKER__)
-++/*
-++ * __assume_aligned(n, k): Tell the optimizer that the returned
-++ * pointer can be assumed to be k modulo n. The second argument is
-++ * optional (default 0), so we use a variadic macro to make the
-++ * shorthand.
-++ *
-++ * Beware: Do not apply this to functions which may return
-++ * ERR_PTRs. Also, it is probably unwise to apply it to functions
-++ * returning extra information in the low bits (but in that case the
-++ * compiler should see some alignment anyway, when the return value is
-++ * massaged by 'flags = ptr & 3; ptr &= ~3;').
-++ */
-++#define __assume_aligned(a, ...) __attribute__((__assume_aligned__(a, ## __VA_ARGS__)))
-+ #endif
-+-#define __printf(a, b)			__attribute__((format(printf, a, b)))
-+-#define __scanf(a, b)			__attribute__((format(scanf, a, b)))
-+-#define  noinline			__attribute__((noinline))
-+-#define __attribute_const__		__attribute__((__const__))
-+-#define __maybe_unused			__attribute__((unused))
-+-#define __always_unused			__attribute__((unused))
-+ 
-+-#define __gcc_header(x) #x
-+-#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
-+-#define gcc_header(x) _gcc_header(x)
-+-#include gcc_header(__GNUC__)
-++/*
-++ * GCC 'asm goto' miscompiles certain code sequences:
-++ *
-++ *   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
-++ *
-++ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
-++ *
-++ * (asm goto is automatically volatile - the naming reflects this.)
-++ */
-++#define asm_volatile_goto(x...)	do { asm goto(x); asm (""); } while (0)
-++
-++#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
-++#if GCC_VERSION >= 40400
-++#define __HAVE_BUILTIN_BSWAP32__
-++#define __HAVE_BUILTIN_BSWAP64__
-++#endif
-++#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600)
-++#define __HAVE_BUILTIN_BSWAP16__
-++#endif
-++#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
-++
-++#if GCC_VERSION >= 50000
-++#define KASAN_ABI_VERSION 4
-++#elif GCC_VERSION >= 40902
-++#define KASAN_ABI_VERSION 3
-++#endif
-++
-++#if GCC_VERSION >= 40902
-++/*
-++ * Tell the compiler that address safety instrumentation (KASAN)
-++ * should not be applied to that function.
-++ * Conflicts with inlining: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67368
-++ */
-++#define __no_sanitize_address __attribute__((no_sanitize_address))
-++#endif
-++
-++#endif	/* gcc version >= 40000 specific checks */
-+ 
-+ #if !defined(__noclone)
-+ #define __noclone	/* not needed */
-+ #endif
-+ 
-++#if !defined(__no_sanitize_address)
-++#define __no_sanitize_address
-++#endif
-++
-+ /*
-+  * A trick to suppress uninitialized variable warning without generating any
-+  * code
-+  */
-+ #define uninitialized_var(x) x = x
-+-
-+-#ifndef __always_inline
-+-#define __always_inline		inline __attribute__((always_inline))
-+-#endif
-+diff --git b/include/linux/compiler-gcc3.h a/include/linux/compiler-gcc3.h
-+deleted file mode 100644
-+index 7d89feb..0000000
-+--- b/include/linux/compiler-gcc3.h
-++++ /dev/null
-+@@ -1,23 +0,0 @@
-+-#ifndef __LINUX_COMPILER_H
-+-#error "Please don't include <linux/compiler-gcc3.h> directly, include <linux/compiler.h> instead."
-+-#endif
-+-
-+-#if GCC_VERSION < 30200
-+-# error Sorry, your compiler is too old - please upgrade it.
-+-#endif
-+-
-+-#if GCC_VERSION >= 30300
-+-# define __used			__attribute__((__used__))
-+-#else
-+-# define __used			__attribute__((__unused__))
-+-#endif
-+-
-+-#if GCC_VERSION >= 30400
-+-#define __must_check		__attribute__((warn_unused_result))
-+-#endif
-+-
-+-#ifdef CONFIG_GCOV_KERNEL
-+-# if GCC_VERSION < 30400
-+-#   error "GCOV profiling support for gcc versions below 3.4 not included"
-+-# endif /* __GNUC_MINOR__ */
-+-#endif /* CONFIG_GCOV_KERNEL */
-+diff --git b/include/linux/compiler-gcc4.h a/include/linux/compiler-gcc4.h
-+deleted file mode 100644
-+index c982a09..0000000
-+--- b/include/linux/compiler-gcc4.h
-++++ /dev/null
-+@@ -1,81 +0,0 @@
-+-#ifndef __LINUX_COMPILER_H
-+-#error "Please don't include <linux/compiler-gcc4.h> directly, include <linux/compiler.h> instead."
-+-#endif
-+-
-+-#define __used			__attribute__((__used__))
-+-#define __must_check 		__attribute__((warn_unused_result))
-+-#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
-+-
-+-#if GCC_VERSION >= 40100 && GCC_VERSION < 40600
-+-# define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
-+-#endif
-+-
-+-#if GCC_VERSION >= 40300
-+-/* Mark functions as cold. gcc will assume any path leading to a call
-+-   to them will be unlikely.  This means a lot of manual unlikely()s
-+-   are unnecessary now for any paths leading to the usual suspects
-+-   like BUG(), printk(), panic() etc. [but let's keep them for now for
-+-   older compilers]
-+-
-+-   Early snapshots of gcc 4.3 don't support this and we can't detect this
-+-   in the preprocessor, but we can live with this because they're unreleased.
-+-   Maketime probing would be overkill here.
-+-
-+-   gcc also has a __attribute__((__hot__)) to move hot functions into
-+-   a special section, but I don't see any sense in this right now in
-+-   the kernel context */
-+-#define __cold			__attribute__((__cold__))
-+-
-+-#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
-+-
-+-#ifndef __CHECKER__
-+-# define __compiletime_warning(message) __attribute__((warning(message)))
-+-# define __compiletime_error(message) __attribute__((error(message)))
-+-#endif /* __CHECKER__ */
-+-#endif /* GCC_VERSION >= 40300 */
-+-
-+-#if GCC_VERSION >= 40500
-+-/*
-+- * Mark a position in code as unreachable.  This can be used to
-+- * suppress control flow warnings after asm blocks that transfer
-+- * control elsewhere.
-+- *
-+- * Early snapshots of gcc 4.5 don't support this and we can't detect
-+- * this in the preprocessor, but we can live with this because they're
-+- * unreleased.  Really, we need to have autoconf for the kernel.
-+- */
-+-#define unreachable() __builtin_unreachable()
-+-
-+-/* Mark a function definition as prohibited from being cloned. */
-+-#define __noclone	__attribute__((__noclone__))
-+-
-+-#endif /* GCC_VERSION >= 40500 */
-+-
-+-#if GCC_VERSION >= 40600
-+-/*
-+- * Tell the optimizer that something else uses this function or variable.
-+- */
-+-#define __visible __attribute__((externally_visible))
-+-#endif
-+-
-+-/*
-+- * GCC 'asm goto' miscompiles certain code sequences:
-+- *
-+- *   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
-+- *
-+- * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
-+- * Fixed in GCC 4.8.2 and later versions.
-+- *
-+- * (asm goto is automatically volatile - the naming reflects this.)
-+- */
-+-#define asm_volatile_goto(x...)	do { asm goto(x); asm (""); } while (0)
-+-
-+-#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
-+-#if GCC_VERSION >= 40400
-+-#define __HAVE_BUILTIN_BSWAP32__
-+-#define __HAVE_BUILTIN_BSWAP64__
-+-#endif
-+-#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600)
-+-#define __HAVE_BUILTIN_BSWAP16__
-+-#endif
-+-#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
-+diff --git b/include/linux/compiler-intel.h a/include/linux/compiler-intel.h
-+index ba147a1..d4c7113 100644
-+--- b/include/linux/compiler-intel.h
-++++ a/include/linux/compiler-intel.h
-+@@ -13,9 +13,14 @@
-+ /* Intel ECC compiler doesn't support gcc specific asm stmts.
-+  * It uses intrinsics to do the equivalent things.
-+  */
-++#undef barrier
-++#undef barrier_data
-+ #undef RELOC_HIDE
-+ #undef OPTIMIZER_HIDE_VAR
-+ 
-++#define barrier() __memory_barrier()
-++#define barrier_data(ptr) barrier()
-++
-+ #define RELOC_HIDE(ptr, off)					\
-+   ({ unsigned long __ptr;					\
-+      __ptr = (unsigned long) (ptr);				\
-+diff --git b/include/linux/compiler.h a/include/linux/compiler.h
-+index d5ad7b1..020ad16 100644
-+--- b/include/linux/compiler.h
-++++ a/include/linux/compiler.h
-+@@ -17,6 +17,7 @@
-+ # define __release(x)	__context__(x,-1)
-+ # define __cond_lock(x,c)	((c) ? ({ __acquire(x); 1; }) : 0)
-+ # define __percpu	__attribute__((noderef, address_space(3)))
-++# define __pmem		__attribute__((noderef, address_space(5)))
-+ #ifdef CONFIG_SPARSE_RCU_POINTER
-+ # define __rcu		__attribute__((noderef, address_space(4)))
-+ #else
-+@@ -42,6 +43,7 @@ extern void __chk_io_ptr(const volatile void __iomem *);
-+ # define __cond_lock(x,c) (c)
-+ # define __percpu
-+ # define __rcu
-++# define __pmem
-+ #endif
-+ 
-+ /* Indirect macros required for expanded argument pasting, eg. __LINE__. */
-+@@ -54,7 +56,11 @@ extern void __chk_io_ptr(const volatile void __iomem *);
-+ #include <linux/compiler-gcc.h>
-+ #endif
-+ 
-++#if defined(CC_USING_HOTPATCH) && !defined(__CHECKER__)
-++#define notrace __attribute__((hotpatch(0,0)))
-++#else
-+ #define notrace __attribute__((no_instrument_function))
-++#endif
-+ 
-+ /* Intel compiler defines __GNUC__. So we will overwrite implementations
-+  * coming from above header files here
-+@@ -138,7 +144,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
-+  */
-+ #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
-+ #define __trace_if(cond) \
-+-	if (__builtin_constant_p((cond)) ? !!(cond) :			\
-++	if (__builtin_constant_p(!!(cond)) ? !!(cond) :			\
-+ 	({								\
-+ 		int ______r;						\
-+ 		static struct ftrace_branch_data			\
-+@@ -165,6 +171,10 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
-+ # define barrier() __memory_barrier()
-+ #endif
-+ 
-++#ifndef barrier_data
-++# define barrier_data(ptr) barrier()
-++#endif
-++
-+ /* Unreachable code */
-+ #ifndef unreachable
-+ # define unreachable() do { } while (1)
-+@@ -186,6 +196,126 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
-+ # define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __LINE__)
-+ #endif
-+ 
-++#include <linux/types.h>
-++
-++#define __READ_ONCE_SIZE						\
-++({									\
-++	switch (size) {							\
-++	case 1: *(__u8 *)res = *(volatile __u8 *)p; break;		\
-++	case 2: *(__u16 *)res = *(volatile __u16 *)p; break;		\
-++	case 4: *(__u32 *)res = *(volatile __u32 *)p; break;		\
-++	case 8: *(__u64 *)res = *(volatile __u64 *)p; break;		\
-++	default:							\
-++		barrier();						\
-++		__builtin_memcpy((void *)res, (const void *)p, size);	\
-++		barrier();						\
-++	}								\
-++})
-++
-++static __always_inline
-++void __read_once_size(const volatile void *p, void *res, int size)
-++{
-++	__READ_ONCE_SIZE;
-++}
-++
-++#ifdef CONFIG_KASAN
-++/*
-++ * This function is not 'inline' because __no_sanitize_address confilcts
-++ * with inlining. Attempt to inline it may cause a build failure.
-++ * 	https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67368
-++ * '__maybe_unused' allows us to avoid defined-but-not-used warnings.
-++ */
-++static __no_sanitize_address __maybe_unused
-++void __read_once_size_nocheck(const volatile void *p, void *res, int size)
-++{
-++	__READ_ONCE_SIZE;
-++}
-++#else
-++static __always_inline
-++void __read_once_size_nocheck(const volatile void *p, void *res, int size)
-++{
-++	__READ_ONCE_SIZE;
-++}
-++#endif
-++
-++static __always_inline void __write_once_size(volatile void *p, void *res, int size)
-++{
-++	switch (size) {
-++	case 1: *(volatile __u8 *)p = *(__u8 *)res; break;
-++	case 2: *(volatile __u16 *)p = *(__u16 *)res; break;
-++	case 4: *(volatile __u32 *)p = *(__u32 *)res; break;
-++	case 8: *(volatile __u64 *)p = *(__u64 *)res; break;
-++	default:
-++		barrier();
-++		__builtin_memcpy((void *)p, (const void *)res, size);
-++		barrier();
-++	}
-++}
-++
-++/*
-++ * Prevent the compiler from merging or refetching reads or writes. The
-++ * compiler is also forbidden from reordering successive instances of
-++ * READ_ONCE, WRITE_ONCE and ACCESS_ONCE (see below), but only when the
-++ * compiler is aware of some particular ordering.  One way to make the
-++ * compiler aware of ordering is to put the two invocations of READ_ONCE,
-++ * WRITE_ONCE or ACCESS_ONCE() in different C statements.
-++ *
-++ * In contrast to ACCESS_ONCE these two macros will also work on aggregate
-++ * data types like structs or unions. If the size of the accessed data
-++ * type exceeds the word size of the machine (e.g., 32 bits or 64 bits)
-++ * READ_ONCE() and WRITE_ONCE()  will fall back to memcpy and print a
-++ * compile-time warning.
-++ *
-++ * Their two major use cases are: (1) Mediating communication between
-++ * process-level code and irq/NMI handlers, all running on the same CPU,
-++ * and (2) Ensuring that the compiler does not  fold, spindle, or otherwise
-++ * mutilate accesses that either do not require ordering or that interact
-++ * with an explicit memory barrier or atomic instruction that provides the
-++ * required ordering.
-++ */
-++
-++#define __READ_ONCE(x, check)						\
-++({									\
-++	union { typeof(x) __val; char __c[1]; } __u;			\
-++	if (check)							\
-++		__read_once_size(&(x), __u.__c, sizeof(x));		\
-++	else								\
-++		__read_once_size_nocheck(&(x), __u.__c, sizeof(x));	\
-++	__u.__val;							\
-++})
-++#define READ_ONCE(x) __READ_ONCE(x, 1)
-++
-++/*
-++ * Use READ_ONCE_NOCHECK() instead of READ_ONCE() if you need
-++ * to hide memory access from KASAN.
-++ */
-++#define READ_ONCE_NOCHECK(x) __READ_ONCE(x, 0)
-++
-++#define WRITE_ONCE(x, val) \
-++({							\
-++	union { typeof(x) __val; char __c[1]; } __u =	\
-++		{ .__val = (__force typeof(x)) (val) }; \
-++	__write_once_size(&(x), __u.__c, sizeof(x));	\
-++	__u.__val;					\
-++})
-++
-++/**
-++ * smp_cond_acquire() - Spin wait for cond with ACQUIRE ordering
-++ * @cond: boolean expression to wait for
-++ *
-++ * Equivalent to using smp_load_acquire() on the condition variable but employs
-++ * the control dependency of the wait to reduce the barrier on many platforms.
-++ *
-++ * The control dependency provides a LOAD->STORE order, the additional RMB
-++ * provides LOAD->LOAD order, together they provide LOAD->{LOAD,STORE} order,
-++ * aka. ACQUIRE.
-++ */
-++#define smp_cond_acquire(cond)	do {		\
-++	while (!(cond))				\
-++		cpu_relax();			\
-++	smp_rmb(); /* ctrl + rmb := acquire */	\
-++} while (0)
-++
-+ #endif /* __KERNEL__ */
-+ 
-+ #endif /* __ASSEMBLY__ */
-+@@ -304,6 +434,14 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
-+ #define __visible
-+ #endif
-+ 
-++/*
-++ * Assume alignment of return value.
-++ */
-++#ifndef __assume_aligned
-++#define __assume_aligned(a, ...)
-++#endif
-++
-++
-+ /* Are two types/vars the same type (ignoring qualifiers)? */
-+ #ifndef __same_type
-+ # define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
-+@@ -311,7 +449,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
-+ 
-+ /* Is this type a native word size -- useful for atomic operations */
-+ #ifndef __native_word
-+-# define __native_word(t) (sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
-++# define __native_word(t) (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
-+ #endif
-+ 
-+ /* Compile time object size, -1 for unknown */
-+@@ -373,12 +511,38 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
-+  * to make the compiler aware of ordering is to put the two invocations of
-+  * ACCESS_ONCE() in different C statements.
-+  *
-+- * This macro does absolutely -nothing- to prevent the CPU from reordering,
-+- * merging, or refetching absolutely anything at any time.  Its main intended
-+- * use is to mediate communication between process-level code and irq/NMI
-+- * handlers, all running on the same CPU.
-++ * ACCESS_ONCE will only work on scalar types. For union types, ACCESS_ONCE
-++ * on a union member will work as long as the size of the member matches the
-++ * size of the union and the size is smaller than word size.
-++ *
-++ * The major use cases of ACCESS_ONCE used to be (1) Mediating communication
-++ * between process-level code and irq/NMI handlers, all running on the same CPU,
-++ * and (2) Ensuring that the compiler does not  fold, spindle, or otherwise
-++ * mutilate accesses that either do not require ordering or that interact
-++ * with an explicit memory barrier or atomic instruction that provides the
-++ * required ordering.
-++ *
-++ * If possible use READ_ONCE()/WRITE_ONCE() instead.
-++ */
-++#define __ACCESS_ONCE(x) ({ \
-++	 __maybe_unused typeof(x) __var = (__force typeof(x)) 0; \
-++	(volatile typeof(x) *)&(x); })
-++#define ACCESS_ONCE(x) (*__ACCESS_ONCE(x))
-++
-++/**
-++ * lockless_dereference() - safely load a pointer for later dereference
-++ * @p: The pointer to load
-++ *
-++ * Similar to rcu_dereference(), but for situations where the pointed-to
-++ * object's lifetime is managed by something other than RCU.  That
-++ * "something other" might be reference counting or simple immortality.
-+  */
-+-#define ACCESS_ONCE(x) (*(volatile typeof(x) *)&(x))
-++#define lockless_dereference(p) \
-++({ \
-++	typeof(p) _________p1 = READ_ONCE(p); \
-++	smp_read_barrier_depends(); /* Dependency order vs. p above. */ \
-++	(_________p1); \
-++})
-+ 
-+ /* Ignore/forbid kprobes attach on very low level functions marked by this attribute: */
-+ #ifdef CONFIG_KPROBES
-diff --git a/tools/mkimage/patches/200-gcc5_compat.patch b/tools/mkimage/patches/200-gcc5_compat.patch
-deleted file mode 100644
-index 4d55f00..0000000
---- a/tools/mkimage/patches/200-gcc5_compat.patch
-+++ /dev/null
-@@ -1,93 +0,0 @@
--From 478b02f1a7043b673565075ea5016376f3293b23 Mon Sep 17 00:00:00 2001
--From: Hans de Goede <hdegoede@redhat.com>
--Date: Sat, 7 Feb 2015 22:52:40 +0100
--Subject: [PATCH] Add linux/compiler-gcc5.h to fix builds with gcc5
--
--Add linux/compiler-gcc5/h from the kernel sources at:
--
--commit 5631b8fba640a4ab2f8a954f63a603fa34eda96b
--Author: Steven Noonan <steven@uplinklabs.net>
--Date:   Sat Oct 25 15:09:42 2014 -0700
--
--    compiler/gcc4+: Remove inaccurate comment about 'asm goto' miscompiles
--
--Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-----
-- include/linux/compiler-gcc5.h |   65 +++++++++++++++++++++++++++++++++++++++++
-- 1 file changed, 65 insertions(+)
-- create mode 100644 include/linux/compiler-gcc5.h
--
--diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h
--new file mode 100644
--index 0000000..c8c5659
----- /dev/null
--+++ b/include/linux/compiler-gcc5.h
--@@ -0,0 +1,65 @@
--+#ifndef __LINUX_COMPILER_H
--+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
--+#endif
--+
--+#define __used				__attribute__((__used__))
--+#define __must_check			__attribute__((warn_unused_result))
--+#define __compiler_offsetof(a, b)	__builtin_offsetof(a, b)
--+
--+/* Mark functions as cold. gcc will assume any path leading to a call
--+   to them will be unlikely.  This means a lot of manual unlikely()s
--+   are unnecessary now for any paths leading to the usual suspects
--+   like BUG(), printk(), panic() etc. [but let's keep them for now for
--+   older compilers]
--+
--+   Early snapshots of gcc 4.3 don't support this and we can't detect this
--+   in the preprocessor, but we can live with this because they're unreleased.
--+   Maketime probing would be overkill here.
--+
--+   gcc also has a __attribute__((__hot__)) to move hot functions into
--+   a special section, but I don't see any sense in this right now in
--+   the kernel context */
--+#define __cold			__attribute__((__cold__))
--+
--+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
--+
--+#ifndef __CHECKER__
--+# define __compiletime_warning(message) __attribute__((warning(message)))
--+# define __compiletime_error(message) __attribute__((error(message)))
--+#endif /* __CHECKER__ */
--+
--+/*
--+ * Mark a position in code as unreachable.  This can be used to
--+ * suppress control flow warnings after asm blocks that transfer
--+ * control elsewhere.
--+ *
--+ * Early snapshots of gcc 4.5 don't support this and we can't detect
--+ * this in the preprocessor, but we can live with this because they're
--+ * unreleased.  Really, we need to have autoconf for the kernel.
--+ */
--+#define unreachable() __builtin_unreachable()
--+
--+/* Mark a function definition as prohibited from being cloned. */
--+#define __noclone	__attribute__((__noclone__))
--+
--+/*
--+ * Tell the optimizer that something else uses this function or variable.
--+ */
--+#define __visible __attribute__((externally_visible))
--+
--+/*
--+ * GCC 'asm goto' miscompiles certain code sequences:
--+ *
--+ *   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
--+ *
--+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
--+ *
--+ * (asm goto is automatically volatile - the naming reflects this.)
--+ */
--+#define asm_volatile_goto(x...)	do { asm goto(x); asm (""); } while (0)
--+
--+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
--+#define __HAVE_BUILTIN_BSWAP32__
--+#define __HAVE_BUILTIN_BSWAP64__
--+#define __HAVE_BUILTIN_BSWAP16__
--+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
---- 
--1.7.10.4
--

+ 34 - 0
patches/openwrt/0037-ar71xx-update-QCA956x-support.patch → patches/openwrt/0034-ar71xx-update-QCA956x-support.patch

@@ -379,3 +379,37 @@ index d3a14b2..61b8976 100644
  +}
  +
   extern void __iomem *ath79_ddr_base;
+diff --git a/target/linux/ar71xx/patches-3.18/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch b/target/linux/ar71xx/patches-3.18/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch
+index a36b8c3..fa4eba2 100644
+--- a/target/linux/ar71xx/patches-3.18/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch
++++ b/target/linux/ar71xx/patches-3.18/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch
+@@ -9,8 +9,8 @@
+ +	    soc_is_qca955x())
+  		reg = AR71XX_GPIO_REG_FUNC;
+  	else if (soc_is_ar934x() ||
+- 		 soc_is_qca953x() || soc_is_qca956x())
+-@@ -185,15 +186,27 @@ void __init ath79_gpio_output_select(uns
++ 		 soc_is_qca953x() ||
++@@ -187,15 +188,31 @@ void __init ath79_gpio_output_select(uns
+  {
+  	void __iomem *base = ath79_gpio_base;
+  	unsigned long flags;
+@@ -19,7 +19,7 @@
+ +	unsigned long gpio_count;
+  	u32 t, s;
+  
+--	BUG_ON(!soc_is_ar934x() && !soc_is_qca953x());
++ 	BUG_ON(!soc_is_ar934x() && !soc_is_qca953x() && !soc_is_qca956x());
+ +	if (soc_is_ar934x()) {
+ +		gpio_count = AR934X_GPIO_COUNT;
+ +		reg_base = AR934X_GPIO_REG_OUT_FUNC0;
+@@ -29,6 +29,9 @@
+ +	} else if (soc_is_qca955x()) {
+ +		gpio_count = QCA955X_GPIO_COUNT;
+ +		reg_base = QCA955X_GPIO_REG_OUT_FUNC0;
+++	} else if (soc_is_qca956x()) {
+++		gpio_count = QCA956X_GPIO_COUNT;
+++		reg_base = QCA956X_GPIO_REG_OUT_FUNC0;
+ +	} else {
+ +		BUG();
+ +	}

+ 0 - 144
patches/openwrt/0034-toolchain-gcc-fix-build-with-GCC-6.patch

@@ -1,144 +0,0 @@
-From: Matthias Schiffer <mschiffer@universe-factory.net>
-Date: Mon, 9 May 2016 00:16:38 +0200
-Subject: toolchain: gcc: fix build with GCC 6
-
-At least for GCC 4.8, which is used by most targets.
-
-Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
-
-diff --git a/toolchain/gcc/patches/4.8-linaro/030-gcc-6-compile.patch b/toolchain/gcc/patches/4.8-linaro/030-gcc-6-compile.patch
-new file mode 100644
-index 0000000..c74f2aa
---- /dev/null
-+++ b/toolchain/gcc/patches/4.8-linaro/030-gcc-6-compile.patch
-@@ -0,0 +1,130 @@
-+Upstream commit r233721
-+
-+diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
-+index bd1c1d7..a0ea0d4 100644
-+--- a/gcc/cp/Make-lang.in
-++++ b/gcc/cp/Make-lang.in
-+@@ -111,7 +111,7 @@ else
-+ # deleting the $(srcdir)/cp/cfns.h file.
-+ $(srcdir)/cp/cfns.h:
-+ endif
-+-	gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \
-++	gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L C++ \
-+ 		$(srcdir)/cp/cfns.gperf --output-file $(srcdir)/cp/cfns.h
-+ 
-+ #
-+diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf
-+index 05ca753..d9b16b8 100644
-+--- a/gcc/cp/cfns.gperf
-++++ b/gcc/cp/cfns.gperf
-+@@ -1,3 +1,5 @@
-++%language=C++
-++%define class-name libc_name
-+ %{
-+ /* Copyright (C) 2000-2014 Free Software Foundation, Inc.
-+ 
-+@@ -16,14 +18,6 @@ for more details.
-+ You should have received a copy of the GNU General Public License
-+ along with GCC; see the file COPYING3.  If not see
-+ <http://www.gnu.org/licenses/>.  */
-+-#ifdef __GNUC__
-+-__inline
-+-#endif
-+-static unsigned int hash (const char *, unsigned int);
-+-#ifdef __GNUC__
-+-__inline
-+-#endif
-+-const char * libc_name_p (const char *, unsigned int);
-+ %}
-+ %%
-+ # The standard C library functions, for feeding to gperf; the result is used
-+diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h
-+index c845ddf..65801d1 100644
-+--- a/gcc/cp/cfns.h
-++++ b/gcc/cp/cfns.h
-+@@ -1,5 +1,5 @@
-+-/* ANSI-C code produced by gperf version 3.0.3 */
-+-/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf  */
-++/* C++ code produced by gperf version 3.0.4 */
-++/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L C++ --output-file cfns.h cfns.gperf  */
-+ 
-+ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
-+       && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
-+@@ -28,7 +28,7 @@
-+ #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
-+ #endif
-+ 
-+-#line 1 "cfns.gperf"
-++#line 3 "cfns.gperf"
-+ 
-+ /* Copyright (C) 2000-2014 Free Software Foundation, Inc.
-+ 
-+@@ -47,25 +47,18 @@ for more details.
-+ You should have received a copy of the GNU General Public License
-+ along with GCC; see the file COPYING3.  If not see
-+ <http://www.gnu.org/licenses/>.  */
-+-#ifdef __GNUC__
-+-__inline
-+-#endif
-+-static unsigned int hash (const char *, unsigned int);
-+-#ifdef __GNUC__
-+-__inline
-+-#endif
-+-const char * libc_name_p (const char *, unsigned int);
-+ /* maximum key range = 391, duplicates = 0 */
-+ 
-+-#ifdef __GNUC__
-+-__inline
-+-#else
-+-#ifdef __cplusplus
-+-inline
-+-#endif
-+-#endif
-+-static unsigned int
-+-hash (register const char *str, register unsigned int len)
-++class libc_name
-++{
-++private:
-++  static inline unsigned int hash (const char *str, unsigned int len);
-++public:
-++  static const char *libc_name_p (const char *str, unsigned int len);
-++};
-++
-++inline unsigned int
-++libc_name::hash (register const char *str, register unsigned int len)
-+ {
-+   static const unsigned short asso_values[] =
-+     {
-+@@ -122,14 +115,8 @@ hash (register const char *str, register unsigned int len)
-+   return hval + asso_values[(unsigned char)str[len - 1]];
-+ }
-+ 
-+-#ifdef __GNUC__
-+-__inline
-+-#ifdef __GNUC_STDC_INLINE__
-+-__attribute__ ((__gnu_inline__))
-+-#endif
-+-#endif
-+ const char *
-+-libc_name_p (register const char *str, register unsigned int len)
-++libc_name::libc_name_p (register const char *str, register unsigned int len)
-+ {
-+   enum
-+     {
-+diff --git a/gcc/cp/except.c b/gcc/cp/except.c
-+index 221971a..32340f5 100644
-+--- a/gcc/cp/except.c
-++++ b/gcc/cp/except.c
-+@@ -1030,7 +1030,8 @@ nothrow_libfn_p (const_tree fn)
-+      unless the system headers are playing rename tricks, and if
-+      they are, we don't want to be confused by them.  */
-+   id = DECL_NAME (fn);
-+-  return !!libc_name_p (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id));
-++  return !!libc_name::libc_name_p (IDENTIFIER_POINTER (id),
-++				   IDENTIFIER_LENGTH (id));
-+ }
-+ 
-+ /* Returns nonzero if an exception of type FROM will be caught by a
-+-- 
-+1.7.1
-+

+ 0 - 0
patches/openwrt/0038-ar71xx-fold-patch-622-MIPS-ath79-add-support-for-QCA956x-ethernet.patch-into-files.patch → patches/openwrt/0035-ar71xx-fold-patch-622-MIPS-ath79-add-support-for-QCA956x-ethernet.patch-into-files.patch


+ 0 - 0
patches/openwrt/0039-ar71xx-fix-MDIO-bus-probe-on-QCA956x.patch → patches/openwrt/0036-ar71xx-fix-MDIO-bus-probe-on-QCA956x.patch


+ 0 - 0
patches/openwrt/0040-ar71xx-fix-qca956x-ethernet-initialization.patch → patches/openwrt/0037-ar71xx-fix-qca956x-ethernet-initialization.patch


+ 11 - 11
patches/openwrt/0041-ar71xx-Support-for-Ubiquiti-UniFi-AP-AC-LITE.patch → patches/openwrt/0038-ar71xx-Support-for-Ubiquiti-UniFi-AP-AC-LITE.patch

@@ -8,10 +8,10 @@ Signed-off-by: P.Wassi <p.wassi at gmx.at>
 Backport of OpenWrt r48711
 
 diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
-index 5a184cd..8c6ac9a 100644
+index c5e39d0..e36c581 100644
 --- a/target/linux/ar71xx/base-files/etc/diag.sh
 +++ b/target/linux/ar71xx/base-files/etc/diag.sh
-@@ -296,7 +296,8 @@ get_status_led() {
+@@ -305,7 +305,8 @@ get_status_led() {
  	unifi)
  		status_led="ubnt:green:dome"
  		;;
@@ -22,10 +22,10 @@ index 5a184cd..8c6ac9a 100644
  		;;
  	unifi-outdoor-plus)
 diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
-index b2e15bb..e4a1473 100755
+index b2b182e..850eac9 100755
 --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
 +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
-@@ -366,6 +366,7 @@ tl-wa901nd-v3 |\
+@@ -368,6 +368,7 @@ tl-wa901nd-v3 |\
  tl-wa901nd-v4 |\
  tl-wr703n |\
  tube2h |\
@@ -34,10 +34,10 @@ index b2e15bb..e4a1473 100755
  mynet-rext |\
  wp543)
 diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-index ddd6611..8670583 100755
+index 131364c..ac77934 100755
 --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
 +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-@@ -881,6 +881,9 @@ ar71xx_board_detect() {
+@@ -896,6 +896,9 @@ ar71xx_board_detect() {
  	*UniFi)
  		name="unifi"
  		;;
@@ -48,7 +48,7 @@ index ddd6611..8670583 100755
  		name="uap-pro"
  		;;
 diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-index c5c1871..4c43166 100755
+index ccccc17..4793fa9 100755
 --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
 +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
 @@ -251,6 +251,7 @@ platform_check_image() {
@@ -60,10 +60,10 @@ index c5c1871..4c43166 100755
  	carambola2 | \
  	weio )
 diff --git a/target/linux/ar71xx/config-3.18 b/target/linux/ar71xx/config-3.18
-index e2ff826..9a81911 100644
+index e4bed08..514f7d5 100644
 --- a/target/linux/ar71xx/config-3.18
 +++ b/target/linux/ar71xx/config-3.18
-@@ -137,6 +137,7 @@ CONFIG_ATH79_MACH_TL_WR941ND=y
+@@ -140,6 +140,7 @@ CONFIG_ATH79_MACH_TL_WR941ND=y
  CONFIG_ATH79_MACH_TL_WR941ND_V6=y
  CONFIG_ATH79_MACH_TUBE2H=y
  CONFIG_ATH79_MACH_UBNT=y
@@ -71,7 +71,7 @@ index e2ff826..9a81911 100644
  CONFIG_ATH79_MACH_UBNT_XM=y
  CONFIG_ATH79_MACH_WEIO=y
  CONFIG_ATH79_MACH_WHR_HP_G300N=y
-@@ -320,7 +321,7 @@ CONFIG_SOC_AR933X=y
+@@ -323,7 +324,7 @@ CONFIG_SOC_AR933X=y
  CONFIG_SOC_AR934X=y
  CONFIG_SOC_QCA953X=y
  CONFIG_SOC_QCA955X=y
@@ -218,7 +218,7 @@ index d8e24d0..94eff18 100644
  	NAME:=Ubiquiti UniFiAP Outdoor
  	PACKAGES:=
 diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
-index d42ceef..dd59f2d 100644
+index 7184966..209eba4 100644
 --- a/target/linux/ar71xx/image/Makefile
 +++ b/target/linux/ar71xx/image/Makefile
 @@ -740,6 +740,16 @@ define Device/oolite

+ 0 - 0
patches/openwrt/0042-ar71xx-Fix-eth0-support-for-Ubiquiti-UniFi-AP-AC.patch → patches/openwrt/0039-ar71xx-Fix-eth0-support-for-Ubiquiti-UniFi-AP-AC.patch


+ 10 - 10
patches/openwrt/0043-ar71xx-Rename-unifiac-to-unifiac-lite.patch → patches/openwrt/0040-ar71xx-Rename-unifiac-to-unifiac-lite.patch

@@ -10,10 +10,10 @@ Signed-off-by: P.Wassi <p.wassi at gmx.at>
 Backport of LEDE c855e70491fbd5d432915c4cbeb3b80f3a117e30
 
 diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
-index 8c6ac9a..3d711ca 100644
+index e36c581..23fd122 100644
 --- a/target/linux/ar71xx/base-files/etc/diag.sh
 +++ b/target/linux/ar71xx/base-files/etc/diag.sh
-@@ -297,7 +297,7 @@ get_status_led() {
+@@ -306,7 +306,7 @@ get_status_led() {
  		status_led="ubnt:green:dome"
  		;;
  	uap-pro | \
@@ -23,10 +23,10 @@ index 8c6ac9a..3d711ca 100644
  		;;
  	unifi-outdoor-plus)
 diff --git a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
-index e6fcec8..fa8a2c8 100644
+index f01c6d3..6c6b27a 100644
 --- a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
 +++ b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
-@@ -75,7 +75,7 @@ case "$FIRMWARE" in
+@@ -77,7 +77,7 @@ case "$FIRMWARE" in
  		ath10kcal_extract "ART" 20480 2116
  		ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
  		;;
@@ -36,10 +36,10 @@ index e6fcec8..fa8a2c8 100644
  		;;
  	esac
 diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
-index e4a1473..0269e6d 100755
+index 850eac9..cb31c69 100755
 --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
 +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
-@@ -366,7 +366,7 @@ tl-wa901nd-v3 |\
+@@ -368,7 +368,7 @@ tl-wa901nd-v3 |\
  tl-wa901nd-v4 |\
  tl-wr703n |\
  tube2h |\
@@ -49,10 +49,10 @@ index e4a1473..0269e6d 100755
  mynet-rext |\
  wp543)
 diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-index 8670583..d3e6db9 100755
+index ac77934..f8dd719 100755
 --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
 +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-@@ -881,8 +881,8 @@ ar71xx_board_detect() {
+@@ -896,8 +896,8 @@ ar71xx_board_detect() {
  	*UniFi)
  		name="unifi"
  		;;
@@ -64,7 +64,7 @@ index 8670583..d3e6db9 100755
  	*"UniFi AP Pro")
  		name="uap-pro"
 diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-index 4c43166..a1b65b7 100755
+index 4793fa9..5aa59fd 100755
 --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
 +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
 @@ -251,7 +251,7 @@ platform_check_image() {
@@ -143,7 +143,7 @@ index 94eff18..eac0240 100644
  define Profile/UBNTUNIFIOUTDOOR
  	NAME:=Ubiquiti UniFiAP Outdoor
 diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
-index dd59f2d..3efa2e1 100644
+index 209eba4..c9d6ed1 100644
 --- a/target/linux/ar71xx/image/Makefile
 +++ b/target/linux/ar71xx/image/Makefile
 @@ -741,14 +741,19 @@ endef

+ 10 - 10
patches/openwrt/0044-ar71xx-Add-support-for-Ubiquiti-UniFi-AP-AC-PRO.patch → patches/openwrt/0041-ar71xx-Add-support-for-Ubiquiti-UniFi-AP-AC-PRO.patch

@@ -8,10 +8,10 @@ Signed-off-by: P.Wassi <p.wassi at gmx.at>
 Backport of LEDE 8307c2fe686ded345c80318359d5b6679e581fa2
 
 diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
-index 3d711ca..775aac6 100644
+index 23fd122..f182d60 100644
 --- a/target/linux/ar71xx/base-files/etc/diag.sh
 +++ b/target/linux/ar71xx/base-files/etc/diag.sh
-@@ -297,7 +297,8 @@ get_status_led() {
+@@ -306,7 +306,8 @@ get_status_led() {
  		status_led="ubnt:green:dome"
  		;;
  	uap-pro | \
@@ -22,10 +22,10 @@ index 3d711ca..775aac6 100644
  		;;
  	unifi-outdoor-plus)
 diff --git a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
-index fa8a2c8..cde7aaf 100644
+index 6c6b27a..0e93feb 100644
 --- a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
 +++ b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
-@@ -75,7 +75,8 @@ case "$FIRMWARE" in
+@@ -77,7 +77,8 @@ case "$FIRMWARE" in
  		ath10kcal_extract "ART" 20480 2116
  		ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
  		;;
@@ -36,10 +36,10 @@ index fa8a2c8..cde7aaf 100644
  		;;
  	esac
 diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
-index 0269e6d..0a23756 100755
+index cb31c69..e5c64bb 100755
 --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
 +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
-@@ -398,6 +398,13 @@ wpj344)
+@@ -400,6 +400,13 @@ wpj344)
  	ucidef_add_switch_vlan "switch0" "2" "0t 2"
  	;;
  
@@ -54,10 +54,10 @@ index 0269e6d..0a23756 100755
  	ucidef_set_interfaces_lan_wan "eth0" "eth1"
  	;;
 diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-index d3e6db9..7fc951a 100755
+index f8dd719..348e0f6 100755
 --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
 +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-@@ -884,6 +884,9 @@ ar71xx_board_detect() {
+@@ -899,6 +899,9 @@ ar71xx_board_detect() {
  	*"UniFi-AC-LITE")
  		name="unifiac-lite"
  		;;
@@ -68,7 +68,7 @@ index d3e6db9..7fc951a 100755
  		name="uap-pro"
  		;;
 diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-index a1b65b7..0e9833d 100755
+index 5aa59fd..0f166eb 100755
 --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
 +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
 @@ -252,6 +252,7 @@ platform_check_image() {
@@ -193,7 +193,7 @@ index eac0240..69b8398 100644
  	NAME:=Ubiquiti UniFiAP Outdoor
  	PACKAGES:=
 diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
-index 3efa2e1..58118f2 100644
+index c9d6ed1..0cf1df1 100644
 --- a/target/linux/ar71xx/image/Makefile
 +++ b/target/linux/ar71xx/image/Makefile
 @@ -753,7 +753,13 @@ define Device/ubnt-unifiac-lite

+ 0 - 0
patches/openwrt/0079-libjson-c-Add-support-for-custom-format-strings-for-doubles.patch → patches/openwrt/0042-libjson-c-Add-support-for-custom-format-strings-for-doubles.patch


+ 0 - 0
patches/openwrt/0080-ath9k-add-HSR-tuner-support-for-UniFi-Outdoor-Plus.patch → patches/openwrt/0043-ath9k-add-HSR-tuner-support-for-UniFi-Outdoor-Plus.patch


+ 0 - 0
patches/openwrt/0081-ar71xx-Send-power-to-USB-port-on-WNR2200.patch → patches/openwrt/0044-ar71xx-Send-power-to-USB-port-on-WNR2200.patch


+ 0 - 30
patches/openwrt/0045-ar71xx-Generate-sysupgrade-images-for-OpenMesh-devices.patch

@@ -1,30 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Tue, 17 May 2016 16:38:29 +0200
-Subject: ar71xx: Generate sysupgrade images for OpenMesh devices
-
-Some OpenWrt based firmwares like Gluon expect that a sysupgrade image
-exists when a device firmware can be updated via sysupgrade. This image
-wasn't created until now because OpenMesh devices use the same image for
-factory and sysupgrade flash. Copying the image from *factory.bin to
-*sysupgrade.bin is therefore enough to make the sysupgrade functionality
-visible.
-
-Reported-by: Matthias Schiffer <mschiffer@universe-factory.net>
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Forwarded: https://patchwork.ozlabs.org/patch/624172/
-
-diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
-index 58118f2..7aee0c8 100644
---- a/target/linux/ar71xx/image/Makefile
-+++ b/target/linux/ar71xx/image/Makefile
-@@ -1877,6 +1877,9 @@ define Image/Build/OpenMesh
- 		"$(BUILD_DIR)/fwupgrade.cfg-$(4)" "fwupgrade.cfg" \
- 		"$(KDIR_TMP)/vmlinux-$(2).uImage" "kernel" \
- 		"$(KDIR)/root.$(1)" "rootfs"
-+	if [ -e "$(call factoryname,$(1),$(2))" ]; then \
-+		cp "$(call factoryname,$(1),$(2))" "$(call sysupname,$(1),$(2))"; \
-+	fi
- endef
- 
- 

+ 0 - 0
patches/openwrt/0082-ar71xx-WNR2200-fix-for-random-WLAN-MAC.patch → patches/openwrt/0045-ar71xx-WNR2200-fix-for-random-WLAN-MAC.patch


+ 2 - 2
patches/openwrt/0083-ar71xx-WNR2200-enable-control-of-all-LEDs-and-buttons.patch → patches/openwrt/0046-ar71xx-WNR2200-enable-control-of-all-LEDs-and-buttons.patch

@@ -10,10 +10,10 @@ Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
 Backport of r49101
 
 diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
-index 9a768cd..ae17853 100644
+index d7dc9a1..337000c 100644
 --- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
 +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
-@@ -590,6 +590,21 @@ wnr2000-v4)
+@@ -592,6 +592,21 @@ wnr2000-v4)
  	ucidef_set_led_usbdev "usb" "USB" "netgear:amber:status" "1-1"
  	;;
  

+ 0 - 202
patches/openwrt/0046-ar71xx-add-kernel-support-for-the-OpenMesh-MR1750-board.patch

@@ -1,202 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Mon, 14 Sep 2015 20:10:43 +0000
-Subject: ar71xx: add kernel support for the OpenMesh MR1750 board
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r46926
-
-Forwarded: https://patchwork.ozlabs.org/patch/624173/
-
-diff --git a/target/linux/ar71xx/config-3.18 b/target/linux/ar71xx/config-3.18
-index 9a81911..c5a3c9a 100644
---- a/target/linux/ar71xx/config-3.18
-+++ b/target/linux/ar71xx/config-3.18
-@@ -79,6 +79,7 @@ CONFIG_ATH79_MACH_JWAP003=y
- CONFIG_ATH79_MACH_MC_MAC1200R=y
- CONFIG_ATH79_MACH_MR16=y
- CONFIG_ATH79_MACH_MR12=y
-+CONFIG_ATH79_MACH_MR1750=y
- CONFIG_ATH79_MACH_MR600=y
- CONFIG_ATH79_MACH_MR900=y
- CONFIG_ATH79_MACH_MYNET_N600=y
-diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c
-new file mode 100644
-index 0000000..8ace02f
---- /dev/null
-+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c
-@@ -0,0 +1,129 @@
-+/*
-+ * MR1750 board support
-+ *
-+ * Copyright (c) 2012 Qualcomm Atheros
-+ * Copyright (c) 2012-2013 Marek Lindner <marek@open-mesh.com>
-+ *
-+ * Permission to use, copy, modify, and/or distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+ *
-+ */
-+
-+#include <linux/platform_device.h>
-+#include <linux/ar8216_platform.h>
-+
-+#include <asm/mach-ath79/ar71xx_regs.h>
-+
-+#include "common.h"
-+#include "dev-ap9x-pci.h"
-+#include "dev-gpio-buttons.h"
-+#include "dev-eth.h"
-+#include "dev-leds-gpio.h"
-+#include "dev-m25p80.h"
-+#include "dev-wmac.h"
-+#include "machtypes.h"
-+#include "pci.h"
-+
-+#define MR1750_GPIO_LED_LAN		12
-+#define MR1750_GPIO_LED_WLAN_2G		13
-+#define MR1750_GPIO_LED_STATUS_GREEN	19
-+#define MR1750_GPIO_LED_STATUS_RED	21
-+#define MR1750_GPIO_LED_POWER		22
-+#define MR1750_GPIO_LED_WLAN_5G		23
-+
-+#define MR1750_GPIO_BTN_RESET		17
-+
-+#define MR1750_KEYS_POLL_INTERVAL	20	/* msecs */
-+#define MR1750_KEYS_DEBOUNCE_INTERVAL	(3 * MR1750_KEYS_POLL_INTERVAL)
-+
-+#define MR1750_MAC0_OFFSET		0
-+#define MR1750_WMAC_CALDATA_OFFSET	0x1000
-+
-+static struct gpio_led mr1750_leds_gpio[] __initdata = {
-+	{
-+		.name		= "mr1750:blue:power",
-+		.gpio		= MR1750_GPIO_LED_POWER,
-+		.active_low	= 1,
-+	},
-+	{
-+		.name		= "mr1750:blue:wan",
-+		.gpio		= MR1750_GPIO_LED_LAN,
-+		.active_low	= 1,
-+	},
-+	{
-+		.name		= "mr1750:blue:wlan24",
-+		.gpio		= MR1750_GPIO_LED_WLAN_2G,
-+		.active_low	= 1,
-+	},
-+	{
-+		.name		= "mr1750:blue:wlan58",
-+		.gpio		= MR1750_GPIO_LED_WLAN_5G,
-+		.active_low	= 1,
-+	},
-+	{
-+		.name		= "mr1750:green:status",
-+		.gpio		= MR1750_GPIO_LED_STATUS_GREEN,
-+		.active_low	= 1,
-+	},
-+	{
-+		.name		= "mr1750:red:status",
-+		.gpio		= MR1750_GPIO_LED_STATUS_RED,
-+		.active_low	= 1,
-+	},
-+};
-+
-+static struct gpio_keys_button mr1750_gpio_keys[] __initdata = {
-+	{
-+		.desc		= "Reset button",
-+		.type		= EV_KEY,
-+		.code		= KEY_RESTART,
-+		.debounce_interval = MR1750_KEYS_DEBOUNCE_INTERVAL,
-+		.gpio		= MR1750_GPIO_BTN_RESET,
-+		.active_low	= 1,
-+	},
-+};
-+
-+static void __init mr1750_setup(void)
-+{
-+	u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
-+	u8 mac[6];
-+
-+	ath79_eth0_pll_data.pll_1000 = 0xbe000101;
-+	ath79_eth0_pll_data.pll_100 = 0x80000101;
-+	ath79_eth0_pll_data.pll_10 = 0x80001313;
-+
-+	ath79_register_m25p80(NULL);
-+
-+	ath79_register_leds_gpio(-1, ARRAY_SIZE(mr1750_leds_gpio),
-+				 mr1750_leds_gpio);
-+	ath79_register_gpio_keys_polled(-1, MR1750_KEYS_POLL_INTERVAL,
-+					ARRAY_SIZE(mr1750_gpio_keys),
-+					mr1750_gpio_keys);
-+
-+	ath79_init_mac(mac, art + MR1750_MAC0_OFFSET, 1);
-+	ath79_register_wmac(art + MR1750_WMAC_CALDATA_OFFSET, mac);
-+	ath79_register_pci();
-+
-+	ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-+	ath79_register_mdio(0, 0x0);
-+
-+	ath79_init_mac(ath79_eth0_data.mac_addr, art + MR1750_MAC0_OFFSET, 0);
-+
-+	/* GMAC0 is connected to the RMGII interface */
-+	ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
-+	ath79_eth0_data.phy_mask = BIT(5);
-+	ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-+
-+	ath79_register_eth(0);
-+}
-+
-+MIPS_MACHINE(ATH79_MACH_MR1750, "MR1750", "OpenMesh MR1750", mr1750_setup);
-diff --git a/target/linux/ar71xx/patches-3.18/815-MIPS-ath79-add-mr1750-support.patch b/target/linux/ar71xx/patches-3.18/815-MIPS-ath79-add-mr1750-support.patch
-new file mode 100644
-index 0000000..d802a12
---- /dev/null
-+++ b/target/linux/ar71xx/patches-3.18/815-MIPS-ath79-add-mr1750-support.patch
-@@ -0,0 +1,39 @@
-+--- a/arch/mips/ath79/Kconfig
-++++ b/arch/mips/ath79/Kconfig
-+@@ -763,6 +763,16 @@ config ATH79_MACH_CAP4200AG
-+ 	select ATH79_DEV_M25P80
-+ 	select ATH79_DEV_WMAC
-+ 
-++config ATH79_MACH_MR1750
-++	bool "OpenMesh MR1750 board support"
-++	select SOC_QCA955X
-++	select ATH79_DEV_AP9X_PCI if PCI
-++	select ATH79_DEV_ETH
-++	select ATH79_DEV_GPIO_BUTTONS
-++	select ATH79_DEV_LEDS_GPIO
-++	select ATH79_DEV_M25P80
-++	select ATH79_DEV_WMAC
-++
-+ config ATH79_MACH_MR900
-+ 	bool "OpenMesh MR900 board support"
-+ 	select SOC_QCA955X
-+--- a/arch/mips/ath79/Makefile
-++++ b/arch/mips/ath79/Makefile
-+@@ -80,6 +80,7 @@ obj-$(CONFIG_ATH79_MACH_HORNET_UB)	+= ma
-+ obj-$(CONFIG_ATH79_MACH_MC_MAC1200R)     += mach-mc-mac1200r.o
-+ obj-$(CONFIG_ATH79_MACH_MR12)		+= mach-mr12.o
-+ obj-$(CONFIG_ATH79_MACH_MR16)		+= mach-mr16.o
-++obj-$(CONFIG_ATH79_MACH_MR1750)		+= mach-mr1750.o
-+ obj-$(CONFIG_ATH79_MACH_MR600)		+= mach-mr600.o
-+ obj-$(CONFIG_ATH79_MACH_MR900)		+= mach-mr900.o
-+ obj-$(CONFIG_ATH79_MACH_MYNET_N600)	+= mach-mynet-n600.o
-+--- a/arch/mips/ath79/machtypes.h
-++++ b/arch/mips/ath79/machtypes.h
-+@@ -69,6 +69,7 @@ enum ath79_mach_type {
-+ 	ATH79_MACH_HORNET_UB,		/* ALFA Networks Hornet-UB */
-+ 	ATH79_MACH_MR12,		/* Cisco Meraki MR12 */
-+ 	ATH79_MACH_MR16,		/* Cisco Meraki MR16 */
-++	ATH79_MACH_MR1750,		/* OpenMesh MR1750 */
-+ 	ATH79_MACH_MR600V2,		/* OpenMesh MR600v2 */
-+ 	ATH79_MACH_MR600,		/* OpenMesh MR600 */
-+ 	ATH79_MACH_MR900,		/* OpenMesh MR900 */

+ 5 - 5
patches/openwrt/0084-ar71xx-add-GL-AR150-support.patch → patches/openwrt/0047-ar71xx-add-GL-AR150-support.patch

@@ -9,7 +9,7 @@ https://raw.githubusercontent.com/domino-team/OpenWrt-patches/master/AR150%2C%20
 (and fixed indentation in target/linux/ar71xx/base-files/lib/ar71xx.sh)
 
 diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
-index ae17853..dc8b8d6 100644
+index 337000c..032acc9 100644
 --- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
 +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
 @@ -181,6 +181,10 @@ dlan-pro-1200-ac)
@@ -24,10 +24,10 @@ index ae17853..dc8b8d6 100644
  	ucidef_set_led_netdev "lan" "LAN" "gl-connect:green:lan" "eth1"
  	ucidef_set_led_wlan "wlan" "WLAN" "gl-connect:red:wlan" "phy0tpt"
 diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
-index 4066506..89a2184 100755
+index e5c64bb..b8ae576 100755
 --- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
 +++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
-@@ -381,6 +381,7 @@ dir-505-a1)
+@@ -382,6 +382,7 @@ dir-505-a1)
  alfa-ap96 |\
  alfa-nx |\
  ap83 |\
@@ -36,7 +36,7 @@ index 4066506..89a2184 100755
  jwap003 |\
  pb42 |\
 diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-index fbf76c8..db908f9 100755
+index 348e0f6..5119b36 100755
 --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
 +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
 @@ -500,6 +500,9 @@ ar71xx_board_detect() {
@@ -50,7 +50,7 @@ index fbf76c8..db908f9 100755
  		name="epg5000"
  		;;
 diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-index 4a4c476..aeb4577 100755
+index 0f166eb..f33419f 100755
 --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
 +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
 @@ -215,6 +215,7 @@ platform_check_image() {

+ 0 - 67
patches/openwrt/0047-ar71xx-add-user-space-support-for-the-OpenMesh-MR1750-board.patch

@@ -1,67 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Mon, 14 Sep 2015 20:11:01 +0000
-Subject: ar71xx: add user-space support for the OpenMesh MR1750 board
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r46927
-
-Forwarded: https://patchwork.ozlabs.org/patch/624174/
-
-diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
-index 775aac6..44d2ddf 100644
---- a/target/linux/ar71xx/base-files/etc/diag.sh
-+++ b/target/linux/ar71xx/base-files/etc/diag.sh
-@@ -143,6 +143,9 @@ get_status_led() {
- 	mr600v2)
- 		status_led="mr600:blue:power"
- 		;;
-+	mr1750)
-+		status_led="mr1750:blue:power"
-+		;;
- 	mr900 | \
- 	mr900v2)
- 		status_led="mr900:blue:power"
-diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
-index a4b355a..c451124 100644
---- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
-+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
-@@ -239,6 +239,12 @@ mr600)
- 	ucidef_set_led_wlan "wlan58" "WLAN58" "mr600:green:wlan58" "phy0tpt"
- 	;;
- 
-+mr1750)
-+	ucidef_set_led_netdev "lan" "LAN" "mr1750:blue:wan" "eth0"
-+	ucidef_set_led_wlan "wlan58" "WLAN58" "mr1750:blue:wlan58" "phy0tpt"
-+	ucidef_set_led_wlan "wlan24" "WLAN24" "mr1750:blue:wlan24" "phy1tpt"
-+	;;
-+
- mr900 | \
- mr900v2)
- 	ucidef_set_led_netdev "lan" "LAN" "mr900:blue:wan" "eth0"
-diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
-index 0a23756..4066506 100755
---- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
-+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
-@@ -334,6 +334,7 @@ eap300v2 |\
- eap7660d |\
- el-mini |\
- loco-m-xw |\
-+mr1750 |\
- mr600 |\
- mr600v2 |\
- mr900 |\
-diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-index 7fc951a..587d029 100755
---- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
-+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-@@ -562,6 +562,9 @@ ar71xx_board_detect() {
- 	*MR600v2)
- 		name="mr600v2"
- 		;;
-+	*MR1750)
-+		name="mr1750"
-+		;;
- 	*MR600)
- 		name="mr600"
- 		;;

+ 0 - 0
patches/openwrt/0086-build-don-t-add-j-for-parallel-builds-with-Make-4.2.patch → patches/openwrt/0048-build-don-t-add-j-for-parallel-builds-with-Make-4.2.patch


+ 0 - 32
patches/openwrt/0048-scripts-om-fwupgradecfg-gen.sh-add-support-for-the-MR1750.patch

@@ -1,32 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Mon, 14 Sep 2015 20:11:18 +0000
-Subject: scripts/om-fwupgradecfg-gen.sh: add support for the MR1750
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r46928
-
-Forwarded: https://patchwork.ozlabs.org/patch/624175/
-
-diff --git a/scripts/om-fwupgradecfg-gen.sh b/scripts/om-fwupgradecfg-gen.sh
-index e132954..c790214 100644
---- a/scripts/om-fwupgradecfg-gen.sh
-+++ b/scripts/om-fwupgradecfg-gen.sh
-@@ -7,7 +7,7 @@
- #
- 
- usage() {
--	echo "Usage: $0 <OM2P|OM5P|MR600|MR900> <out file path> <kernel path> <rootfs path>"
-+	echo "Usage: $0 <OM2P|OM5P|MR600|MR900|MR1750> <out file path> <kernel path> <rootfs path>"
- 	rm -f $CFG_OUT
- 	exit 1
- }
-@@ -26,7 +26,7 @@ case $CE_TYPE in
- 		FLASH_BS=262144
- 		MD5_SKIP_BLOCKS=1
- 		;;
--	OM5P|MR600|MR900)
-+	OM5P|MR600|MR900|MR1750)
- 		MAX_PART_SIZE=7808
- 		KERNEL_FLASH_ADDR=0xb0000
- 		FLASH_BS=65536

+ 0 - 55
patches/openwrt/0049-ar71xx-enable-sysupgrade-for-the-OpenMesh-MR1750.patch

@@ -1,55 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Mon, 14 Sep 2015 20:11:24 +0000
-Subject: ar71xx: enable sysupgrade for the OpenMesh MR1750
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r46929
-
-Forwarded: https://patchwork.ozlabs.org/patch/624176/
-
-diff --git a/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh b/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
-index 547116e..9ca0f5b 100644
---- a/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
-+++ b/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
-@@ -72,6 +72,11 @@ platform_check_image_openmesh()
- 			echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
- 			return 1
- 			;;
-+		MR1750)
-+			[ "$board" = "mr1750" ] && break
-+			echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
-+			return 1
-+			;;
- 		MR600)
- 			[ "$board" = "mr600" ] && break
- 			[ "$board" = "mr600v2" ] && break
-@@ -157,7 +162,7 @@ platform_do_upgrade_openmesh()
- 			kernel_start_addr1=0x9f1c0000
- 			kernel_start_addr2=0x9f8c0000
- 			;;
--		OM5P|MR600|MR900)
-+		OM5P|MR600|MR900|MR1750)
- 			block_size=$((64 * 1024))
- 			total_size=7995392
- 			kernel_start_addr1=0x9f0b0000
-diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-index 0e9833d..ac060ea 100755
---- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-@@ -296,6 +296,7 @@ platform_check_image() {
- 
- 		return 0;
- 		;;
-+	mr1750 | \
- 	mr600 | \
- 	mr600v2 | \
- 	mr900 | \
-@@ -528,6 +529,7 @@ platform_do_upgrade() {
- 	tew-673gru)
- 		platform_do_upgrade_dir825b "$ARGV"
- 		;;
-+	mr1750 | \
- 	mr600 | \
- 	mr600v2 | \
- 	mr900 | \

+ 0 - 0
patches/openwrt/0087-tools-cmake-fix-parallel-build-with-Make-4.2.patch → patches/openwrt/0049-tools-cmake-fix-parallel-build-with-Make-4.2.patch


+ 0 - 0
patches/openwrt/0088-linux-make-IPv6-builtin-if-selected-saves-30KB.patch → patches/openwrt/0050-linux-make-IPv6-builtin-if-selected-saves-30KB.patch


+ 0 - 23
patches/openwrt/0050-package-om-watchdog-add-OpenMesh-MR1750-support.patch

@@ -1,23 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Mon, 14 Sep 2015 20:11:35 +0000
-Subject: package/om-watchdog: add OpenMesh MR1750 support
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r46930
-
-Forwarded: https://patchwork.ozlabs.org/patch/624177/
-
-diff --git a/package/kernel/om-watchdog/files/om-watchdog.init b/package/kernel/om-watchdog/files/om-watchdog.init
-index 135fef7..c792968 100644
---- a/package/kernel/om-watchdog/files/om-watchdog.init
-+++ b/package/kernel/om-watchdog/files/om-watchdog.init
-@@ -25,7 +25,7 @@ boot() {
- 			"mr600v2")
- 				service_start /sbin/om-watchdog 15
- 				;;
--			"mr900"|"mr900v2")
-+			"mr900"|"mr900v2"|"mr1750")
- 				service_start /sbin/om-watchdog 16
- 				;;
- 		esac

+ 0 - 0
patches/openwrt/0089-package-ipkg.mk-fix-Provides-for-packages-with-multiple-PROVIDES-entries.patch → patches/openwrt/0051-package-ipkg.mk-fix-Provides-for-packages-with-multiple-PROVIDES-entries.patch


+ 0 - 22
patches/openwrt/0051-package-uboot-envtools-add-OpenMesh-MR1750-support.patch

@@ -1,22 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Mon, 14 Sep 2015 20:11:43 +0000
-Subject: package/uboot-envtools: add OpenMesh MR1750 support
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r46931
-
-Forwarded: https://patchwork.ozlabs.org/patch/624178/
-
-diff --git a/package/boot/uboot-envtools/files/ar71xx b/package/boot/uboot-envtools/files/ar71xx
-index ec8541c..ef00f17 100644
---- a/package/boot/uboot-envtools/files/ar71xx
-+++ b/package/boot/uboot-envtools/files/ar71xx
-@@ -21,6 +21,7 @@ carambola2 | \
- eap300v2 | \
- hornet-ub | \
- hornet-ub-x2 | \
-+mr1750 | \
- mr600 | \
- mr600v2 | \
- mr900 | \

+ 0 - 57
patches/openwrt/0052-ar71xx-create-profile-and-build-image-for-the-OpenMesh-MR1750-board.patch

@@ -1,57 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Mon, 14 Sep 2015 20:11:51 +0000
-Subject: ar71xx: create profile and build image for the OpenMesh MR1750 board
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r46932
-
-Forwarded: https://patchwork.ozlabs.org/patch/624179/
-
-diff --git a/target/linux/ar71xx/generic/profiles/openmesh.mk b/target/linux/ar71xx/generic/profiles/openmesh.mk
-index 41b462e..06cf135 100644
---- a/target/linux/ar71xx/generic/profiles/openmesh.mk
-+++ b/target/linux/ar71xx/generic/profiles/openmesh.mk
-@@ -49,9 +49,20 @@ endef
- 
- $(eval $(call Profile,MR900))
- 
-+define Profile/MR1750
-+        NAME:=OpenMesh MR1750
-+        PACKAGES:=kmod-ath9k kmod-ath10k ath10k-firmware-qca988x
-+endef
-+
-+define Profile/MR1750/Description
-+        Package set optimized for the OpenMesh MR1750.
-+endef
-+
-+$(eval $(call Profile,MR1750))
-+
- define Profile/OPENMESH
- 	NAME:=OpenMesh products
--	PACKAGES:=kmod-ath9k om-watchdog
-+	PACKAGES:=kmod-ath9k kmod-ath10k om-watchdog
- endef
- 
- define Profile/OPENMESH/Description
-diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
-index 7aee0c8..0ebb7dc 100644
---- a/target/linux/ar71xx/image/Makefile
-+++ b/target/linux/ar71xx/image/Makefile
-@@ -2045,6 +2045,7 @@ $(eval $(call SingleProfile,OpenMesh,squashfs-only,OM2P,om2p,,,,OM2P))
- $(eval $(call SingleProfile,OpenMesh,squashfs-only,OM5P,om5p,,,,OM5P))
- $(eval $(call SingleProfile,OpenMesh,squashfs-only,MR600,mr600,,,,MR600))
- $(eval $(call SingleProfile,OpenMesh,squashfs-only,MR900,mr900,,,,MR900))
-+$(eval $(call SingleProfile,OpenMesh,squashfs-only,MR1750,mr1750,,,,MR1750))
- 
- $(eval $(call SingleProfile,PB4X,128k,ALL0305,all0305,ALL0305,ttyS0,115200))
- $(eval $(call SingleProfile,PB4X,128k,EAP7660D,eap7660d,EAP7660D,ttyS0,115200))
-@@ -2138,7 +2139,7 @@ $(eval $(call MultiProfile,AP121,AP121_2M AP121_4M))
- $(eval $(call MultiProfile,DIR615IX,DIR615I1 DIR615I3))
- $(eval $(call MultiProfile,AP136,AP136_010 AP136_020))
- $(eval $(call MultiProfile,EWDORIN, EWDORINAP EWDORINRT EWDORIN16M))
--$(eval $(call MultiProfile,OPENMESH,OM2P OM5P MR600 MR900))
-+$(eval $(call MultiProfile,OPENMESH,OM2P OM5P MR600 MR900 MR1750))
- $(eval $(call MultiProfile,TEW652BRP,TEW652BRP_FW TEW652BRP_RECOVERY))
- $(eval $(call MultiProfile,TLMR3220,TLMR3220V1))
- $(eval $(call MultiProfile,TLMR3420,TLMR3420V1))

+ 0 - 0
patches/openwrt/0090-kernel-remove-packaging-of-kmod-crypto-core-and-kmod-crypto-arc4.patch → patches/openwrt/0052-kernel-remove-packaging-of-kmod-crypto-core-and-kmod-crypto-arc4.patch


+ 0 - 47
patches/openwrt/0053-ar71xx-Extend-the-list-of-bits-in-QCA955X_GMAC_REG_ETH_CFG.patch

@@ -1,47 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Wed, 16 Mar 2016 09:27:01 +0000
-Subject: ar71xx: Extend the list of bits in QCA955X_GMAC_REG_ETH_CFG
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49027
-
-Forwarded: https://patchwork.ozlabs.org/patch/624180/
-
-diff --git a/target/linux/ar71xx/patches-3.18/601-MIPS-ath79-add-more-register-defines.patch b/target/linux/ar71xx/patches-3.18/601-MIPS-ath79-add-more-register-defines.patch
-index 8bf7658..797977f 100644
---- a/target/linux/ar71xx/patches-3.18/601-MIPS-ath79-add-more-register-defines.patch
-+++ b/target/linux/ar71xx/patches-3.18/601-MIPS-ath79-add-more-register-defines.patch
-@@ -207,7 +207,7 @@
-  #define AR934X_GPIO_REG_FUNC		0x6c
-  
-  #define AR71XX_GPIO_COUNT		16
--@@ -560,4 +663,153 @@
-+@@ -560,4 +663,170 @@
-  #define AR934X_SRIF_DPLL2_OUTDIV_SHIFT	13
-  #define AR934X_SRIF_DPLL2_OUTDIV_MASK	0x7
-  
-@@ -358,6 +358,23 @@
- +#define QCA955X_GMAC_REG_ETH_CFG	0x00
- +
- +#define QCA955X_ETH_CFG_RGMII_EN	BIT(0)
-++#define QCA955X_ETH_CFG_MII_GE0		BIT(1)
-++#define QCA955X_ETH_CFG_GMII_GE0	BIT(2)
-++#define QCA955X_ETH_CFG_MII_GE0_MASTER	BIT(3)
-++#define QCA955X_ETH_CFG_MII_GE0_SLAVE	BIT(4)
-++#define QCA955X_ETH_CFG_GE0_ERR_EN	BIT(5)
- +#define QCA955X_ETH_CFG_GE0_SGMII	BIT(6)
-++#define QCA955X_ETH_CFG_RMII_GE0	BIT(10)
-++#define QCA955X_ETH_CFG_MII_CNTL_SPEED	BIT(11)
-++#define QCA955X_ETH_CFG_RMII_GE0_MASTER	BIT(12)
-++#define QCA955X_ETH_CFG_RXD_DELAY_MASK	0x3
-++#define QCA955X_ETH_CFG_RXD_DELAY_SHIFT	14
-++#define QCA955X_ETH_CFG_RDV_DELAY	BIT(16)
-++#define QCA955X_ETH_CFG_RDV_DELAY_MASK	0x3
-++#define QCA955X_ETH_CFG_RDV_DELAY_SHIFT	16
-++#define QCA955X_ETH_CFG_TXD_DELAY_MASK	0x3
-++#define QCA955X_ETH_CFG_TXD_DELAY_SHIFT	18
-++#define QCA955X_ETH_CFG_TXE_DELAY_MASK	0x3
-++#define QCA955X_ETH_CFG_TXE_DELAY_SHIFT	20
- +
-  #endif /* __ASM_MACH_AR71XX_REGS_H */

+ 0 - 0
patches/openwrt/0104-x86-stop-relying-on-hexdump-for-image-build-signature.patch → patches/openwrt/0053-x86-stop-relying-on-hexdump-for-image-build-signature.patch


+ 0 - 49
patches/openwrt/0054-ar71xx-Use-_eth_cfg-helper-for-Open-Mesh-MR900-boards.patch

@@ -1,49 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Tue, 7 Jul 2015 13:47:39 +0000
-Subject: ar71xx: Use *_eth_cfg helper for Open Mesh MR900 boards
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r46241
-
-Forwarded: https://patchwork.ozlabs.org/patch/624181/
-
-diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c
-index fe3e1fa..9c3164d 100644
---- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c
-+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c
-@@ -94,24 +94,6 @@ static struct gpio_keys_button mr900_gpio_keys[] __initdata = {
- 	},
- };
- 
--
--static void __init mr900_gmac_setup(void)
--{
--	void __iomem *base;
--	u32 t;
--
--	base = ioremap(QCA955X_GMAC_BASE, QCA955X_GMAC_SIZE);
--
--	t = __raw_readl(base + QCA955X_GMAC_REG_ETH_CFG);
--
--	t &= ~(QCA955X_ETH_CFG_RGMII_EN | QCA955X_ETH_CFG_GE0_SGMII);
--	t |= QCA955X_ETH_CFG_RGMII_EN;
--
--	__raw_writel(t, base + QCA955X_GMAC_REG_ETH_CFG);
--
--	iounmap(base);
--}
--
- static void __init mr900_setup(void)
- {
- 	u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
-@@ -141,8 +123,7 @@ static void __init mr900_setup(void)
- 	}
- 	pdata->use_eeprom = true;
- 
--	mr900_gmac_setup();
--
-+	ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
- 	ath79_register_mdio(0, 0x0);
- 
- 	ath79_init_mac(ath79_eth0_data.mac_addr, art + MR900_MAC0_OFFSET, 0);

+ 0 - 0
patches/openwrt/0105-mt76-fix-build-with-kernel-3.18.patch → patches/openwrt/0054-mt76-fix-build-with-kernel-3.18.patch


+ 0 - 79
patches/openwrt/0055-ar71xx-Allow-to-use-ath79_gpio_output_select-on-QCA955x.patch

@@ -1,79 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Fri, 24 Jul 2015 09:10:00 +0000
-Subject: ar71xx: Allow to use ath79_gpio_output_select on QCA955x
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r46459
-
-Forwarded: https://patchwork.ozlabs.org/patch/624182/
-
-diff --git a/target/linux/ar71xx/patches-3.18/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch b/target/linux/ar71xx/patches-3.18/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch
-new file mode 100644
-index 0000000..e71b6e2
---- /dev/null
-+++ b/target/linux/ar71xx/patches-3.18/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch
-@@ -0,0 +1,63 @@
-+--- a/arch/mips/ath79/gpio.c
-++++ b/arch/mips/ath79/gpio.c
-+@@ -187,15 +187,30 @@ void __init ath79_gpio_output_select(uns
-+ {
-+ 	void __iomem *base = ath79_gpio_base;
-+ 	unsigned long flags;
-+-	unsigned int reg;
-++	unsigned int reg, reg_base;
-++	unsigned long gpio_count;
-+ 	u32 t, s;
-+ 
-+-	BUG_ON(!soc_is_ar934x() && !soc_is_qca953x() && !soc_is_qca956x());
-++	if (soc_is_ar934x()) {
-++		gpio_count = AR934X_GPIO_COUNT;
-++		reg_base = AR934X_GPIO_REG_OUT_FUNC0;
-++	} else if (soc_is_qca953x()) {
-++		gpio_count = QCA953X_GPIO_COUNT;
-++		reg_base = QCA953X_GPIO_REG_OUT_FUNC0;
-++	} else if (soc_is_qca955x()) {
-++		gpio_count = QCA955X_GPIO_COUNT;
-++		reg_base = QCA955X_GPIO_REG_OUT_FUNC0;
-++	} else if (soc_is_qca956x()) {
-++		gpio_count = QCA956X_GPIO_COUNT;
-++		reg_base = QCA956X_GPIO_REG_OUT_FUNC0;
-++	} else {
-++		BUG();
-++	}
-+ 
-+-	if (gpio >= AR934X_GPIO_COUNT)
-++	if (gpio >= gpio_count)
-+ 		return;
-+ 
-+-	reg = AR934X_GPIO_REG_OUT_FUNC0 + 4 * (gpio / 4);
-++	reg = reg_base + 4 * (gpio / 4);
-+ 	s = 8 * (gpio % 4);
-+ 
-+ 	spin_lock_irqsave(&ath79_gpio_lock, flags);
-+--- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
-++++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
-+@@ -875,6 +875,14 @@
-+ #define QCA953X_GPIO_OUT_MUX_LED_LINK4		44
-+ #define QCA953X_GPIO_OUT_MUX_LED_LINK5		45
-+ 
-++#define QCA955X_GPIO_REG_OUT_FUNC0	0x2c
-++#define QCA955X_GPIO_REG_OUT_FUNC1	0x30
-++#define QCA955X_GPIO_REG_OUT_FUNC2	0x34
-++#define QCA955X_GPIO_REG_OUT_FUNC3	0x38
-++#define QCA955X_GPIO_REG_OUT_FUNC4	0x3c
-++#define QCA955X_GPIO_REG_OUT_FUNC5	0x40
-++#define QCA955X_GPIO_REG_FUNC		0x6c
-++
-+ #define QCA956X_GPIO_REG_OUT_FUNC0	0x2c
-+ #define QCA956X_GPIO_REG_OUT_FUNC1	0x30
-+ #define QCA956X_GPIO_REG_OUT_FUNC2	0x34
-+@@ -1014,6 +1022,8 @@
-+ #define AR934X_GPIO_OUT_EXT_LNA0	46
-+ #define AR934X_GPIO_OUT_EXT_LNA1	47
-+ 
-++#define QCA955X_GPIO_OUT_GPIO		0
-++
-+ /*
-+  * MII_CTRL block
-+  */

+ 0 - 0
patches/openwrt/0106-ramips-Support-LEDs-on-D-Link-DIR-860L-B1.patch → patches/openwrt/0055-ramips-Support-LEDs-on-D-Link-DIR-860L-B1.patch


+ 0 - 32
patches/openwrt/0056-ar71xx-Add-support-for-ath79_gpio_function_-on-QCA955X.patch

@@ -1,32 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Wed, 23 Mar 2016 12:52:27 +0000
-Subject: ar71xx: Add support for ath79_gpio_function_* on QCA955X
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49074
-
-Forwarded: https://patchwork.ozlabs.org/patch/624183/
-
-diff --git a/target/linux/ar71xx/patches-3.18/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch b/target/linux/ar71xx/patches-3.18/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch
-index e71b6e2..0e87357 100644
---- a/target/linux/ar71xx/patches-3.18/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch
-+++ b/target/linux/ar71xx/patches-3.18/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch
-@@ -1,6 +1,16 @@
- --- a/arch/mips/ath79/gpio.c
- +++ b/arch/mips/ath79/gpio.c
--@@ -187,15 +187,30 @@ void __init ath79_gpio_output_select(uns
-+@@ -146,7 +146,8 @@ static void __iomem *ath79_gpio_get_func
-+ 	if (soc_is_ar71xx() ||
-+ 	    soc_is_ar724x() ||
-+ 	    soc_is_ar913x() ||
-+-	    soc_is_ar933x())
-++	    soc_is_ar933x() ||
-++	    soc_is_qca955x())
-+ 		reg = AR71XX_GPIO_REG_FUNC;
-+ 	else if (soc_is_ar934x() ||
-+ 		 soc_is_qca953x() ||
-+@@ -187,15 +188,30 @@ void __init ath79_gpio_output_select(uns
-  {
-  	void __iomem *base = ath79_gpio_base;
-  	unsigned long flags;

+ 0 - 0
patches/openwrt/0107-ramips-add-button-support-and-make-LEDs-known-to-userspace-for-DIR-860L-B1.patch → patches/openwrt/0056-ramips-add-button-support-and-make-LEDs-known-to-userspace-for-DIR-860L-B1.patch


+ 0 - 159
patches/openwrt/0057-ar71xx-Add-QCA955X-GPIO-mux-and-function-definitions.patch

@@ -1,159 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Wed, 23 Mar 2016 12:52:31 +0000
-Subject: ar71xx: Add QCA955X GPIO mux and function definitions
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49075
-
-Forwarded: https://patchwork.ozlabs.org/patch/624184/
-
-diff --git a/target/linux/ar71xx/patches-3.18/601-MIPS-ath79-add-more-register-defines.patch b/target/linux/ar71xx/patches-3.18/601-MIPS-ath79-add-more-register-defines.patch
-index 797977f..0126f6a 100644
---- a/target/linux/ar71xx/patches-3.18/601-MIPS-ath79-add-more-register-defines.patch
-+++ b/target/linux/ar71xx/patches-3.18/601-MIPS-ath79-add-more-register-defines.patch
-@@ -194,7 +194,7 @@
-  #define AR933X_BOOTSTRAP_REF_CLK_40	BIT(0)
-  
-  #define AR934X_BOOTSTRAP_SW_OPTION8	BIT(23)
--@@ -529,6 +626,12 @@
-+@@ -529,8 +626,22 @@
-  #define AR71XX_GPIO_REG_INT_ENABLE	0x24
-  #define AR71XX_GPIO_REG_FUNC		0x28
-  
-@@ -206,8 +206,18 @@
- +#define AR934X_GPIO_REG_OUT_FUNC5	0x40
-  #define AR934X_GPIO_REG_FUNC		0x6c
-  
-++#define QCA955X_GPIO_REG_OUT_FUNC0	0x2c
-++#define QCA955X_GPIO_REG_OUT_FUNC1	0x30
-++#define QCA955X_GPIO_REG_OUT_FUNC2	0x34
-++#define QCA955X_GPIO_REG_OUT_FUNC3	0x38
-++#define QCA955X_GPIO_REG_OUT_FUNC4	0x3c
-++#define QCA955X_GPIO_REG_OUT_FUNC5	0x40
-++#define QCA955X_GPIO_REG_FUNC		0x6c
-++
-  #define AR71XX_GPIO_COUNT		16
--@@ -560,4 +663,170 @@
-+ #define AR7240_GPIO_COUNT		18
-+ #define AR7241_GPIO_COUNT		20
-+@@ -560,4 +671,235 @@
-  #define AR934X_SRIF_DPLL2_OUTDIV_SHIFT	13
-  #define AR934X_SRIF_DPLL2_OUTDIV_MASK	0x7
-  
-@@ -288,6 +298,71 @@
- +#define AR934X_GPIO_OUT_EXT_LNA0	46
- +#define AR934X_GPIO_OUT_EXT_LNA1	47
- +
-++#define QCA955X_GPIO_FUNC_CLK_OBS7_EN		BIT(9)
-++#define QCA955X_GPIO_FUNC_CLK_OBS6_EN		BIT(8)
-++#define QCA955X_GPIO_FUNC_CLK_OBS5_EN		BIT(7)
-++#define QCA955X_GPIO_FUNC_CLK_OBS4_EN		BIT(6)
-++#define QCA955X_GPIO_FUNC_CLK_OBS3_EN		BIT(5)
-++#define QCA955X_GPIO_FUNC_CLK_OBS2_EN		BIT(4)
-++#define QCA955X_GPIO_FUNC_CLK_OBS1_EN		BIT(3)
-++#define QCA955X_GPIO_FUNC_JTAG_DISABLE		BIT(1)
-++
-++#define QCA955X_GPIO_OUT_GPIO		0
-++#define QCA955X_MII_EXT_MDI		1
-++#define QCA955X_SLIC_DATA_OUT		3
-++#define QCA955X_SLIC_PCM_FS		4
-++#define QCA955X_SLIC_PCM_CLK		5
-++#define QCA955X_SPI_CLK			8
-++#define QCA955X_SPI_CS_0		9
-++#define QCA955X_SPI_CS_1		10
-++#define QCA955X_SPI_CS_2		11
-++#define QCA955X_SPI_MISO		12
-++#define QCA955X_I2S_CLK			13
-++#define QCA955X_I2S_WS			14
-++#define QCA955X_I2S_SD			15
-++#define QCA955X_I2S_MCK			16
-++#define QCA955X_SPDIF_OUT		17
-++#define QCA955X_UART1_TD		18
-++#define QCA955X_UART1_RTS		19
-++#define QCA955X_UART1_RD		20
-++#define QCA955X_UART1_CTS		21
-++#define QCA955X_UART0_SOUT		22
-++#define QCA955X_SPDIF2_OUT		23
-++#define QCA955X_LED_SGMII_SPEED0	24
-++#define QCA955X_LED_SGMII_SPEED1	25
-++#define QCA955X_LED_SGMII_DUPLEX	26
-++#define QCA955X_LED_SGMII_LINK_UP	27
-++#define QCA955X_SGMII_SPEED0_INVERT	28
-++#define QCA955X_SGMII_SPEED1_INVERT	29
-++#define QCA955X_SGMII_DUPLEX_INVERT	30
-++#define QCA955X_SGMII_LINK_UP_INVERT	31
-++#define QCA955X_GE1_MII_MDO		32
-++#define QCA955X_GE1_MII_MDC		33
-++#define QCA955X_SWCOM2			38
-++#define QCA955X_SWCOM3			39
-++#define QCA955X_MAC2_GPIO		40
-++#define QCA955X_MAC3_GPIO		41
-++#define QCA955X_ATT_LED			42
-++#define QCA955X_PWR_LED			43
-++#define QCA955X_TX_FRAME		44
-++#define QCA955X_RX_CLEAR_EXTERNAL	45
-++#define QCA955X_LED_NETWORK_EN		46
-++#define QCA955X_LED_POWER_EN		47
-++#define QCA955X_WMAC_GLUE_WOW		68
-++#define QCA955X_RX_CLEAR_EXTENSION	70
-++#define QCA955X_CP_NAND_CS1		73
-++#define QCA955X_USB_SUSPEND		74
-++#define QCA955X_ETH_TX_ERR		75
-++#define QCA955X_DDR_DQ_OE		76
-++#define QCA955X_CLKREQ_N_EP		77
-++#define QCA955X_CLKREQ_N_RC		78
-++#define QCA955X_CLK_OBS0		79
-++#define QCA955X_CLK_OBS1		80
-++#define QCA955X_CLK_OBS2		81
-++#define QCA955X_CLK_OBS3		82
-++#define QCA955X_CLK_OBS4		83
-++#define QCA955X_CLK_OBS5		84
-++
- +/*
- + * MII_CTRL block
- + */
-diff --git a/target/linux/ar71xx/patches-3.18/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch b/target/linux/ar71xx/patches-3.18/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch
-index 0e87357..8a54859 100644
---- a/target/linux/ar71xx/patches-3.18/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch
-+++ b/target/linux/ar71xx/patches-3.18/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch
-@@ -37,37 +37,12 @@
- +	}
-  
- -	if (gpio >= AR934X_GPIO_COUNT)
-+-		return;
- +	if (gpio >= gpio_count)
-- 		return;
-++ 		return;
-  
- -	reg = AR934X_GPIO_REG_OUT_FUNC0 + 4 * (gpio / 4);
- +	reg = reg_base + 4 * (gpio / 4);
-  	s = 8 * (gpio % 4);
-  
-  	spin_lock_irqsave(&ath79_gpio_lock, flags);
----- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
--+++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
--@@ -875,6 +875,14 @@
-- #define QCA953X_GPIO_OUT_MUX_LED_LINK4		44
-- #define QCA953X_GPIO_OUT_MUX_LED_LINK5		45
-- 
--+#define QCA955X_GPIO_REG_OUT_FUNC0	0x2c
--+#define QCA955X_GPIO_REG_OUT_FUNC1	0x30
--+#define QCA955X_GPIO_REG_OUT_FUNC2	0x34
--+#define QCA955X_GPIO_REG_OUT_FUNC3	0x38
--+#define QCA955X_GPIO_REG_OUT_FUNC4	0x3c
--+#define QCA955X_GPIO_REG_OUT_FUNC5	0x40
--+#define QCA955X_GPIO_REG_FUNC		0x6c
--+
-- #define QCA956X_GPIO_REG_OUT_FUNC0	0x2c
-- #define QCA956X_GPIO_REG_OUT_FUNC1	0x30
-- #define QCA956X_GPIO_REG_OUT_FUNC2	0x34
--@@ -1014,6 +1022,8 @@
-- #define AR934X_GPIO_OUT_EXT_LNA0	46
-- #define AR934X_GPIO_OUT_EXT_LNA1	47
-- 
--+#define QCA955X_GPIO_OUT_GPIO		0
--+
-- /*
--  * MII_CTRL block
--  */

+ 0 - 0
patches/openwrt/0108-ramips-set-correct-LAN-WAN-MAC-addresses-on-DIR-860L-B1.patch → patches/openwrt/0057-ramips-set-correct-LAN-WAN-MAC-addresses-on-DIR-860L-B1.patch


+ 0 - 78
patches/openwrt/0058-ar71xx-Use-PHY-fixups-for-Open-Mesh-MR900.patch

@@ -1,78 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Wed, 16 Mar 2016 09:27:11 +0000
-Subject: ar71xx: Use PHY fixups for Open Mesh MR900
-
-The delays of PHY/MAC on the MR900 are done by u-boot and OpenWrt in
-different ways. u-boot only modifies the ETH_CFG of the QCA955x based on
-the link speed. But OpenWrt can only modify the PHY delays based on the
-link speed.
-
-This can lead to communication problems when u-boot initializes the ETH_CFG
-for a specific link speed (e.g. 10BASE-T) but then OpenWrt the sets the PHY
-delays to an incompatible value.
-
-Instead reset the ETH_CFG delay bits of the QCA955x to a specific value and
-only rely on the AT803x PHY settings.
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49030
-
-Forwarded: https://patchwork.ozlabs.org/patch/624185/
-
-diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c
-index 9c3164d..3634bf0 100644
---- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c
-+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c
-@@ -23,6 +23,7 @@
- #include <linux/ath9k_platform.h>
- 
- #include <asm/mach-ath79/ar71xx_regs.h>
-+#include <linux/platform_data/phy-at803x.h>
- 
- #include "common.h"
- #include "dev-ap9x-pci.h"
-@@ -94,15 +95,30 @@ static struct gpio_keys_button mr900_gpio_keys[] __initdata = {
- 	},
- };
- 
-+static struct at803x_platform_data mr900_at803x_data = {
-+	.disable_smarteee = 1,
-+	.enable_rgmii_rx_delay = 1,
-+	.enable_rgmii_tx_delay = 0,
-+	.fixup_rgmii_tx_delay = 1,
-+};
-+
-+static struct mdio_board_info mr900_mdio0_info[] = {
-+	{
-+		.bus_id = "ag71xx-mdio.0",
-+		.phy_addr = 5,
-+		.platform_data = &mr900_at803x_data,
-+	},
-+};
-+
- static void __init mr900_setup(void)
- {
- 	u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
- 	u8 mac[6], pcie_mac[6];
- 	struct ath9k_platform_data *pdata;
- 
--	ath79_eth0_pll_data.pll_1000 = 0xbe000101;
--	ath79_eth0_pll_data.pll_100 = 0x80000101;
--	ath79_eth0_pll_data.pll_10 = 0x80001313;
-+	ath79_eth0_pll_data.pll_1000 = 0xae000000;
-+	ath79_eth0_pll_data.pll_100 = 0xa0000101;
-+	ath79_eth0_pll_data.pll_10 = 0xa0001313;
- 
- 	ath79_register_m25p80(NULL);
- 
-@@ -126,6 +142,9 @@ static void __init mr900_setup(void)
- 	ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
- 	ath79_register_mdio(0, 0x0);
- 
-+	mdiobus_register_board_info(mr900_mdio0_info,
-+				    ARRAY_SIZE(mr900_mdio0_info));
-+
- 	ath79_init_mac(ath79_eth0_data.mac_addr, art + MR900_MAC0_OFFSET, 0);
- 
- 	/* GMAC0 is connected to the RMGII interface */

+ 0 - 0
patches/openwrt/0109-ar71xx-add-support-for-TP-LINK-TL-WR842N-ND-v3.patch → patches/openwrt/0058-ar71xx-add-support-for-TP-LINK-TL-WR842N-ND-v3.patch


+ 0 - 0
patches/openwrt/0110-ar71xx-Fix-TL-WR841N-v11-LEDs-use-separate-machine.patch → patches/openwrt/0059-ar71xx-Fix-TL-WR841N-v11-LEDs-use-separate-machine.patch


+ 0 - 77
patches/openwrt/0059-ar71xx-Use-PHY-fixups-for-Open-Mesh-MR1750.patch

@@ -1,77 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Wed, 16 Mar 2016 09:27:14 +0000
-Subject: ar71xx: Use PHY fixups for Open Mesh MR1750
-
-The delays of PHY/MAC on the MR1750 are done by u-boot and OpenWrt in
-different ways. u-boot only modifies the ETH_CFG of the QCA955x based on
-the link speed. But OpenWrt can only modify the PHY delays based on the
-link speed.
-
-This can lead to communication problems when u-boot initializes the ETH_CFG
-for a specific link speed (e.g. 10BASE-T) but then OpenWrt the sets the PHY
-delays to an incompatible value.
-
-Instead reset the ETH_CFG delay bits of the QCA955x to a specific value and
-only rely on the AT803x PHY settings.
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49031
-
-Forwarded: https://patchwork.ozlabs.org/patch/624186/
-
-diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c
-index 8ace02f..f9e45bd 100644
---- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c
-+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c
-@@ -22,6 +22,7 @@
- #include <linux/ar8216_platform.h>
- 
- #include <asm/mach-ath79/ar71xx_regs.h>
-+#include <linux/platform_data/phy-at803x.h>
- 
- #include "common.h"
- #include "dev-ap9x-pci.h"
-@@ -92,14 +93,29 @@ static struct gpio_keys_button mr1750_gpio_keys[] __initdata = {
- 	},
- };
- 
-+static struct at803x_platform_data mr1750_at803x_data = {
-+	.disable_smarteee = 1,
-+	.enable_rgmii_rx_delay = 1,
-+	.enable_rgmii_tx_delay = 0,
-+	.fixup_rgmii_tx_delay = 1,
-+};
-+
-+static struct mdio_board_info mr1750_mdio0_info[] = {
-+	{
-+		.bus_id = "ag71xx-mdio.0",
-+		.phy_addr = 5,
-+		.platform_data = &mr1750_at803x_data,
-+	},
-+};
-+
- static void __init mr1750_setup(void)
- {
- 	u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
- 	u8 mac[6];
- 
--	ath79_eth0_pll_data.pll_1000 = 0xbe000101;
--	ath79_eth0_pll_data.pll_100 = 0x80000101;
--	ath79_eth0_pll_data.pll_10 = 0x80001313;
-+	ath79_eth0_pll_data.pll_1000 = 0xae000000;
-+	ath79_eth0_pll_data.pll_100 = 0xa0000101;
-+	ath79_eth0_pll_data.pll_10 = 0xa0001313;
- 
- 	ath79_register_m25p80(NULL);
- 
-@@ -116,6 +132,9 @@ static void __init mr1750_setup(void)
- 	ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
- 	ath79_register_mdio(0, 0x0);
- 
-+	mdiobus_register_board_info(mr1750_mdio0_info,
-+				    ARRAY_SIZE(mr1750_mdio0_info));
-+
- 	ath79_init_mac(ath79_eth0_data.mac_addr, art + MR1750_MAC0_OFFSET, 0);
- 
- 	/* GMAC0 is connected to the RMGII interface */

+ 0 - 58
patches/openwrt/0060-ar71xx-Use-private-version-of-ath79_setup_qca955x_eth_cfg-for-MR900.patch

@@ -1,58 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Wed, 23 Mar 2016 12:52:09 +0000
-Subject: ar71xx: Use private version of ath79_setup_qca955x_eth_cfg for MR900
-
-The MR900 must unset some bits in ETH_CFG which were set by u-boot to work
-correctly under OpenWrt. But the global function
-ath79_setup_qca955x_eth_cfg will not unset all of them to increase the
-backward compatiblity with older mach-* files. A private (simplified)
-version for MR900 can be used instead.
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49069
-
-Forwarded: https://patchwork.ozlabs.org/patch/624187/
-
-diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c
-index 3634bf0..b439f58 100644
---- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c
-+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr900.c
-@@ -110,6 +110,28 @@ static struct mdio_board_info mr900_mdio0_info[] = {
- 	},
- };
- 
-+static void __init mr900_setup_qca955x_eth_cfg(u32 mask,
-+					       unsigned int rxd,
-+					       unsigned int rxdv,
-+					       unsigned int txd,
-+					       unsigned int txe)
-+{
-+	void __iomem *base;
-+	u32 t;
-+
-+	base = ioremap(QCA955X_GMAC_BASE, QCA955X_GMAC_SIZE);
-+
-+	t = mask;
-+	t |= rxd << QCA955X_ETH_CFG_RXD_DELAY_SHIFT;
-+	t |= rxdv << QCA955X_ETH_CFG_RDV_DELAY_SHIFT;
-+	t |= txd << QCA955X_ETH_CFG_TXD_DELAY_SHIFT;
-+	t |= txe << QCA955X_ETH_CFG_TXE_DELAY_SHIFT;
-+
-+	__raw_writel(t, base + QCA955X_GMAC_REG_ETH_CFG);
-+
-+	iounmap(base);
-+}
-+
- static void __init mr900_setup(void)
- {
- 	u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
-@@ -139,7 +161,7 @@ static void __init mr900_setup(void)
- 	}
- 	pdata->use_eeprom = true;
- 
--	ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-+	mr900_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN, 3, 3, 0, 0);
- 	ath79_register_mdio(0, 0x0);
- 
- 	mdiobus_register_board_info(mr900_mdio0_info,

+ 0 - 0
patches/openwrt/0111-x86-generic-enable-CONFIG_SATA_VIA.patch → patches/openwrt/0060-x86-generic-enable-CONFIG_SATA_VIA.patch


+ 0 - 58
patches/openwrt/0061-ar71xx-Use-private-version-of-ath79_setup_qca955x_eth_cfg-for-MR1750.patch

@@ -1,58 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Wed, 23 Mar 2016 12:52:12 +0000
-Subject: ar71xx: Use private version of ath79_setup_qca955x_eth_cfg for MR1750
-
-The MR1750 must unset some bits in ETH_CFG which were set by u-boot to work
-correctly under OpenWrt. But the global function
-ath79_setup_qca955x_eth_cfg will not unset all of them to increase the
-backward compatiblity with older mach-* files. A private (simplified)
-version for MR1750 can be used instead.
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49070
-
-Forwarded: https://patchwork.ozlabs.org/patch/624188/
-
-diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c
-index f9e45bd..e3c04e7 100644
---- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c
-+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c
-@@ -108,6 +108,28 @@ static struct mdio_board_info mr1750_mdio0_info[] = {
- 	},
- };
- 
-+static void __init mr1750_setup_qca955x_eth_cfg(u32 mask,
-+						unsigned int rxd,
-+						unsigned int rxdv,
-+						unsigned int txd,
-+						unsigned int txe)
-+{
-+	void __iomem *base;
-+	u32 t;
-+
-+	base = ioremap(QCA955X_GMAC_BASE, QCA955X_GMAC_SIZE);
-+
-+	t = mask;
-+	t |= rxd << QCA955X_ETH_CFG_RXD_DELAY_SHIFT;
-+	t |= rxdv << QCA955X_ETH_CFG_RDV_DELAY_SHIFT;
-+	t |= txd << QCA955X_ETH_CFG_TXD_DELAY_SHIFT;
-+	t |= txe << QCA955X_ETH_CFG_TXE_DELAY_SHIFT;
-+
-+	__raw_writel(t, base + QCA955X_GMAC_REG_ETH_CFG);
-+
-+	iounmap(base);
-+}
-+
- static void __init mr1750_setup(void)
- {
- 	u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
-@@ -129,7 +151,7 @@ static void __init mr1750_setup(void)
- 	ath79_register_wmac(art + MR1750_WMAC_CALDATA_OFFSET, mac);
- 	ath79_register_pci();
- 
--	ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-+	mr1750_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN, 3, 3, 0, 0);
- 	ath79_register_mdio(0, 0x0);
- 
- 	mdiobus_register_board_info(mr1750_mdio0_info,

+ 0 - 0
patches/openwrt/0112-libpcap-fix-dependency-of-install-shared-so-make-target.patch → patches/openwrt/0061-libpcap-fix-dependency-of-install-shared-so-make-target.patch


+ 0 - 0
patches/openwrt/0113-ar71xx-add-revision-detection-for-D-Link-DIR-505-A1-A2.patch → patches/openwrt/0062-ar71xx-add-revision-detection-for-D-Link-DIR-505-A1-A2.patch


+ 0 - 43
patches/openwrt/0062-scripts-om-fwupgradecfg-gen.sh-Fix-u-boot-image-md5sum-check.patch

@@ -1,43 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Mon, 14 Sep 2015 20:10:10 +0000
-Subject: scripts/om-fwupgradecfg-gen.sh: Fix u-boot image md5sum check
-
-The u-boot on Open Mesh devices checks the whole transfered image against a
-md5sum. This is stored inside the option filemd5sum inside the
-fwupgrade.cfg. The bootloader will not check it when this setting is
-missing and could therefore write invalid images to the flash.
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r46925
-
-Forwarded: https://patchwork.ozlabs.org/patch/624189/
-
-diff --git a/scripts/om-fwupgradecfg-gen.sh b/scripts/om-fwupgradecfg-gen.sh
-index c790214..fab1582 100644
---- a/scripts/om-fwupgradecfg-gen.sh
-+++ b/scripts/om-fwupgradecfg-gen.sh
-@@ -48,6 +48,7 @@ ROOTFS_FLASH_ADDR=$(addr=$(($KERNEL_FLASH_ADDR + ($KERNEL_PART_SIZE * 1024))); p
- ROOTFS_SIZE=$(stat -c%s "$ROOTFS_PATH")
- ROOTFS_CHECK_BLOCKS=$((($ROOTFS_SIZE / $CHECK_BS) - $MD5_SKIP_BLOCKS))
- ROOTFS_MD5=$(md5=$(dd if=$ROOTFS_PATH bs=$CHECK_BS count=$ROOTFS_CHECK_BLOCKS 2>&- | md5sum); echo ${md5%% *})
-+ROOTFS_MD5_FULL=$(md5=$(md5sum $ROOTFS_PATH); echo ${md5%% *})
- ROOTFS_CHECK_SIZE=$(printf '0x%x' $(($ROOTFS_CHECK_BLOCKS * $CHECK_BS)))
- ROOTFS_PART_SIZE=$(($MAX_PART_SIZE - $KERNEL_PART_SIZE))
- 
-@@ -55,6 +56,7 @@ cat << EOF > $CFG_OUT
- [vmlinux]
- filename=kernel
- md5sum=$KERNEL_MD5
-+filemd5sum=$KERNEL_MD5
- flashaddr=$KERNEL_FLASH_ADDR
- checksize=0x0
- cmd_success=setenv bootseq 1,2; setenv kernel_size_1 $KERNEL_PART_SIZE; saveenv
-@@ -63,6 +65,7 @@ cmd_fail=reset
- [rootfs]
- filename=rootfs
- md5sum=$ROOTFS_MD5
-+filemd5sum=$ROOTFS_MD5_FULL
- flashaddr=$ROOTFS_FLASH_ADDR
- checksize=$ROOTFS_CHECK_SIZE
- cmd_success=setenv bootseq 1,2; setenv kernel_size_1 $KERNEL_PART_SIZE; setenv rootfs_size_1 $ROOTFS_PART_SIZE; saveenv

+ 0 - 0
patches/openwrt/0114-ar71xx-don-t-use-D-Link-DIR-505-status-LED-as-ethernet-indicator.patch → patches/openwrt/0063-ar71xx-don-t-use-D-Link-DIR-505-status-LED-as-ethernet-indicator.patch


+ 0 - 50
patches/openwrt/0063-scripts-om-fwupgradecfg-gen.sh-Generate-sha256sum-for-uboot-verification.patch

@@ -1,50 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Sat, 9 Apr 2016 10:25:42 +0000
-Subject: scripts/om-fwupgradecfg-gen.sh: Generate sha256sum for uboot verification
-
-Future Open Mesh u-boot versions are changing the check of the image files
-(vmlinux, rootfs) from md5 to sha256. Having both in them should be enough
-to ensure backward and forward compatibility.
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49140
-
-Forwarded: https://patchwork.ozlabs.org/patch/624190/
-
-diff --git a/scripts/om-fwupgradecfg-gen.sh b/scripts/om-fwupgradecfg-gen.sh
-index fab1582..e208e6d 100644
---- a/scripts/om-fwupgradecfg-gen.sh
-+++ b/scripts/om-fwupgradecfg-gen.sh
-@@ -42,6 +42,7 @@ CHECK_BS=65536
- 
- KERNEL_SIZE=$(stat -c%s "$KERNEL_PATH")
- KERNEL_MD5=$(md5=$(md5sum $KERNEL_PATH); echo ${md5%% *})
-+KERNEL_SHA256=$(openssl dgst -sha256 $KERNEL_PATH | awk '{print $2}')
- KERNEL_PART_SIZE=$(size=$(($KERNEL_SIZE / $FLASH_BS)); [ $(($size * $FLASH_BS)) -lt $KERNEL_SIZE ] && size=$(($size + 1)); echo $(($size * $FLASH_BS / 1024)))
- 
- ROOTFS_FLASH_ADDR=$(addr=$(($KERNEL_FLASH_ADDR + ($KERNEL_PART_SIZE * 1024))); printf "0x%x" $addr)
-@@ -49,6 +50,7 @@ ROOTFS_SIZE=$(stat -c%s "$ROOTFS_PATH")
- ROOTFS_CHECK_BLOCKS=$((($ROOTFS_SIZE / $CHECK_BS) - $MD5_SKIP_BLOCKS))
- ROOTFS_MD5=$(md5=$(dd if=$ROOTFS_PATH bs=$CHECK_BS count=$ROOTFS_CHECK_BLOCKS 2>&- | md5sum); echo ${md5%% *})
- ROOTFS_MD5_FULL=$(md5=$(md5sum $ROOTFS_PATH); echo ${md5%% *})
-+ROOTFS_SHA256_FULL=$(openssl dgst -sha256 $ROOTFS_PATH | awk '{print $2}')
- ROOTFS_CHECK_SIZE=$(printf '0x%x' $(($ROOTFS_CHECK_BLOCKS * $CHECK_BS)))
- ROOTFS_PART_SIZE=$(($MAX_PART_SIZE - $KERNEL_PART_SIZE))
- 
-@@ -57,6 +59,7 @@ cat << EOF > $CFG_OUT
- filename=kernel
- md5sum=$KERNEL_MD5
- filemd5sum=$KERNEL_MD5
-+filesha256sum=$KERNEL_SHA256
- flashaddr=$KERNEL_FLASH_ADDR
- checksize=0x0
- cmd_success=setenv bootseq 1,2; setenv kernel_size_1 $KERNEL_PART_SIZE; saveenv
-@@ -66,6 +69,7 @@ cmd_fail=reset
- filename=rootfs
- md5sum=$ROOTFS_MD5
- filemd5sum=$ROOTFS_MD5_FULL
-+filesha256sum=$ROOTFS_SHA256_FULL
- flashaddr=$ROOTFS_FLASH_ADDR
- checksize=$ROOTFS_CHECK_SIZE
- cmd_success=setenv bootseq 1,2; setenv kernel_size_1 $KERNEL_PART_SIZE; setenv rootfs_size_1 $ROOTFS_PART_SIZE; saveenv

+ 0 - 265
patches/openwrt/0064-ar71xx-add-kernel-support-for-the-OpenMesh-OM5P-AC-board.patch

@@ -1,265 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Sat, 9 Apr 2016 10:25:47 +0000
-Subject: ar71xx: add kernel support for the OpenMesh OM5P-AC board
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49141
-
-Forwarded: https://patchwork.ozlabs.org/patch/624191/
-
-diff --git a/target/linux/ar71xx/config-3.18 b/target/linux/ar71xx/config-3.18
-index c5a3c9a..dd89357 100644
---- a/target/linux/ar71xx/config-3.18
-+++ b/target/linux/ar71xx/config-3.18
-@@ -91,6 +91,7 @@ CONFIG_ATH79_MACH_NBG460N=y
- CONFIG_ATH79_MACH_NBG6716=y
- CONFIG_ATH79_MACH_OM2P=y
- CONFIG_ATH79_MACH_OM5P=y
-+CONFIG_ATH79_MACH_OM5P_AC=y
- CONFIG_ATH79_MACH_ONION_OMEGA=y
- CONFIG_ATH79_MACH_PB42=y
- CONFIG_ATH79_MACH_PB44=y
-diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-om5pac.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-om5pac.c
-new file mode 100644
-index 0000000..f6974af
---- /dev/null
-+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-om5pac.c
-@@ -0,0 +1,193 @@
-+/*
-+ *  OpenMesh OM5P-AC support
-+ *
-+ *  Copyright (C) 2013 Marek Lindner <marek@open-mesh.com>
-+ *  Copyright (C) 2014 Sven Eckelmann <sven@open-mesh.com>
-+ *
-+ *  This program is free software; you can redistribute it and/or modify it
-+ *  under the terms of the GNU General Public License version 2 as published
-+ *  by the Free Software Foundation.
-+ */
-+
-+#include <linux/gpio.h>
-+#include <linux/mtd/mtd.h>
-+#include <linux/mtd/partitions.h>
-+#include <linux/platform_device.h>
-+#include <linux/i2c.h>
-+#include <linux/i2c-algo-bit.h>
-+#include <linux/i2c-gpio.h>
-+#include <linux/platform_data/phy-at803x.h>
-+
-+#include <asm/mach-ath79/ar71xx_regs.h>
-+#include <asm/mach-ath79/ath79.h>
-+
-+#include "common.h"
-+#include "dev-ap9x-pci.h"
-+#include "dev-eth.h"
-+#include "dev-leds-gpio.h"
-+#include "dev-m25p80.h"
-+#include "dev-wmac.h"
-+#include "machtypes.h"
-+#include "pci.h"
-+
-+#define OM5PAC_GPIO_LED_POWER	18
-+#define OM5PAC_GPIO_LED_GREEN	21
-+#define OM5PAC_GPIO_LED_RED	23
-+#define OM5PAC_GPIO_LED_YELLOW	22
-+#define OM5PAC_GPIO_LED_LAN	20
-+#define OM5PAC_GPIO_LED_WAN	19
-+#define OM5PAC_GPIO_I2C_SCL	12
-+#define OM5PAC_GPIO_I2C_SDA	11
-+
-+#define OM5PAC_KEYS_POLL_INTERVAL	20	/* msecs */
-+#define OM5PAC_KEYS_DEBOUNCE_INTERVAL	(3 * OM5PAC_KEYS_POLL_INTERVAL)
-+
-+#define OM5PAC_WMAC_CALDATA_OFFSET	0x1000
-+
-+static struct gpio_led om5pac_leds_gpio[] __initdata = {
-+	{
-+		.name		= "om5pac:blue:power",
-+		.gpio		= OM5PAC_GPIO_LED_POWER,
-+		.active_low	= 1,
-+	}, {
-+		.name		= "om5pac:red:wifi",
-+		.gpio		= OM5PAC_GPIO_LED_RED,
-+		.active_low	= 1,
-+	}, {
-+		.name		= "om5pac:yellow:wifi",
-+		.gpio		= OM5PAC_GPIO_LED_YELLOW,
-+		.active_low	= 1,
-+	}, {
-+		.name		= "om5pac:green:wifi",
-+		.gpio		= OM5PAC_GPIO_LED_GREEN,
-+		.active_low	= 1,
-+	}, {
-+		.name		= "om5pac:blue:lan",
-+		.gpio		= OM5PAC_GPIO_LED_LAN,
-+		.active_low	= 1,
-+	}, {
-+		.name		= "om5pac:blue:wan",
-+		.gpio		= OM5PAC_GPIO_LED_WAN,
-+		.active_low	= 1,
-+	}
-+};
-+
-+static struct flash_platform_data om5pac_flash_data = {
-+	.type = "mx25l12805d",
-+};
-+
-+static struct i2c_gpio_platform_data om5pac_i2c_device_platdata = {
-+	.sda_pin		= OM5PAC_GPIO_I2C_SDA,
-+	.scl_pin		= OM5PAC_GPIO_I2C_SCL,
-+	.udelay			= 10,
-+	.sda_is_open_drain	= 1,
-+	.scl_is_open_drain	= 1,
-+};
-+
-+static struct platform_device om5pac_i2c_device = {
-+	.name		= "i2c-gpio",
-+	.id		= 0,
-+	.dev		= {
-+		.platform_data	= &om5pac_i2c_device_platdata,
-+	},
-+};
-+
-+static struct i2c_board_info om5pac_i2c_devs[] __initdata = {
-+	{
-+		I2C_BOARD_INFO("tmp423", 0x4c),
-+	},
-+};
-+
-+static struct at803x_platform_data om5pac_at803x_data = {
-+	.disable_smarteee = 1,
-+	.enable_rgmii_rx_delay = 1,
-+	.enable_rgmii_tx_delay = 1,
-+};
-+
-+static struct mdio_board_info om5pac_mdio0_info[] = {
-+	{
-+		.bus_id = "ag71xx-mdio.0",
-+		.phy_addr = 1,
-+		.platform_data = &om5pac_at803x_data,
-+	},
-+	{
-+		.bus_id = "ag71xx-mdio.0",
-+		.phy_addr = 2,
-+		.platform_data = &om5pac_at803x_data,
-+	},
-+};
-+
-+static void __init om5p_ac_setup_qca955x_eth_cfg(u32 mask,
-+						 unsigned int rxd,
-+						 unsigned int rxdv,
-+						 unsigned int txd,
-+						 unsigned int txe)
-+{
-+	void __iomem *base;
-+	u32 t;
-+
-+	base = ioremap(QCA955X_GMAC_BASE, QCA955X_GMAC_SIZE);
-+
-+	t = mask;
-+	t |= rxd << QCA955X_ETH_CFG_RXD_DELAY_SHIFT;
-+	t |= rxdv << QCA955X_ETH_CFG_RDV_DELAY_SHIFT;
-+	t |= txd << QCA955X_ETH_CFG_TXD_DELAY_SHIFT;
-+	t |= txe << QCA955X_ETH_CFG_TXE_DELAY_SHIFT;
-+
-+	__raw_writel(t, base + QCA955X_GMAC_REG_ETH_CFG);
-+
-+	iounmap(base);
-+}
-+
-+static void __init om5p_ac_setup(void)
-+{
-+	u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
-+	u8 mac[6];
-+
-+	/* temperature sensor */
-+	platform_device_register(&om5pac_i2c_device);
-+	i2c_register_board_info(0, om5pac_i2c_devs,
-+				ARRAY_SIZE(om5pac_i2c_devs));
-+
-+	ath79_gpio_output_select(OM5PAC_GPIO_LED_WAN, QCA955X_GPIO_OUT_GPIO);
-+
-+	ath79_register_m25p80(&om5pac_flash_data);
-+	ath79_register_leds_gpio(-1, ARRAY_SIZE(om5pac_leds_gpio),
-+				 om5pac_leds_gpio);
-+
-+	ath79_init_mac(mac, art, 0x02);
-+	ath79_register_wmac(art + OM5PAC_WMAC_CALDATA_OFFSET, mac);
-+
-+	om5p_ac_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN, 3, 3, 0, 0);
-+	ath79_register_mdio(0, 0x0);
-+
-+	mdiobus_register_board_info(om5pac_mdio0_info,
-+				    ARRAY_SIZE(om5pac_mdio0_info));
-+
-+	ath79_init_mac(ath79_eth0_data.mac_addr, art, 0x00);
-+	ath79_init_mac(ath79_eth1_data.mac_addr, art, 0x01);
-+
-+	/* GMAC0 is connected to the PHY1 */
-+	ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
-+	ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-+	ath79_eth0_data.phy_mask = BIT(1);
-+	ath79_eth0_pll_data.pll_1000 = 0x82000101;
-+	ath79_eth0_pll_data.pll_100 = 0x80000101;
-+	ath79_eth0_pll_data.pll_10 = 0x80001313;
-+	ath79_register_eth(0);
-+
-+	/* GMAC1 is connected to MDIO1 in SGMII mode */
-+	ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
-+	ath79_eth1_data.mii_bus_dev = &ath79_mdio0_device.dev;
-+	ath79_eth1_data.phy_mask = BIT(2);
-+	ath79_eth1_pll_data.pll_1000 = 0x03000101;
-+	ath79_eth1_pll_data.pll_100 = 0x80000101;
-+	ath79_eth1_pll_data.pll_10 = 0x80001313;
-+	ath79_eth1_data.speed = SPEED_1000;
-+	ath79_eth1_data.duplex = DUPLEX_FULL;
-+	ath79_register_eth(1);
-+
-+	ath79_register_pci();
-+}
-+
-+MIPS_MACHINE(ATH79_MACH_OM5P_AC, "OM5P-AC", "OpenMesh OM5P AC", om5p_ac_setup);
-diff --git a/target/linux/ar71xx/patches-3.18/815-MIPS-ath79-add-om5pac-support.patch b/target/linux/ar71xx/patches-3.18/815-MIPS-ath79-add-om5pac-support.patch
-new file mode 100644
-index 0000000..4accd03
---- /dev/null
-+++ b/target/linux/ar71xx/patches-3.18/815-MIPS-ath79-add-om5pac-support.patch
-@@ -0,0 +1,38 @@
-+--- a/arch/mips/ath79/Kconfig
-++++ b/arch/mips/ath79/Kconfig
-+@@ -799,6 +799,15 @@ config ATH79_MACH_OM5P
-+ 	select ATH79_DEV_M25P80
-+ 	select ATH79_DEV_WMAC
-+ 
-++config ATH79_MACH_OM5P_AC
-++	bool "OpenMesh OM5P-AC board support"
-++	select SOC_QCA955X
-++	select ATH79_DEV_AP9X_PCI if PCI
-++	select ATH79_DEV_ETH
-++	select ATH79_DEV_LEDS_GPIO
-++	select ATH79_DEV_M25P80
-++	select ATH79_DEV_WMAC
-++
-+ config ATH79_MACH_ONION_OMEGA
-+ 	bool "ONION OMEGA support"
-+ 	select SOC_AR933X
-+--- a/arch/mips/ath79/Makefile
-++++ b/arch/mips/ath79/Makefile
-+@@ -100,6 +100,7 @@ obj-$(CONFIG_ATH79_MACH_MZK_W300NH)	+= m
-+ obj-$(CONFIG_ATH79_MACH_NBG460N)	+= mach-nbg460n.o
-+ obj-$(CONFIG_ATH79_MACH_OM2P)		+= mach-om2p.o
-+ obj-$(CONFIG_ATH79_MACH_OM5P)		+= mach-om5p.o
-++obj-$(CONFIG_ATH79_MACH_OM5P_AC)	+= mach-om5pac.o
-+ obj-$(CONFIG_ATH79_MACH_ONION_OMEGA)	+= mach-onion-omega.o
-+ obj-$(CONFIG_ATH79_MACH_PB42)		+= mach-pb42.o
-+ obj-$(CONFIG_ATH79_MACH_PB44)		+= mach-pb44.o
-+--- a/arch/mips/ath79/machtypes.h
-++++ b/arch/mips/ath79/machtypes.h
-+@@ -95,6 +95,7 @@ enum ath79_mach_type {
-+ 	ATH79_MACH_OM2P_LC,		/* OpenMesh OM2P-LC */
-+ 	ATH79_MACH_OM2Pv2,		/* OpenMesh OM2Pv2 */
-+ 	ATH79_MACH_OM2P,		/* OpenMesh OM2P */
-++	ATH79_MACH_OM5P_AC,		/* OpenMesh OM5P-AC */
-+ 	ATH79_MACH_OM5P_AN,		/* OpenMesh OM5P-AN */
-+ 	ATH79_MACH_OM5P,		/* OpenMesh OM5P */
-+ 	ATH79_MACH_ONION_OMEGA,		/* ONION OMEGA */

+ 0 - 0
patches/openwrt/0115-ar71xx-cpe510-enable-LNA-for-CPE210-220-510-520.patch → patches/openwrt/0064-ar71xx-cpe510-enable-LNA-for-CPE210-220-510-520.patch


+ 0 - 54
patches/openwrt/0065-ar71xx-add-user-space-support-for-the-OpenMesh-OM5P-AC.patch

@@ -1,54 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Sat, 9 Apr 2016 10:25:51 +0000
-Subject: ar71xx: add user-space support for the OpenMesh OM5P-AC
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49142
-
-Forwarded: https://patchwork.ozlabs.org/patch/624192/
-
-diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
-index 44d2ddf..a4051f2 100644
---- a/target/linux/ar71xx/base-files/etc/diag.sh
-+++ b/target/linux/ar71xx/base-files/etc/diag.sh
-@@ -178,6 +178,9 @@ get_status_led() {
- 	om5p-an)
- 		status_led="om5p:blue:power"
- 		;;
-+	om5p-ac)
-+		status_led="om5pac:blue:power"
-+		;;
- 	onion-omega)
- 		status_led="onion:amber:system"
- 		;;
-diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
-index c451124..9a768cd 100644
---- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
-+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
-@@ -304,6 +304,11 @@ om5p-an)
- 	ucidef_set_led_netdev "port2" "port2" "om5p:blue:lan" "eth1"
- 	;;
- 
-+om5p-ac)
-+	ucidef_set_led_netdev "port1" "port1" "om5pac:blue:lan" "eth0"
-+	ucidef_set_led_netdev "port2" "port2" "om5pac:blue:wan" "eth1"
-+	;;
-+
- qihoo-c301)
- 	ucidef_set_led_wlan "wlan2g" "WLAN2G" "qihoo:red:status" "phy1tpt"
- 	;;
-diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-index 587d029..10b8048 100755
---- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
-+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-@@ -616,6 +616,9 @@ ar71xx_board_detect() {
- 	*"OM5P AN")
- 		name="om5p-an"
- 		;;
-+	*"OM5P AC")
-+		name="om5p-ac"
-+		;;
- 	*"Onion Omega")
- 		name="onion-omega"
- 		;;

+ 0 - 0
patches/openwrt/0116-ar71xx-cpe510-split-profile-into-2-profiles-cpe210-and-cpe510.patch → patches/openwrt/0065-ar71xx-cpe510-split-profile-into-2-profiles-cpe210-and-cpe510.patch


+ 0 - 0
patches/openwrt/0117-fw-utils-tplink-safeloader.c-Add-support-for-Archer-C2600.patch → patches/openwrt/0066-fw-utils-tplink-safeloader.c-Add-support-for-Archer-C2600.patch


+ 0 - 32
patches/openwrt/0066-scripts-om-fwupgradecfg-gen.sh-add-support-for-the-OM5P-AC.patch

@@ -1,32 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Sat, 9 Apr 2016 10:25:54 +0000
-Subject: scripts/om-fwupgradecfg-gen.sh: add support for the OM5P-AC
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49143
-
-Forwarded: https://patchwork.ozlabs.org/patch/624193/
-
-diff --git a/scripts/om-fwupgradecfg-gen.sh b/scripts/om-fwupgradecfg-gen.sh
-index e208e6d..6c3b74c 100644
---- a/scripts/om-fwupgradecfg-gen.sh
-+++ b/scripts/om-fwupgradecfg-gen.sh
-@@ -7,7 +7,7 @@
- #
- 
- usage() {
--	echo "Usage: $0 <OM2P|OM5P|MR600|MR900|MR1750> <out file path> <kernel path> <rootfs path>"
-+	echo "Usage: $0 <OM2P|OM5P|OM5PAC|MR600|MR900|MR1750> <out file path> <kernel path> <rootfs path>"
- 	rm -f $CFG_OUT
- 	exit 1
- }
-@@ -26,7 +26,7 @@ case $CE_TYPE in
- 		FLASH_BS=262144
- 		MD5_SKIP_BLOCKS=1
- 		;;
--	OM5P|MR600|MR900|MR1750)
-+	OM5P|OM5PAC|MR600|MR900|MR1750)
- 		MAX_PART_SIZE=7808
- 		KERNEL_FLASH_ADDR=0xb0000
- 		FLASH_BS=65536

+ 0 - 59
patches/openwrt/0067-ar71xx-enable-sysupgrade-for-the-OpenMesh-OM5P-AC.patch

@@ -1,59 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Sat, 9 Apr 2016 10:25:57 +0000
-Subject: ar71xx: enable sysupgrade for the OpenMesh OM5P-AC
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49144
-
-Forwarded: https://patchwork.ozlabs.org/patch/624194/
-
-diff --git a/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh b/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
-index 9ca0f5b..1cfead9 100644
---- a/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
-+++ b/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
-@@ -72,6 +72,11 @@ platform_check_image_openmesh()
- 			echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
- 			return 1
- 			;;
-+		OM5PAC)
-+			[ "$board" = "om5p-ac" ] && break
-+			echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
-+			return 1
-+			;;
- 		MR1750)
- 			[ "$board" = "mr1750" ] && break
- 			echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
-@@ -162,7 +167,7 @@ platform_do_upgrade_openmesh()
- 			kernel_start_addr1=0x9f1c0000
- 			kernel_start_addr2=0x9f8c0000
- 			;;
--		OM5P|MR600|MR900|MR1750)
-+		OM5P|OM5PAC|MR600|MR900|MR1750)
- 			block_size=$((64 * 1024))
- 			total_size=7995392
- 			kernel_start_addr1=0x9f0b0000
-diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-index ac060ea..67c0661 100755
---- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-@@ -307,7 +307,8 @@ platform_check_image() {
- 	om2p-hsv2 | \
- 	om2p-lc | \
- 	om5p | \
--	om5p-an)
-+	om5p-an | \
-+	om5p-ac)
- 		platform_check_image_openmesh "$magic_long" "$1" && return 0
- 		return 1
- 		;;
-@@ -540,7 +541,8 @@ platform_do_upgrade() {
- 	om2p-hsv2 | \
- 	om2p-lc | \
- 	om5p | \
--	om5p-an)
-+	om5p-an | \
-+	om5p-ac)
- 		platform_do_upgrade_openmesh "$ARGV"
- 		;;
- 	unifi-outdoor-plus | \

+ 0 - 0
patches/openwrt/0118-tools-tplink-safeloader-split-CPE210-from-CPE510-profile.patch → patches/openwrt/0067-tools-tplink-safeloader-split-CPE210-from-CPE510-profile.patch


+ 0 - 0
patches/openwrt/0119-dropbear-update-to-LEDE-277f85c21ae0ede4e15e66cbd801b9fb502531df.patch → patches/openwrt/0068-dropbear-update-to-LEDE-277f85c21ae0ede4e15e66cbd801b9fb502531df.patch


+ 0 - 24
patches/openwrt/0068-om-watchdog-add-OpenMesh-OM5P-AC-support.patch

@@ -1,24 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Sat, 9 Apr 2016 10:26:01 +0000
-Subject: om-watchdog: add OpenMesh OM5P-AC support
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49145
-
-Forwarded: https://patchwork.ozlabs.org/patch/624195/
-
-diff --git a/package/kernel/om-watchdog/files/om-watchdog.init b/package/kernel/om-watchdog/files/om-watchdog.init
-index c792968..8cec13b 100644
---- a/package/kernel/om-watchdog/files/om-watchdog.init
-+++ b/package/kernel/om-watchdog/files/om-watchdog.init
-@@ -22,6 +22,9 @@ boot() {
- 			"om5p"|"om5p-an")
- 				service_start /sbin/om-watchdog 11
- 				;;
-+			"om5p-ac")
-+				service_start /sbin/om-watchdog 17
-+				;;
- 			"mr600v2")
- 				service_start /sbin/om-watchdog 15
- 				;;

+ 0 - 0
patches/openwrt/0120-ar71xx-Added-support-for-TL-WA801NDv3.patch → patches/openwrt/0069-ar71xx-Added-support-for-TL-WA801NDv3.patch


+ 0 - 22
patches/openwrt/0069-uboot-envtools-add-OpenMesh-OM5P-AC-support.patch

@@ -1,22 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Sat, 9 Apr 2016 10:26:04 +0000
-Subject: uboot-envtools: add OpenMesh OM5P-AC support
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49146
-
-Forwarded: https://patchwork.ozlabs.org/patch/624196/
-
-diff --git a/package/boot/uboot-envtools/files/ar71xx b/package/boot/uboot-envtools/files/ar71xx
-index ef00f17..657b25f 100644
---- a/package/boot/uboot-envtools/files/ar71xx
-+++ b/package/boot/uboot-envtools/files/ar71xx
-@@ -28,6 +28,7 @@ mr900 | \
- mr900v2 | \
- nbg6716 | \
- om5p-an | \
-+om5p-ac | \
- om5p | \
- tube2h | \
- wndr3700)

+ 0 - 25
patches/openwrt/0070-ar71xx-extract-ath10k-wifi-board.bin-for-the-OpenMesh-OM5P-AC-board.patch

@@ -1,25 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Sat, 9 Apr 2016 10:26:08 +0000
-Subject: ar71xx: extract ath10k wifi board.bin for the OpenMesh OM5P-AC board
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49147
-
-Forwarded: https://patchwork.ozlabs.org/patch/624197/
-
-diff --git a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
-index cde7aaf..c1f4b85 100644
---- a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
-+++ b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
-@@ -96,6 +96,10 @@ case "$FIRMWARE" in
- 	rb-911g-5hpacd)
- 		ath10kcal_from_file "/sys/firmware/routerboot/ext_wlan_data" 20480 2116
- 		;;
-+	om5p-ac)
-+		ath10kcal_extract "ART" 20480 2116
-+		ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
-+		;;
- 	esac
- 	;;
- *)

+ 0 - 0
patches/openwrt/0121-firmware-utils-mktplinkfw-backport-from-LEDE-a4fc62bc0ea4010ddbfbd738453c9db70988a57c.patch → patches/openwrt/0070-firmware-utils-mktplinkfw-backport-from-LEDE-a4fc62bc0ea4010ddbfbd738453c9db70988a57c.patch


+ 0 - 0
patches/openwrt/0122-ar71xx-backport-support-for-new-TP-Link-region-codes.patch → patches/openwrt/0071-ar71xx-backport-support-for-new-TP-Link-region-codes.patch


+ 0 - 53
patches/openwrt/0071-ar71xx-create-profile-and-build-image-for-the-OpenMesh-OM5P-AC-board.patch

@@ -1,53 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Sat, 9 Apr 2016 10:26:11 +0000
-Subject: ar71xx: create profile and build image for the OpenMesh OM5P-AC board
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49148
-
-Forwarded: https://patchwork.ozlabs.org/patch/624198/
-
-diff --git a/target/linux/ar71xx/generic/profiles/openmesh.mk b/target/linux/ar71xx/generic/profiles/openmesh.mk
-index 06cf135..64aaa24 100644
---- a/target/linux/ar71xx/generic/profiles/openmesh.mk
-+++ b/target/linux/ar71xx/generic/profiles/openmesh.mk
-@@ -27,6 +27,17 @@ endef
- 
- $(eval $(call Profile,OM5P))
- 
-+define Profile/OM5PAC
-+	NAME:=OpenMesh OM5P-AC
-+	PACKAGES:=kmod-ath9k kmod-ath10k om-watchdog ath10k-firmware-qca988x
-+endef
-+
-+define Profile/OM5PAC/Description
-+	Package set optimized for the OpenMesh OM5P-AC.
-+endef
-+
-+$(eval $(call Profile,OM5PAC))
-+
- define Profile/MR600
-         NAME:=OpenMesh MR600
-         PACKAGES:=kmod-ath9k om-watchdog
-diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
-index 0ebb7dc..0cf1df1 100644
---- a/target/linux/ar71xx/image/Makefile
-+++ b/target/linux/ar71xx/image/Makefile
-@@ -2043,6 +2043,7 @@ $(eval $(call SingleProfile,Netgear,64kraw,WPN824N,wpn824n,WPN824N,ttyS0,115200,
- 
- $(eval $(call SingleProfile,OpenMesh,squashfs-only,OM2P,om2p,,,,OM2P))
- $(eval $(call SingleProfile,OpenMesh,squashfs-only,OM5P,om5p,,,,OM5P))
-+$(eval $(call SingleProfile,OpenMesh,squashfs-only,OM5PAC,om5pac,,,,OM5PAC))
- $(eval $(call SingleProfile,OpenMesh,squashfs-only,MR600,mr600,,,,MR600))
- $(eval $(call SingleProfile,OpenMesh,squashfs-only,MR900,mr900,,,,MR900))
- $(eval $(call SingleProfile,OpenMesh,squashfs-only,MR1750,mr1750,,,,MR1750))
-@@ -2139,7 +2140,7 @@ $(eval $(call MultiProfile,AP121,AP121_2M AP121_4M))
- $(eval $(call MultiProfile,DIR615IX,DIR615I1 DIR615I3))
- $(eval $(call MultiProfile,AP136,AP136_010 AP136_020))
- $(eval $(call MultiProfile,EWDORIN, EWDORINAP EWDORINRT EWDORIN16M))
--$(eval $(call MultiProfile,OPENMESH,OM2P OM5P MR600 MR900 MR1750))
-+$(eval $(call MultiProfile,OPENMESH,OM2P OM5P OM5PAC MR600 MR900 MR1750))
- $(eval $(call MultiProfile,TEW652BRP,TEW652BRP_FW TEW652BRP_RECOVERY))
- $(eval $(call MultiProfile,TLMR3220,TLMR3220V1))
- $(eval $(call MultiProfile,TLMR3420,TLMR3420V1))

+ 0 - 289
patches/openwrt/0072-ar71xx-add-kernel-support-for-the-OpenMesh-OM5P-ACv2-board.patch

@@ -1,289 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Sat, 9 Apr 2016 10:26:15 +0000
-Subject: ar71xx: add kernel support for the OpenMesh OM5P-ACv2 board
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49149
-
-Forwarded: https://patchwork.ozlabs.org/patch/624199/
-
-diff --git a/target/linux/ar71xx/config-3.18 b/target/linux/ar71xx/config-3.18
-index dd89357..514f7d5 100644
---- a/target/linux/ar71xx/config-3.18
-+++ b/target/linux/ar71xx/config-3.18
-@@ -92,6 +92,7 @@ CONFIG_ATH79_MACH_NBG6716=y
- CONFIG_ATH79_MACH_OM2P=y
- CONFIG_ATH79_MACH_OM5P=y
- CONFIG_ATH79_MACH_OM5P_AC=y
-+CONFIG_ATH79_MACH_OM5P_ACv2=y
- CONFIG_ATH79_MACH_ONION_OMEGA=y
- CONFIG_ATH79_MACH_PB42=y
- CONFIG_ATH79_MACH_PB44=y
-diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-om5pacv2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-om5pacv2.c
-new file mode 100644
-index 0000000..587ca32
---- /dev/null
-+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-om5pacv2.c
-@@ -0,0 +1,216 @@
-+/*
-+ *  OpenMesh OM5P-ACv2 support
-+ *
-+ *  Copyright (C) 2013 Marek Lindner <marek@open-mesh.com>
-+ *  Copyright (C) 2014-2016 Sven Eckelmann <sven@open-mesh.com>
-+ *  Copyright (C) 2015 Open-Mesh - Jim Collar <jim.collar@eqware.net>
-+ *
-+ *  This program is free software; you can redistribute it and/or modify it
-+ *  under the terms of the GNU General Public License version 2 as published
-+ *  by the Free Software Foundation.
-+ */
-+
-+#include <linux/gpio.h>
-+#include <linux/mdio-gpio.h>
-+#include <linux/mtd/mtd.h>
-+#include <linux/mtd/partitions.h>
-+#include <linux/platform_device.h>
-+#include <linux/i2c.h>
-+#include <linux/i2c-algo-bit.h>
-+#include <linux/i2c-gpio.h>
-+#include <linux/platform_data/phy-at803x.h>
-+
-+#include <asm/mach-ath79/ar71xx_regs.h>
-+#include <asm/mach-ath79/ath79.h>
-+
-+#include "common.h"
-+#include "dev-ap9x-pci.h"
-+#include "dev-eth.h"
-+#include "dev-gpio-buttons.h"
-+#include "dev-leds-gpio.h"
-+#include "dev-m25p80.h"
-+#include "dev-wmac.h"
-+#include "machtypes.h"
-+#include "pci.h"
-+
-+#define OM5PACV2_GPIO_LED_POWER	14
-+#define OM5PACV2_GPIO_LED_GREEN	13
-+#define OM5PACV2_GPIO_LED_RED	23
-+#define OM5PACV2_GPIO_LED_YELLOW	15
-+#define OM5PACV2_GPIO_BTN_RESET	1
-+#define OM5PACV2_GPIO_I2C_SCL	18
-+#define OM5PACV2_GPIO_I2C_SDA	19
-+#define OM5PACV2_GPIO_PA_DCDC	2
-+#define OM5PACV2_GPIO_PA_HIGH	16
-+
-+#define OM5PACV2_KEYS_POLL_INTERVAL	20	/* msecs */
-+#define OM5PACV2_KEYS_DEBOUNCE_INTERVAL	(3 * OM5PACV2_KEYS_POLL_INTERVAL)
-+
-+#define OM5PACV2_WMAC_CALDATA_OFFSET	0x1000
-+
-+static struct gpio_led om5pacv2_leds_gpio[] __initdata = {
-+	{
-+		.name		= "om5pac:blue:power",
-+		.gpio		= OM5PACV2_GPIO_LED_POWER,
-+		.active_low	= 1,
-+	}, {
-+		.name		= "om5pac:red:wifi",
-+		.gpio		= OM5PACV2_GPIO_LED_RED,
-+		.active_low	= 1,
-+	}, {
-+		.name		= "om5pac:yellow:wifi",
-+		.gpio		= OM5PACV2_GPIO_LED_YELLOW,
-+		.active_low	= 1,
-+	}, {
-+		.name		= "om5pac:green:wifi",
-+		.gpio		= OM5PACV2_GPIO_LED_GREEN,
-+		.active_low	= 1,
-+	}
-+};
-+
-+static struct gpio_keys_button om5pacv2_gpio_keys[] __initdata = {
-+	{
-+		.desc		= "reset",
-+		.type		= EV_KEY,
-+		.code		= KEY_RESTART,
-+		.debounce_interval = OM5PACV2_KEYS_DEBOUNCE_INTERVAL,
-+		.gpio		= OM5PACV2_GPIO_BTN_RESET,
-+		.active_low	= 1,
-+	}
-+};
-+
-+static struct i2c_gpio_platform_data om5pacv2_i2c_device_platdata = {
-+	.sda_pin		= OM5PACV2_GPIO_I2C_SDA,
-+	.scl_pin		= OM5PACV2_GPIO_I2C_SCL,
-+	.udelay			= 10,
-+	.sda_is_open_drain	= 1,
-+	.scl_is_open_drain	= 1,
-+};
-+
-+static struct platform_device om5pacv2_i2c_device = {
-+	.name		= "i2c-gpio",
-+	.id		= 0,
-+	.dev		= {
-+		.platform_data	= &om5pacv2_i2c_device_platdata,
-+	},
-+};
-+
-+static struct i2c_board_info om5pacv2_i2c_devs[] __initdata = {
-+	{
-+		I2C_BOARD_INFO("tmp423", 0x4e),
-+	},
-+};
-+
-+static struct flash_platform_data om5pacv2_flash_data = {
-+	.type = "mx25l12805d",
-+};
-+
-+static struct at803x_platform_data om5pacv2_an_at803x_data = {
-+	.disable_smarteee = 1,
-+	.enable_rgmii_rx_delay = 1,
-+	.enable_rgmii_tx_delay = 1,
-+};
-+
-+static struct at803x_platform_data om5pacv2_an_at8031_data = {
-+	.disable_smarteee = 1,
-+	.enable_rgmii_rx_delay = 1,
-+	.enable_rgmii_tx_delay = 1,
-+};
-+
-+static struct mdio_board_info om5pacv2_an_mdio0_info[] = {
-+	{
-+		.bus_id = "ag71xx-mdio.0",
-+		.phy_addr = 4,
-+		.platform_data = &om5pacv2_an_at803x_data,
-+	},
-+	{
-+		.bus_id = "ag71xx-mdio.1",
-+		.phy_addr = 1,
-+		.platform_data = &om5pacv2_an_at8031_data,
-+	},
-+};
-+
-+static void __init om5p_acv2_setup_qca955x_eth_cfg(u32 mask,
-+						   unsigned int rxd,
-+						   unsigned int rxdv,
-+						   unsigned int txd,
-+						   unsigned int txe)
-+{
-+	void __iomem *base;
-+	u32 t;
-+
-+	base = ioremap(QCA955X_GMAC_BASE, QCA955X_GMAC_SIZE);
-+
-+	t = mask;
-+	t |= rxd << QCA955X_ETH_CFG_RXD_DELAY_SHIFT;
-+	t |= rxdv << QCA955X_ETH_CFG_RDV_DELAY_SHIFT;
-+	t |= txd << QCA955X_ETH_CFG_TXD_DELAY_SHIFT;
-+	t |= txe << QCA955X_ETH_CFG_TXE_DELAY_SHIFT;
-+
-+	__raw_writel(t, base + QCA955X_GMAC_REG_ETH_CFG);
-+
-+	iounmap(base);
-+}
-+
-+static void __init om5p_acv2_setup(void)
-+{
-+	u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
-+	u8 mac[6];
-+
-+	/* power amplifier high power, 4.2V at RFFM4203/4503 instead of 3.3 */
-+	ath79_gpio_function_enable(QCA955X_GPIO_FUNC_JTAG_DISABLE);
-+	ath79_gpio_output_select(OM5PACV2_GPIO_PA_DCDC, QCA955X_GPIO_OUT_GPIO);
-+	ath79_gpio_output_select(OM5PACV2_GPIO_PA_HIGH, QCA955X_GPIO_OUT_GPIO);
-+	gpio_request_one(OM5PACV2_GPIO_PA_DCDC, GPIOF_OUT_INIT_HIGH,
-+			 "PA DC/DC");
-+	gpio_request_one(OM5PACV2_GPIO_PA_HIGH, GPIOF_OUT_INIT_HIGH, "PA HIGH");
-+
-+	/* temperature sensor */
-+	platform_device_register(&om5pacv2_i2c_device);
-+	i2c_register_board_info(0, om5pacv2_i2c_devs,
-+				ARRAY_SIZE(om5pacv2_i2c_devs));
-+
-+	ath79_register_m25p80(&om5pacv2_flash_data);
-+	ath79_register_leds_gpio(-1, ARRAY_SIZE(om5pacv2_leds_gpio),
-+				 om5pacv2_leds_gpio);
-+	ath79_register_gpio_keys_polled(-1, OM5PACV2_KEYS_POLL_INTERVAL,
-+					ARRAY_SIZE(om5pacv2_gpio_keys),
-+					om5pacv2_gpio_keys);
-+
-+	ath79_init_mac(mac, art, 0x02);
-+	ath79_register_wmac(art + OM5PACV2_WMAC_CALDATA_OFFSET, mac);
-+
-+	om5p_acv2_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN, 2, 2, 0, 0);
-+	ath79_register_mdio(0, 0x0);
-+	ath79_register_mdio(1, 0x0);
-+
-+	mdiobus_register_board_info(om5pacv2_an_mdio0_info,
-+				    ARRAY_SIZE(om5pacv2_an_mdio0_info));
-+
-+	ath79_init_mac(ath79_eth0_data.mac_addr, art, 0x00);
-+	ath79_init_mac(ath79_eth1_data.mac_addr, art, 0x01);
-+
-+	/* GMAC0 is connected to the PHY4 */
-+	ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
-+	ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
-+	ath79_eth0_data.phy_mask = BIT(4);
-+	ath79_eth0_pll_data.pll_1000 = 0x82000101;
-+	ath79_eth0_pll_data.pll_100 = 0x80000101;
-+	ath79_eth0_pll_data.pll_10 = 0x80001313;
-+	ath79_register_eth(0);
-+
-+	/* GMAC1 is connected to MDIO1 in SGMII mode */
-+	ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_SGMII;
-+	ath79_eth1_data.mii_bus_dev = &ath79_mdio1_device.dev;
-+	ath79_eth1_data.phy_mask = BIT(1);
-+	ath79_eth1_pll_data.pll_1000 = 0x03000101;
-+	ath79_eth1_pll_data.pll_100 = 0x80000101;
-+	ath79_eth1_pll_data.pll_10 = 0x80001313;
-+	ath79_eth1_data.speed = SPEED_1000;
-+	ath79_eth1_data.duplex = DUPLEX_FULL;
-+	ath79_register_eth(1);
-+
-+	ath79_register_pci();
-+}
-+
-+MIPS_MACHINE(ATH79_MACH_OM5P_ACv2, "OM5P-ACv2", "OpenMesh OM5P ACv2", om5p_acv2_setup);
-diff --git a/target/linux/ar71xx/patches-3.18/816-MIPS-ath79-add-om5pacv-support.patch b/target/linux/ar71xx/patches-3.18/816-MIPS-ath79-add-om5pacv-support.patch
-new file mode 100644
-index 0000000..fbbf171
---- /dev/null
-+++ b/target/linux/ar71xx/patches-3.18/816-MIPS-ath79-add-om5pacv-support.patch
-@@ -0,0 +1,39 @@
-+--- a/arch/mips/ath79/Kconfig
-++++ b/arch/mips/ath79/Kconfig
-+@@ -808,6 +808,16 @@ config ATH79_MACH_OM5P_AC
-+ 	select ATH79_DEV_M25P80
-+ 	select ATH79_DEV_WMAC
-+ 
-++config ATH79_MACH_OM5P_ACv2
-++	bool "OpenMesh OM5P-ACv2 board support"
-++	select SOC_QCA955X
-++	select ATH79_DEV_AP9X_PCI if PCI
-++	select ATH79_DEV_ETH
-++	select ATH79_DEV_GPIO_BUTTONS
-++	select ATH79_DEV_LEDS_GPIO
-++	select ATH79_DEV_M25P80
-++	select ATH79_DEV_WMAC
-++
-+ config ATH79_MACH_ONION_OMEGA
-+ 	bool "ONION OMEGA support"
-+ 	select SOC_AR933X
-+--- a/arch/mips/ath79/Makefile
-++++ b/arch/mips/ath79/Makefile
-+@@ -101,6 +101,7 @@ obj-$(CONFIG_ATH79_MACH_NBG460N)	+= mach
-+ obj-$(CONFIG_ATH79_MACH_OM2P)		+= mach-om2p.o
-+ obj-$(CONFIG_ATH79_MACH_OM5P)		+= mach-om5p.o
-+ obj-$(CONFIG_ATH79_MACH_OM5P_AC)	+= mach-om5pac.o
-++obj-$(CONFIG_ATH79_MACH_OM5P_ACv2)	+= mach-om5pacv2.o
-+ obj-$(CONFIG_ATH79_MACH_ONION_OMEGA)	+= mach-onion-omega.o
-+ obj-$(CONFIG_ATH79_MACH_PB42)		+= mach-pb42.o
-+ obj-$(CONFIG_ATH79_MACH_PB44)		+= mach-pb44.o
-+--- a/arch/mips/ath79/machtypes.h
-++++ b/arch/mips/ath79/machtypes.h
-+@@ -96,6 +96,7 @@ enum ath79_mach_type {
-+ 	ATH79_MACH_OM2Pv2,		/* OpenMesh OM2Pv2 */
-+ 	ATH79_MACH_OM2P,		/* OpenMesh OM2P */
-+ 	ATH79_MACH_OM5P_AC,		/* OpenMesh OM5P-AC */
-++	ATH79_MACH_OM5P_ACv2,		/* OpenMesh OM5P-ACv2 */
-+ 	ATH79_MACH_OM5P_AN,		/* OpenMesh OM5P-AN */
-+ 	ATH79_MACH_OM5P,		/* OpenMesh OM5P */
-+ 	ATH79_MACH_ONION_OMEGA,		/* ONION OMEGA */

+ 0 - 0
patches/openwrt/0123-ath10k-firmware-add-ath10k-firmware-qca988x-11s.patch → patches/openwrt/0072-ath10k-firmware-add-ath10k-firmware-qca988x-11s.patch


+ 0 - 38
patches/openwrt/0073-ar71xx-add-user-space-support-for-the-OpenMesh-OM5P-ACv2.patch

@@ -1,38 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Sat, 9 Apr 2016 10:26:18 +0000
-Subject: ar71xx: add user-space support for the OpenMesh OM5P-ACv2
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49150
-
-Forwarded: https://patchwork.ozlabs.org/patch/624200/
-
-diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
-index a4051f2..d4d8b4e 100644
---- a/target/linux/ar71xx/base-files/etc/diag.sh
-+++ b/target/linux/ar71xx/base-files/etc/diag.sh
-@@ -178,7 +178,8 @@ get_status_led() {
- 	om5p-an)
- 		status_led="om5p:blue:power"
- 		;;
--	om5p-ac)
-+	om5p-ac | \
-+	om5p-acv2)
- 		status_led="om5pac:blue:power"
- 		;;
- 	onion-omega)
-diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-index 10b8048..fbf76c8 100755
---- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
-+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-@@ -619,6 +619,9 @@ ar71xx_board_detect() {
- 	*"OM5P AC")
- 		name="om5p-ac"
- 		;;
-+	*"OM5P ACv2")
-+		name="om5p-acv2"
-+		;;
- 	*"Onion Omega")
- 		name="onion-omega"
- 		;;

+ 0 - 0
patches/openwrt/0124-mac80211-fix-packet-loss-on-fq-reordering.patch → patches/openwrt/0073-mac80211-fix-packet-loss-on-fq-reordering.patch


+ 0 - 46
patches/openwrt/0074-ar71xx-enable-sysupgrade-for-the-OpenMesh-OM5P-ACv2.patch

@@ -1,46 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Sat, 9 Apr 2016 10:26:22 +0000
-Subject: ar71xx: enable sysupgrade for the OpenMesh OM5P-ACv2
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49151
-
-Forwarded: https://patchwork.ozlabs.org/patch/624201/
-
-diff --git a/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh b/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
-index 1cfead9..209cdaa 100644
---- a/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
-+++ b/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
-@@ -74,6 +74,7 @@ platform_check_image_openmesh()
- 			;;
- 		OM5PAC)
- 			[ "$board" = "om5p-ac" ] && break
-+			[ "$board" = "om5p-acv2" ] && break
- 			echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
- 			return 1
- 			;;
-diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-index 67c0661..4a4c476 100755
---- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-@@ -308,7 +308,8 @@ platform_check_image() {
- 	om2p-lc | \
- 	om5p | \
- 	om5p-an | \
--	om5p-ac)
-+	om5p-ac | \
-+	om5p-acv2)
- 		platform_check_image_openmesh "$magic_long" "$1" && return 0
- 		return 1
- 		;;
-@@ -542,7 +543,8 @@ platform_do_upgrade() {
- 	om2p-lc | \
- 	om5p | \
- 	om5p-an | \
--	om5p-ac)
-+	om5p-ac | \
-+	om5p-acv2)
- 		platform_do_upgrade_openmesh "$ARGV"
- 		;;
- 	unifi-outdoor-plus | \

+ 0 - 0
patches/openwrt/0125-mac80211-fix-tx-issue-with-CCMP-PN-generated-in-hardware.patch → patches/openwrt/0074-mac80211-fix-tx-issue-with-CCMP-PN-generated-in-hardware.patch


+ 0 - 0
patches/openwrt/0126-ath9k-remove-patch-causing-stability-issues-with-powersave-devices-FS-176.patch → patches/openwrt/0075-ath9k-remove-patch-causing-stability-issues-with-powersave-devices-FS-176.patch


+ 0 - 23
patches/openwrt/0075-om-watchdog-add-OpenMesh-OM5P-ACv2-support.patch

@@ -1,23 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Sat, 9 Apr 2016 10:26:25 +0000
-Subject: om-watchdog: add OpenMesh OM5P-ACv2 support
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49152
-
-Forwarded: https://patchwork.ozlabs.org/patch/624202/
-
-diff --git a/package/kernel/om-watchdog/files/om-watchdog.init b/package/kernel/om-watchdog/files/om-watchdog.init
-index 8cec13b..6b96966 100644
---- a/package/kernel/om-watchdog/files/om-watchdog.init
-+++ b/package/kernel/om-watchdog/files/om-watchdog.init
-@@ -13,7 +13,7 @@ boot() {
- 		local board=$(ar71xx_board_name)
- 
- 		case "$board" in
--			"om2p"|"om2p-hs"|"om2p-hsv2")
-+			"om2p"|"om2p-hs"|"om2p-hsv2"|"om5p-acv2")
- 				service_start /sbin/om-watchdog 12
- 				;;
- 			"om2pv2"|"om2p-lc")

+ 0 - 22
patches/openwrt/0076-uboot-envtools-add-OpenMesh-OM5P-ACv2-support.patch

@@ -1,22 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Sat, 9 Apr 2016 10:26:28 +0000
-Subject: uboot-envtools: add OpenMesh OM5P-ACv2 support
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49153
-
-Forwarded: https://patchwork.ozlabs.org/patch/624203/
-
-diff --git a/package/boot/uboot-envtools/files/ar71xx b/package/boot/uboot-envtools/files/ar71xx
-index 657b25f..9071c11 100644
---- a/package/boot/uboot-envtools/files/ar71xx
-+++ b/package/boot/uboot-envtools/files/ar71xx
-@@ -29,6 +29,7 @@ mr900v2 | \
- nbg6716 | \
- om5p-an | \
- om5p-ac | \
-+om5p-acv2 | \
- om5p | \
- tube2h | \
- wndr3700)

+ 0 - 24
patches/openwrt/0077-ar71xx-extract-ath10k-wifi-board.bin-for-the-OpenMesh-OM5P-ACv2-board.patch

@@ -1,24 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Sat, 9 Apr 2016 10:26:31 +0000
-Subject: ar71xx: extract ath10k wifi board.bin for the OpenMesh OM5P-ACv2 board
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49154
-
-Forwarded: https://patchwork.ozlabs.org/patch/624204/
-
-diff --git a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
-index c1f4b85..d925a85 100644
---- a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
-+++ b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
-@@ -71,7 +71,8 @@ case "$FIRMWARE" in
- 		ath10kcal_extract "caldata" 20480 2116
- 		ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +1)
- 		;;
--	mr1750)
-+	mr1750 | \
-+	om5p-acv2)
- 		ath10kcal_extract "ART" 20480 2116
- 		ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
- 		;;

+ 0 - 29
patches/openwrt/0078-ar71xx-add-OM5P-ACv2-to-the-OM5P-AC-profile.patch

@@ -1,29 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Sat, 9 Apr 2016 10:26:34 +0000
-Subject: ar71xx: add OM5P-ACv2 to the OM5P-AC profile
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Backport of r49155
-
-Forwarded: https://patchwork.ozlabs.org/patch/624205/
-
-diff --git a/target/linux/ar71xx/generic/profiles/openmesh.mk b/target/linux/ar71xx/generic/profiles/openmesh.mk
-index 64aaa24..c0919ed 100644
---- a/target/linux/ar71xx/generic/profiles/openmesh.mk
-+++ b/target/linux/ar71xx/generic/profiles/openmesh.mk
-@@ -28,12 +28,12 @@ endef
- $(eval $(call Profile,OM5P))
- 
- define Profile/OM5PAC
--	NAME:=OpenMesh OM5P-AC
-+	NAME:=OpenMesh OM5P-AC/OM5P-ACv2
- 	PACKAGES:=kmod-ath9k kmod-ath10k om-watchdog ath10k-firmware-qca988x
- endef
- 
- define Profile/OM5PAC/Description
--	Package set optimized for the OpenMesh OM5P-AC.
-+	Package set optimized for the OpenMesh OM5P-AC/OM5P-ACv2.
- endef
- 
- $(eval $(call Profile,OM5PAC))

+ 0 - 24
patches/openwrt/0085-scripts-feeds-fix-version-detection-for-Make-4.2.1.patch

@@ -1,24 +0,0 @@
-From: Matthias Schiffer <mschiffer@universe-factory.net>
-Date: Wed, 15 Jun 2016 19:31:08 +0200
-Subject: scripts: feeds: fix version detection for Make >= 4.2.1
-
-Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-
-Backport of LEDE df18b3756fef6a28d9194368d3156f0cd85fae19
-
-diff --git a/scripts/feeds b/scripts/feeds
-index f8f29cd..908e56c 100755
---- a/scripts/feeds
-+++ b/scripts/feeds
-@@ -22,7 +22,10 @@ my @mkver = split /\s+/, `$mk -v`, 4;
- my $valid_mk = 1;
- $mkver[0] =~ /^GNU/ or $valid_mk = 0;
- $mkver[1] =~ /^Make/ or $valid_mk = 0;
--$mkver[2] >= "3.81" or $valid_mk = 0;
-+
-+my ($mkv1, $mkv2) = split /\./, $mkver[2];
-+($mkv1 >= 4 || ($mkv1 == 3 && $mkv2 >= 81)) or $valid_mk = 0;
-+
- $valid_mk or die "Unsupported version of make found: $mk\n";
- 
- my @feeds;

+ 0 - 33
patches/openwrt/0091-ar71xx-add-kernel-support-for-the-OpenMesh-OM2P-HSv3.patch

@@ -1,33 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Fri, 20 May 2016 18:03:48 +0200
-Subject: ar71xx: add kernel support for the OpenMesh OM2P-HSv3
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Forwarded: https://patchwork.ozlabs.org/patch/637052/
-
-diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-om2p.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-om2p.c
-index 6b0bdc3..3b282a3 100644
---- a/target/linux/ar71xx/files/arch/mips/ath79/mach-om2p.c
-+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-om2p.c
-@@ -223,3 +223,4 @@ static void __init om2p_hs_setup(void)
- 
- MIPS_MACHINE(ATH79_MACH_OM2P_HS, "OM2P-HS", "OpenMesh OM2P HS", om2p_hs_setup);
- MIPS_MACHINE(ATH79_MACH_OM2P_HSv2, "OM2P-HSv2", "OpenMesh OM2P HSv2", om2p_hs_setup);
-+MIPS_MACHINE(ATH79_MACH_OM2P_HSv3, "OM2P-HSv3", "OpenMesh OM2P HSv3", om2p_hs_setup);
-diff --git a/target/linux/ar71xx/patches-3.18/817-MIPS-ath79-add-om2phsv3-support.patch b/target/linux/ar71xx/patches-3.18/817-MIPS-ath79-add-om2phsv3-support.patch
-new file mode 100644
-index 0000000..7305b2e
---- /dev/null
-+++ b/target/linux/ar71xx/patches-3.18/817-MIPS-ath79-add-om2phsv3-support.patch
-@@ -0,0 +1,10 @@
-+--- a/arch/mips/ath79/machtypes.h
-++++ b/arch/mips/ath79/machtypes.h
-+@@ -88,6 +88,7 @@ enum ath79_mach_type {
-+ 	ATH79_MACH_NBG460N,		/* Zyxel NBG460N/550N/550NH */
-+ 	ATH79_MACH_NBG6716,		/* Zyxel NBG6716 */
-+ 	ATH79_MACH_OM2P_HSv2,		/* OpenMesh OM2P-HSv2 */
-++	ATH79_MACH_OM2P_HSv3,		/* OpenMesh OM2P-HSv3 */
-+ 	ATH79_MACH_OM2P_HS,		/* OpenMesh OM2P-HS */
-+ 	ATH79_MACH_OM2P_LC,		/* OpenMesh OM2P-LC */
-+ 	ATH79_MACH_OM2Pv2,		/* OpenMesh OM2Pv2 */

+ 0 - 46
patches/openwrt/0092-ar71xx-add-user-space-support-for-the-OpenMesh-OM2P-HSv3.patch

@@ -1,46 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Fri, 20 May 2016 18:03:49 +0200
-Subject: ar71xx: add user-space support for the OpenMesh OM2P-HSv3
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Forwarded: https://patchwork.ozlabs.org/patch/637053/
-
-diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
-index d4d8b4e..aa02212 100644
---- a/target/linux/ar71xx/base-files/etc/diag.sh
-+++ b/target/linux/ar71xx/base-files/etc/diag.sh
-@@ -171,6 +171,7 @@ get_status_led() {
- 	om2pv2 | \
- 	om2p-hs | \
- 	om2p-hsv2 | \
-+	om2p-hsv3 | \
- 	om2p-lc)
- 		status_led="om2p:blue:power"
- 		;;
-diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
-index dc8b8d6..5767f48 100644
---- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
-+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
-@@ -297,6 +297,7 @@ om2p | \
- om2pv2 | \
- om2p-hs | \
- om2p-hsv2 | \
-+om2p-hsv3 | \
- om2p-lc)
- 	ucidef_set_led_netdev "port1" "port1" "om2p:blue:wan" "eth0"
- 	ucidef_set_led_netdev "port2" "port2" "om2p:blue:lan" "eth1"
-diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-index db908f9..dc51b03 100755
---- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
-+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-@@ -610,6 +610,9 @@ ar71xx_board_detect() {
- 	*"OM2P HSv2")
- 		name="om2p-hsv2"
- 		;;
-+	*"OM2P HSv3")
-+		name="om2p-hsv3"
-+		;;
- 	*"OM2P LC")
- 		name="om2p-lc"
- 		;;

+ 0 - 40
patches/openwrt/0093-ar71xx-enable-sysupgrade-for-the-OpenMesh-OM2P-HSv3.patch

@@ -1,40 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Fri, 20 May 2016 18:03:50 +0200
-Subject: ar71xx: enable sysupgrade for the OpenMesh OM2P-HSv3
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Forwarded: https://patchwork.ozlabs.org/patch/637054/
-
-diff --git a/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh b/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
-index 209cdaa..0e8ea27 100644
---- a/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
-+++ b/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
-@@ -63,6 +63,7 @@ platform_check_image_openmesh()
- 			[ "$board" = "om2p-lc" ] && break
- 			[ "$board" = "om2p-hs" ] && break
- 			[ "$board" = "om2p-hsv2" ] && break
-+			[ "$board" = "om2p-hsv3" ] && break
- 			echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
- 			return 1
- 			;;
-diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-index aeb4577..9b26e73 100755
---- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-@@ -306,6 +306,7 @@ platform_check_image() {
- 	om2pv2 | \
- 	om2p-hs | \
- 	om2p-hsv2 | \
-+	om2p-hsv3 | \
- 	om2p-lc | \
- 	om5p | \
- 	om5p-an | \
-@@ -541,6 +542,7 @@ platform_do_upgrade() {
- 	om2pv2 | \
- 	om2p-hs | \
- 	om2p-hsv2 | \
-+	om2p-hsv3 | \
- 	om2p-lc | \
- 	om5p | \
- 	om5p-an | \

+ 0 - 21
patches/openwrt/0094-package-om-watchdog-add-OpenMesh-OM2P-HSv3-support.patch

@@ -1,21 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Fri, 20 May 2016 18:03:51 +0200
-Subject: package/om-watchdog: add OpenMesh OM2P-HSv3 support
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Forwarded: https://patchwork.ozlabs.org/patch/637055/
-
-diff --git a/package/kernel/om-watchdog/files/om-watchdog.init b/package/kernel/om-watchdog/files/om-watchdog.init
-index 6b96966..bf8a124 100644
---- a/package/kernel/om-watchdog/files/om-watchdog.init
-+++ b/package/kernel/om-watchdog/files/om-watchdog.init
-@@ -13,7 +13,7 @@ boot() {
- 		local board=$(ar71xx_board_name)
- 
- 		case "$board" in
--			"om2p"|"om2p-hs"|"om2p-hsv2"|"om5p-acv2")
-+			"om2p"|"om2p-hs"|"om2p-hsv2"|"om2p-hsv3"|"om5p-acv2")
- 				service_start /sbin/om-watchdog 12
- 				;;
- 			"om2pv2"|"om2p-lc")

+ 0 - 20
patches/openwrt/0095-package-uboot-envtools-add-OpenMesh-OM2P-HSv3-support.patch

@@ -1,20 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Fri, 20 May 2016 18:03:52 +0200
-Subject: package/uboot-envtools: add OpenMesh OM2P-HSv3 support
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Forwarded: https://patchwork.ozlabs.org/patch/637056/
-
-diff --git a/package/boot/uboot-envtools/files/ar71xx b/package/boot/uboot-envtools/files/ar71xx
-index 9071c11..81c6481 100644
---- a/package/boot/uboot-envtools/files/ar71xx
-+++ b/package/boot/uboot-envtools/files/ar71xx
-@@ -41,6 +41,7 @@ om2p | \
- om2pv2 | \
- om2p-hs | \
- om2p-hsv2 | \
-+om2p-hsv3 | \
- om2p-lc)
- 	ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x40000"
- 	;;

+ 0 - 27
patches/openwrt/0096-ar71xx-add-OM2P-HSv3-to-the-OM2P-profile.patch

@@ -1,27 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Fri, 20 May 2016 18:03:53 +0200
-Subject: ar71xx: add OM2P-HSv3 to the OM2P profile
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Forwarded: https://patchwork.ozlabs.org/patch/637057/
-
-diff --git a/target/linux/ar71xx/generic/profiles/openmesh.mk b/target/linux/ar71xx/generic/profiles/openmesh.mk
-index c0919ed..ddd3f8d 100644
---- a/target/linux/ar71xx/generic/profiles/openmesh.mk
-+++ b/target/linux/ar71xx/generic/profiles/openmesh.mk
-@@ -6,12 +6,12 @@
- #
- 
- define Profile/OM2P
--	NAME:=OpenMesh OM2P/OM2Pv2/OM2P-HS/OM2P-HSv2/OM2P-LC
-+	NAME:=OpenMesh OM2P/OM2Pv2/OM2P-HS/OM2P-HSv2/OM2P-HSv3/OM2P-LC
- 	PACKAGES:=kmod-ath9k om-watchdog
- endef
- 
- define Profile/OM2P/Description
--	Package set optimized for the OpenMesh OM2P/OM2Pv2/OM2P-HS/OM2P-HSv2/OM2P-LC.
-+	Package set optimized for the OpenMesh OM2P/OM2Pv2/OM2P-HS/OM2P-HSv2/OM2P-HSv3/OM2P-LC.
- endef
- 
- $(eval $(call Profile,OM2P))

+ 0 - 33
patches/openwrt/0097-ar71xx-add-kernel-support-for-the-OpenMesh-MR1750v2.patch

@@ -1,33 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Fri, 20 May 2016 18:03:54 +0200
-Subject: ar71xx: add kernel support for the OpenMesh MR1750v2
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Forwarded: https://patchwork.ozlabs.org/patch/637058/
-
-diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c
-index e3c04e7..18101ce 100644
---- a/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c
-+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-mr1750.c
-@@ -168,3 +168,4 @@ static void __init mr1750_setup(void)
- }
- 
- MIPS_MACHINE(ATH79_MACH_MR1750, "MR1750", "OpenMesh MR1750", mr1750_setup);
-+MIPS_MACHINE(ATH79_MACH_MR1750V2, "MR1750v2", "OpenMesh MR1750v2", mr1750_setup);
-diff --git a/target/linux/ar71xx/patches-3.18/818-MIPS-ath79-add-mr1750v2-support.patch b/target/linux/ar71xx/patches-3.18/818-MIPS-ath79-add-mr1750v2-support.patch
-new file mode 100644
-index 0000000..de732ec
---- /dev/null
-+++ b/target/linux/ar71xx/patches-3.18/818-MIPS-ath79-add-mr1750v2-support.patch
-@@ -0,0 +1,10 @@
-+--- a/arch/mips/ath79/machtypes.h
-++++ b/arch/mips/ath79/machtypes.h
-+@@ -76,6 +76,7 @@ enum ath79_mach_type {
-+ 	ATH79_MACH_MR12,		/* Cisco Meraki MR12 */
-+ 	ATH79_MACH_MR16,		/* Cisco Meraki MR16 */
-+ 	ATH79_MACH_MR1750,		/* OpenMesh MR1750 */
-++	ATH79_MACH_MR1750V2,		/* OpenMesh MR1750v2 */
-+ 	ATH79_MACH_MR600V2,		/* OpenMesh MR600v2 */
-+ 	ATH79_MACH_MR600,		/* OpenMesh MR600 */
-+ 	ATH79_MACH_MR900,		/* OpenMesh MR900 */

+ 0 - 62
patches/openwrt/0098-ar71xx-add-user-space-support-for-the-OpenMesh-MR1750v2.patch

@@ -1,62 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Fri, 20 May 2016 18:03:55 +0200
-Subject: ar71xx: add user-space support for the OpenMesh MR1750v2
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Forwarded: https://patchwork.ozlabs.org/patch/637059/
-
-diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
-index aa02212..f182d60 100644
---- a/target/linux/ar71xx/base-files/etc/diag.sh
-+++ b/target/linux/ar71xx/base-files/etc/diag.sh
-@@ -143,7 +143,8 @@ get_status_led() {
- 	mr600v2)
- 		status_led="mr600:blue:power"
- 		;;
--	mr1750)
-+	mr1750 | \
-+	mr1750v2)
- 		status_led="mr1750:blue:power"
- 		;;
- 	mr900 | \
-diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
-index 5767f48..032acc9 100644
---- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
-+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
-@@ -243,7 +243,8 @@ mr600)
- 	ucidef_set_led_wlan "wlan58" "WLAN58" "mr600:green:wlan58" "phy0tpt"
- 	;;
- 
--mr1750)
-+mr1750 | \
-+mr1750v2)
- 	ucidef_set_led_netdev "lan" "LAN" "mr1750:blue:wan" "eth0"
- 	ucidef_set_led_wlan "wlan58" "WLAN58" "mr1750:blue:wlan58" "phy0tpt"
- 	ucidef_set_led_wlan "wlan24" "WLAN24" "mr1750:blue:wlan24" "phy1tpt"
-diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
-index 89a2184..b8ae576 100755
---- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
-+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
-@@ -335,6 +335,7 @@ eap7660d |\
- el-mini |\
- loco-m-xw |\
- mr1750 |\
-+mr1750v2 |\
- mr600 |\
- mr600v2 |\
- mr900 |\
-diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-index dc51b03..5119b36 100755
---- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
-+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
-@@ -568,6 +568,9 @@ ar71xx_board_detect() {
- 	*MR1750)
- 		name="mr1750"
- 		;;
-+	*MR1750v2)
-+		name="mr1750v2"
-+		;;
- 	*MR600)
- 		name="mr600"
- 		;;

+ 0 - 40
patches/openwrt/0099-ar71xx-enable-sysupgrade-for-the-OpenMesh-MR1750v2.patch

@@ -1,40 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Fri, 20 May 2016 18:03:56 +0200
-Subject: ar71xx: enable sysupgrade for the OpenMesh MR1750v2
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Forwarded: https://patchwork.ozlabs.org/patch/637060/
-
-diff --git a/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh b/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
-index 0e8ea27..95d39bf 100644
---- a/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
-+++ b/target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
-@@ -81,6 +81,7 @@ platform_check_image_openmesh()
- 			;;
- 		MR1750)
- 			[ "$board" = "mr1750" ] && break
-+			[ "$board" = "mr1750v2" ] && break
- 			echo "Invalid image board target ($img_board_target) for this platform: $board. Use the correct image for this platform"
- 			return 1
- 			;;
-diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-index 9b26e73..f33419f 100755
---- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-@@ -298,6 +298,7 @@ platform_check_image() {
- 		return 0;
- 		;;
- 	mr1750 | \
-+	mr1750v2 | \
- 	mr600 | \
- 	mr600v2 | \
- 	mr900 | \
-@@ -534,6 +535,7 @@ platform_do_upgrade() {
- 		platform_do_upgrade_dir825b "$ARGV"
- 		;;
- 	mr1750 | \
-+	mr1750v2 | \
- 	mr600 | \
- 	mr600v2 | \
- 	mr900 | \

+ 0 - 21
patches/openwrt/0100-package-om-watchdog-add-OpenMesh-MR1750v2-support.patch

@@ -1,21 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Fri, 20 May 2016 18:03:57 +0200
-Subject: package/om-watchdog: add OpenMesh MR1750v2 support
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Forwarded: https://patchwork.ozlabs.org/patch/637062/
-
-diff --git a/package/kernel/om-watchdog/files/om-watchdog.init b/package/kernel/om-watchdog/files/om-watchdog.init
-index bf8a124..8a1b66e 100644
---- a/package/kernel/om-watchdog/files/om-watchdog.init
-+++ b/package/kernel/om-watchdog/files/om-watchdog.init
-@@ -28,7 +28,7 @@ boot() {
- 			"mr600v2")
- 				service_start /sbin/om-watchdog 15
- 				;;
--			"mr900"|"mr900v2"|"mr1750")
-+			"mr900"|"mr900v2"|"mr1750"|"mr1750v2")
- 				service_start /sbin/om-watchdog 16
- 				;;
- 		esac

+ 0 - 20
patches/openwrt/0101-package-uboot-envtools-add-OpenMesh-MR1750v2-support.patch

@@ -1,20 +0,0 @@
-From: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-Date: Fri, 20 May 2016 18:03:58 +0200
-Subject: package/uboot-envtools: add OpenMesh MR1750v2 support
-
-Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
-
-Forwarded: https://patchwork.ozlabs.org/patch/637064/
-
-diff --git a/package/boot/uboot-envtools/files/ar71xx b/package/boot/uboot-envtools/files/ar71xx
-index 81c6481..459e73d 100644
---- a/package/boot/uboot-envtools/files/ar71xx
-+++ b/package/boot/uboot-envtools/files/ar71xx
-@@ -22,6 +22,7 @@ eap300v2 | \
- hornet-ub | \
- hornet-ub-x2 | \
- mr1750 | \
-+mr1750v2 | \
- mr600 | \
- mr600v2 | \
- mr900 | \

Some files were not shown because too many files changed in this diff