summaryrefslogtreecommitdiff
path: root/target/mips/ath79
diff options
context:
space:
mode:
Diffstat (limited to 'target/mips/ath79')
-rw-r--r--target/mips/ath79/patches/4.1.43/0001-openwrt-ath79.patch (renamed from target/mips/ath79/patches/4.1.35/0001-openwrt-ath79.patch)10293
1 files changed, 5137 insertions, 5156 deletions
diff --git a/target/mips/ath79/patches/4.1.35/0001-openwrt-ath79.patch b/target/mips/ath79/patches/4.1.43/0001-openwrt-ath79.patch
index 4178f20cb..f3964a464 100644
--- a/target/mips/ath79/patches/4.1.35/0001-openwrt-ath79.patch
+++ b/target/mips/ath79/patches/4.1.43/0001-openwrt-ath79.patch
@@ -1,6 +1,1779 @@
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/clock.c linux-4.1.13/arch/mips/ath79/clock.c
---- linux-4.1.13.orig/arch/mips/ath79/clock.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/clock.c 2015-12-04 19:57:05.422010155 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/Kconfig linux-4.1.43/arch/mips/Kconfig
+--- linux-4.1.43.orig/arch/mips/Kconfig 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/Kconfig 2017-08-06 20:02:15.000000000 +0200
+@@ -1071,6 +1071,9 @@
+ config MIPS_NILE4
+ bool
+
++config MYLOADER
++ bool
++
+ config SYNC_R4K
+ bool
+
+diff -Nur linux-4.1.43.orig/arch/mips/Makefile linux-4.1.43/arch/mips/Makefile
+--- linux-4.1.43.orig/arch/mips/Makefile 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/Makefile 2017-08-06 20:02:15.000000000 +0200
+@@ -216,6 +216,7 @@
+ #
+ libs-$(CONFIG_FW_ARC) += arch/mips/fw/arc/
+ libs-$(CONFIG_FW_CFE) += arch/mips/fw/cfe/
++libs-$(CONFIG_MYLOADER) += arch/mips/fw/myloader/
+ libs-$(CONFIG_FW_SNIPROM) += arch/mips/fw/sni/
+ libs-y += arch/mips/fw/lib/
+
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/Kconfig linux-4.1.43/arch/mips/ath79/Kconfig
+--- linux-4.1.43.orig/arch/mips/ath79/Kconfig 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/Kconfig 2017-08-06 20:02:15.000000000 +0200
+@@ -2,75 +2,1466 @@
+
+ menu "Atheros AR71XX/AR724X/AR913X machine selection"
+
++config ATH79_MACH_ALFA_AP96
++ bool "ALFA Network AP96 board support"
++ select SOC_AR71XX
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++
++config ATH79_MACH_HORNET_UB
++ bool "ALFA Network Hornet-UB board support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_ALFA_NX
++ bool "ALFA Network N2/N5 board support"
++ select SOC_AR724X
++ 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
++
++config ATH79_MACH_TUBE2H
++ bool "ALFA Network Tube2H board support"
++ select SOC_AR933X
++ 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_ALL0258N
++ bool "Allnet ALL0258N support"
++ select SOC_AR724X
++ 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
++
++config ATH79_MACH_ALL0315N
++ bool "Allnet ALL0315N support"
++ select SOC_AR724X
++ 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
++
++config ATH79_MACH_ANTMINER_S1
++ bool "Bitmain Antminer S1 support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_ANTMINER_S3
++ bool "Bitmain Antminer S3 support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_ARDUINO_YUN
++ bool "Arduino Yun"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++ help
++ Say 'Y' here if you want your kernel to support the
++ Arduino Yun.
++
++config ATH79_MACH_AP113
++ bool "Atheros AP113 board support"
++ select SOC_AR724X
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_PB9X_PCI if PCI
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_USB
++ select ATH79_DEV_ETH
++
+ config ATH79_MACH_AP121
+ bool "Atheros AP121 reference board"
+ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++ help
++ Say 'Y' here if you want your kernel to support the
++ Atheros AP121 reference board.
++
++config ATH79_MACH_AP132
++ bool "Atheros AP132 reference board"
++ select SOC_QCA955X
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++ help
++ Say 'Y' here if you want your kernel to support the
++ Atheros AP132 reference boards.
++
++config ATH79_MACH_AP136
++ bool "Atheros AP136/AP135 reference board"
++ select SOC_QCA955X
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_NFC
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++ help
++ Say 'Y' here if you want your kernel to support the
++ Atheros AP136 or AP135 reference boards.
++
++config ATH79_MACH_AP143
++ bool "Atheros AP143 reference board"
++ select SOC_QCA953X
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_SPI
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++ select ATH79_DEV_ETH
++ select ATH79_DEV_M25P80
++ help
++ Say 'Y' here if you want your kernel to support the
++ Atheros AP143 reference board.
++
++config ATH79_MACH_AP147
++ bool "Atheros AP147 reference board"
++ select SOC_QCA953X
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++ select ATH79_DEV_AP9X_PCI if PCI
++ help
++ Say 'Y' here if you want your kernel to support the
++ QCA AP147 reference boards.
++
++config ATH79_MACH_AP152
++ bool "Atheros AP152 reference board"
++ select SOC_QCA956X
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++ select ATH79_DEV_AP9X_PCI if PCI
++ help
++ Say 'Y' here if you want your kernel to support the
++ QCA AP152 reference boards.
++
++
++config ATH79_MACH_AP81
++ bool "Atheros AP81 reference board"
++ select SOC_AR913X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++ help
++ Say 'Y' here if you want your kernel to support the
++ Atheros AP81 reference board.
++
++config ATH79_MACH_AP83
++ bool "Atheros AP83 board support"
++ select SOC_AR913X
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_AP96
++ bool "Atheros AP96 board support"
++ select SOC_AR71XX
++ 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_USB
++
++config ATH79_MACH_DB120
++ bool "Atheros DB120 reference board"
++ select SOC_AR934X
++ 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_NFC
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++ help
++ Say 'Y' here if you want your kernel to support the
++ Atheros DB120 reference board.
++
++config ATH79_MACH_PB42
++ bool "Atheros PB42 board support"
++ select SOC_AR71XX
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_M25P80
++
++config ATH79_MACH_PB44
++ bool "Atheros PB44 reference board"
++ select SOC_AR71XX
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_SPI
++ select ATH79_DEV_USB
++ help
++ Say 'Y' here if you want your kernel to support the
++ Atheros PB44 reference board.
++
++config ATH79_MACH_PB92
++ bool "Atheros PB92 board support"
++ select SOC_AR724X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_PB9X_PCI if PCI
++ select ATH79_DEV_USB
++
++config ATH79_MACH_AW_NR580
++ bool "AzureWave AW-NR580 board support"
++ select SOC_AR71XX
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++
++config ATH79_MACH_F9K1115V2
++ bool "Belkin AC1750DB board support"
++ select SOC_QCA955X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_EPG5000
++ bool "EnGenius EPG5000 board support"
++ select SOC_QCA955X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++ select ATH79_NVRAM
++
++config ATH79_MACH_ESR1750
++ bool "EnGenius ESR1750 board support"
++ select SOC_QCA955X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_WHR_HP_G300N
++ bool "Buffalo WHR-HP-G300N board support"
++ select SOC_AR724X
++ 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
++
++config ATH79_MACH_WLAE_AG300N
++ bool "Buffalo WLAE-AG300N board support"
++ select SOC_AR71XX
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++
++config ATH79_MACH_WLR8100
++ bool "Sitecom WLR-8100 board support"
++ select SOC_QCA955X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_WZR_HP_AG300H
++ bool "Buffalo WZR-HP-AG300H board support"
++ select SOC_AR71XX
++ 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_USB
++
++config ATH79_MACH_WZR_HP_G300NH
++ bool "Buffalo WZR-HP-G300NH board support"
++ select SOC_AR913X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++ select RTL8366_SMI
++
++config ATH79_MACH_WZR_HP_G300NH2
++ bool "Buffalo WZR-HP-G300NH2 board support"
++ select SOC_AR724X
++ 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_USB
++
++config ATH79_MACH_WZR_HP_G450H
++ bool "Buffalo WZR-HP-G450H board support"
++ select SOC_AR724X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_AP9X_PCI if PCI
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++
++config ATH79_MACH_WZR_450HP2
++ bool "Buffalo WZR-450HP2 board support"
++ select SOC_QCA955X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_WP543
++ bool "Compex WP543/WPJ543 board support"
++ select SOC_AR71XX
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select MYLOADER
++
++config ATH79_MACH_WPE72
++ bool "Compex WPE72/WPE72NX board support"
++ select SOC_AR724X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select MYLOADER
++
++config ATH79_MACH_WPJ344
++ bool "Compex WPJ344 board support"
++ select SOC_AS934X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_WPJ531
++ bool "Compex WPJ531 board support"
++ select SOC_QCA953X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_WPJ558
++ bool "Compex WPJ558 board support"
++ select SOC_QCA955X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_DGL_5500_A1
++ bool "D-Link DGL-5500 A1 support"
++ select SOC_QCA955X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_WMAC
++ select ATH79_DEV_USB
++
++config ATH79_MACH_DHP_1565_A1
++ bool "D-Link DHP-1565 rev. A1 board support"
++ select SOC_AR934X
++ 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_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_DIR_505_A1
++ bool "D-Link DIR-505-A1 support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_WMAC
++ select ATH79_NVRAM
++
++config ATH79_MACH_DIR_600_A1
++ bool "D-Link DIR-600 A1/DIR-615 E1/DIR-615 E4 support"
++ select SOC_AR724X
++ 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_NVRAM
++
++config ATH79_MACH_DIR_615_C1
++ bool "D-Link DIR-615 rev. C1 support"
++ select SOC_AR913X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_WMAC
++ select ATH79_NVRAM
++
++config ATH79_MACH_DIR_615_I1
++ bool "D-Link DIR-615 rev. I1 support"
++ select SOC_AR934X
++ 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
++ select ATH79_NVRAM
++
++config ATH79_MACH_DIR_825_B1
++ bool "D-Link DIR-825 rev. B1 board support"
++ select SOC_AR71XX
++ 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_USB
++
++config ATH79_MACH_DIR_825_C1
++ bool "D-Link DIR-825 rev. C1/DIR-835 rev. A1 board support"
++ select SOC_AR934X
++ 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_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_DLAN_HOTSPOT
++ bool "devolo dLAN Hotspot support"
++ select SOC_AR933X
++ 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_DLAN_PRO_500_WP
++ bool "devolo dLAN pro 500 Wireless+ support"
++ select SOC_AR934X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_SPI
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_WMAC
++ select ATH79_DEV_USB
++
++config ATH79_MACH_DLAN_PRO_1200_AC
++ bool "devolo dLAN pro 1200+ WiFi ac support"
++ select SOC_AR934X
++ select ATH79_DEV_AP9X_PCI if PCI
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_SPI
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_WMAC
++ select ATH79_DEV_NFC
++ select ATH79_DEV_USB
++
++config ATH79_MACH_DRAGINO2
++ bool "DRAGINO V2 support"
++ select SOC_AR933X
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_WMAC
++ select ATH79_DEV_ETH
++ select ATH79_DEV_USB
++
++config ATH79_MACH_ESR900
++ bool "EnGenius ESR900 board support"
++ select SOC_QCA955X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_EW_DORIN
++ bool "embedded wireless Dorin Platform support"
++ select SOC_AR933X
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_WMAC
++ select ATH79_DEV_ETH
++ help
++ Say 'Y' here if you want your kernel to support the
++ Dorin Platform from www.80211.de .
++
++config ATH79_MACH_EL_M150
++ bool "EasyLink EL-M150 support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_EL_MINI
++ bool "EasyLink EL-MINI support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_GL_AR150
++ bool "GL AR150 support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_GL_AR300
++ bool "GL_AR300 support"
++ select SOC_AR934X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_GL_DOMINO
++ bool "DOMINO support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_GL_INET
++ bool "GL-INET support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_EAP300V2
++ bool "EnGenius EAP300 v2 support"
++ select SOC_AR934X
++ 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_GS_MINIBOX_V1
++ bool "Gainstrong MiniBox V1.0 support"
++ select SOC_AR933X
++ select ARH79_DEV_ETH
++ select ARH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_GS_OOLITE
++ bool "GS Oolite V1 support"
++ select SOC_AR933X
++ select ARH79_DEV_ETH
++ select ARH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_HIWIFI_HC6361
++ bool "HiWiFi HC6361 board support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_JA76PF
++ bool "jjPlus JA76PF board support"
++ select SOC_AR71XX
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++
++config ATH79_MACH_JWAP003
++ bool "jjPlus JWAP003 board support"
++ select SOC_AR71XX
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++
++config ATH79_MACH_WRT160NL
++ bool "Linksys WRT160NL board support"
++ select SOC_AR913X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++ select ATH79_NVRAM
++
++config ATH79_MACH_WRT400N
++ bool "Linksys WRT400N board support"
++ select SOC_AR71XX
++ 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
++
++config ATH79_MACH_R6100
++ bool "NETGEAR R6100 board support"
++ select SOC_AR934X
++ select ATH79_DEV_AP9X_PCI if PCI
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_NFC
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_MC_MAC1200R
++ bool "MERCURY MAC1200R board support"
++ select SOC_AR934X
++ 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_RB4XX
++ bool "MikroTik RouterBOARD 4xx series support"
++ select SOC_AR71XX
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_USB
++
++config ATH79_MACH_RB750
++ bool "MikroTik RouterBOARD 750 support"
++ select SOC_AR724X
++ select ATH79_DEV_AP9X_PCI if PCI
++ select ATH79_DEV_ETH
++ select ATH79_DEV_USB
++ select ATH79_ROUTERBOOT
++
++config ATH79_MACH_RB91X
++ bool "MikroTik RouterBOARD 91X support"
++ select SOC_AR934X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_SPI
++ select ATH79_DEV_WMAC
++ select ATH79_DEV_USB
++ select ATH79_ROUTERBOOT
++
++config ATH79_MACH_RB922
++ bool "MikroTik RouterBOARD 922 support"
++ select SOC_QCA955X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_NFC
++ select ATH79_DEV_USB
++ select ATH79_ROUTERBOOT
++ select RLE_DECOMPRESS
++
++config ATH79_MACH_RB95X
++ bool "MikroTik RouterBOARD 95X support"
++ select SOC_AR934X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_NFC
++ select ATH79_DEV_WMAC
++ select ATH79_DEV_USB
++ select ATH79_ROUTERBOOT
++
++config ATH79_MACH_RB2011
++ bool "MikroTik RouterBOARD 2011 support"
++ select SOC_AR934X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_NFC
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++ select ATH79_ROUTERBOOT
++
++config ATH79_MACH_RBSXTLITE
++ bool "MikroTik RouterBOARD SXT Lite"
++ select SOC_AR934X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_NFC
++ select ATH79_DEV_WMAC
++ select ATH79_ROUTERBOOT
++
++config ATH79_MACH_SMART_300
++ bool "NC-LINK SMART-300 board support"
++ select SOC_AR934X
++ 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_WNDAP360
++ bool "NETGEAR WNDAP360 board support"
++ select SOC_AR71XX
++ 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
++
++config ATH79_MACH_WNDR3700
++ bool "NETGEAR WNDR3700 board support"
++ select SOC_AR71XX
++ 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_USB
++
++config ATH79_MACH_WNDR4300
++ bool "NETGEAR WNDR3700v4/WNDR4300 board support"
++ select SOC_AR934X
++ select ATH79_DEV_AP9X_PCI if PCI
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_NFC
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_WNR2000
++ bool "NETGEAR WNR2000 board support"
++ select SOC_AR913X
++ 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_WNR2000_V3
++ bool "NETGEAR WNR2000 V3/WNR612 v2/WNR1000 v2 board support"
++ select SOC_AR724X
++ 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
++
++ config ATH79_MACH_WNR2200
++ bool "NETGEAR WNR2200 board support"
++ select SOC_AR724X
++ 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_USB
++
++config ATH79_MACH_WNR2000_V4
++ bool "NETGEAR WNR2000 V4"
++ select SOC_AR934X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_OM2P
++ bool "OpenMesh OM2P board support"
++ select SOC_AR724X
++ select SOC_AR933X
++ 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_OM5P
++ bool "OpenMesh OM5P board support"
++ select SOC_AR934X
++ 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
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_MR12
++ bool "Meraki MR12 board support"
++ select SOC_AR724X
++ 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_MR16
++ bool "Meraki MR16 board support"
++ select SOC_AR71XX
++ 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_MR600
++ bool "OpenMesh MR600 board support"
++ select SOC_AR934X
++ 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_MZK_W04NU
++ bool "Planex MZK-W04NU board support"
++ select SOC_AR913X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_MZK_W300NH
++ bool "Planex MZK-W300NH board support"
++ select SOC_AR913X
++ 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_RW2458N
++ bool "Redwave RW2458N board support"
++ select SOC_AR724X
++ 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_USB
++
++config ATH79_MACH_CAP4200AG
++ bool "Senao CAP4200AG support"
++ select SOC_AR934X
++ 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_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
++ 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_EAP7660D
++ bool "Senao EAP7660D support"
++ select SOC_AR71XX
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++
++config ATH79_MACH_BSB
++ bool "Smart Electronics Black Swift board"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_ARCHER_C7
++ bool "TP-LINK Archer C5/C7/TL-WDR4900 v2 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_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_CPE510
++ bool "TP-LINK CPE510 support"
++ select SOC_AR934X
++ 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_TL_MR11U
++ bool "TP-LINK TL-MR11U/TL-MR3040 support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
+ select ATH79_DEV_GPIO_BUTTONS
+ select ATH79_DEV_LEDS_GPIO
+- select ATH79_DEV_SPI
++ select ATH79_DEV_M25P80
+ select ATH79_DEV_USB
+ select ATH79_DEV_WMAC
+- help
+- Say 'Y' here if you want your kernel to support the
+- Atheros AP121 reference board.
+
+-config ATH79_MACH_AP136
+- bool "Atheros AP136 reference board"
+- select SOC_QCA955X
++config ATH79_MACH_TL_MR13U
++ bool "TP-LINK TL-MR13U support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
+ select ATH79_DEV_GPIO_BUTTONS
+ select ATH79_DEV_LEDS_GPIO
+- select ATH79_DEV_SPI
++ select ATH79_DEV_M25P80
+ select ATH79_DEV_USB
+ select ATH79_DEV_WMAC
+- help
+- Say 'Y' here if you want your kernel to support the
+- Atheros AP136 reference board.
+
+-config ATH79_MACH_AP81
+- bool "Atheros AP81 reference board"
++config ATH79_MACH_TL_MR3020
++ bool "TP-LINK TL-MR3020 support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_TL_MR3X20
++ bool "TP-LINK TL-MR3220/3420 support"
++ select SOC_AR724X
++ 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_USB
++
++config ATH79_MACH_TL_WAX50RE
++ bool "TP-LINK TL-WA750/850RE support"
++ select SOC_AR934X
++ 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_TL_WA701ND_V2
++ bool "TP-LINK TL-WA701ND v2 support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_TL_WA7210N_V2
++ bool "TP-LINK TL-WA7210N v2 support"
++ select SOC_AR724X
++ select ATH79_DEV_AP9X_PCI if PCI
++ select ATH79_DEV_ETH
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_TL_WA830RE_V2
++ bool "TP-LINK TL-WA830RE v2 support"
++ select SOC_AR934X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_TL_WA901ND
++ bool "TP-LINK TL-WA901ND/TL-WA7510N support"
++ select SOC_AR724X
++ 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
++
++config ATH79_MACH_TL_WA901ND_V2
++ bool "TP-LINK TL-WA901ND v2 support"
+ select SOC_AR913X
++ select ATH79_DEV_ETH
+ select ATH79_DEV_GPIO_BUTTONS
+ select ATH79_DEV_LEDS_GPIO
+- select ATH79_DEV_SPI
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_TL_WDR3320_V2
++ bool "TP-LINK TL-WDR3320 v2 board support"
++ select SOC_AR934X
++ 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_USB
+ select ATH79_DEV_WMAC
+- help
+- Say 'Y' here if you want your kernel to support the
+- Atheros AP81 reference board.
+
+-config ATH79_MACH_DB120
+- bool "Atheros DB120 reference board"
++config ATH79_MACH_TL_WDR3500
++ bool "TP-LINK TL-WDR3500 board support"
+ select SOC_AR934X
++ select ATH79_DEV_AP9X_PCI if PCI
++ select ATH79_DEV_ETH
+ select ATH79_DEV_GPIO_BUTTONS
+ select ATH79_DEV_LEDS_GPIO
+- select ATH79_DEV_SPI
++ select ATH79_DEV_M25P80
+ select ATH79_DEV_USB
+ select ATH79_DEV_WMAC
+- help
+- Say 'Y' here if you want your kernel to support the
+- Atheros DB120 reference board.
+
+-config ATH79_MACH_PB44
+- bool "Atheros PB44 reference board"
++config ATH79_MACH_TL_WDR4300
++ bool "TP-LINK TL-WDR3600/4300/4310 board support"
++ select SOC_AR934X
++ 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_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_TL_WDR6500_V2
++ bool "TP-LINK TL-WDR6500 v2 board support"
++ select SOC_QCA956X
++ 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_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_TL_WR703N
++ bool "TP-LINK TL-WR703N/TL-WR710N/TL-MR10U support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_TL_WR720N_V3
++ bool "TP-LINK TL-WR720N v3/v4 support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_TL_WR741ND
++ bool "TP-LINK TL-WR741ND support"
++ select SOC_AR724X
++ 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
++
++config ATH79_MACH_TL_WR741ND_V4
++ bool "TP-LINK TL-WR741ND v4/TL-MR3220 v2 support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_TL_WR841N_V1
++ bool "TP-LINK TL-WR841N v1 support"
+ select SOC_AR71XX
++ select ATH79_DEV_DSA
++ select ATH79_DEV_ETH
+ select ATH79_DEV_GPIO_BUTTONS
+ select ATH79_DEV_LEDS_GPIO
+- select ATH79_DEV_SPI
++ select ATH79_DEV_M25P80
++
++config ATH79_MACH_TL_WR841N_V8
++ bool "TP-LINK TL-WR841N/ND v8/TL-MR3420 v2 support"
++ select SOC_AR934X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_TL_WR841N_V9
++ bool "TP-LINK TL-WR841N/ND v9 support"
++ select SOC_QCA953X
++ 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_TL_WR941ND
++ bool "TP-LINK TL-WR941ND support"
++ select SOC_AR913X
++ select ATH79_DEV_DSA
++ 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_TL_WR941ND_V6
++ bool "TP-LINK TL-WR941ND v6 support"
++ select SOC_QCA956X
++ 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_TL_WR1041N_V2
++ bool "TP-LINK TL-WR1041N v2 support"
++ select SOC_AR934X
++ 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_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_TL_WR1043ND
++ bool "TP-LINK TL-WR1043ND support"
++ select SOC_AR913X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_TL_WR1043ND_V2
++ bool "TP-LINK TL-WR1043ND v2 support"
++ select SOC_QCA955X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_TL_WR2543N
++ bool "TP-LINK TL-WR2543N/ND support"
++ select SOC_AR724X
++ 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_USB
++
++config ATH79_MACH_TEW_632BRP
++ bool "TRENDnet TEW-632BRP support"
++ select SOC_AR913X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_WMAC
++ select ATH79_NVRAM
++
++config ATH79_MACH_TEW_673GRU
++ bool "TRENDnet TEW-673GRU support"
++ select SOC_AR71XX
++ 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_USB
++ select ATH79_NVRAM
++
++config ATH79_MACH_TEW_712BR
++ bool "TRENDnet TEW-712BR support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_WMAC
++ select ATH79_NVRAM
++
++config ATH79_MACH_TEW_732BR
++ bool "TRENDnet TEW-732BR support"
++ select SOC_AR934X
++ 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_UBNT
++ bool "Ubiquiti AR71xx based boards support"
++ select SOC_AR71XX
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
+ select ATH79_DEV_USB
+- help
+- Say 'Y' here if you want your kernel to support the
+- Atheros PB44 reference board.
+
+ config ATH79_MACH_UBNT_XM
+- bool "Ubiquiti Networks XM (rev 1.0) board"
++ bool "Ubiquiti Networks XM/UniFi boards"
+ select SOC_AR724X
++ select SOC_AR934X
++ select ATH79_DEV_AP9X_PCI if PCI
++ select ATH79_DEV_ETH
+ select ATH79_DEV_GPIO_BUTTONS
+ select ATH79_DEV_LEDS_GPIO
+- select ATH79_DEV_SPI
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
+ help
+ Say 'Y' here if you want your kernel to support the
+ Ubiquiti Networks XM (rev 1.0) board.
+
++config ATH79_MACH_WEIO
++ bool "WeIO board"
++ select SOC_AR933X
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_MYNET_N600
++ bool "WD My Net N600 board support"
++ select SOC_AR934X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_WMAC
++ select ATH79_NVRAM
++
++config ATH79_MACH_MYNET_N750
++ bool "WD My Net N750 board support"
++ select SOC_AR934X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_WMAC
++ select ATH79_NVRAM
++
++config ATH79_MACH_MYNET_REXT
++ bool "WD My Net Wi-Fi Range Extender board support"
++ select SOC_AR934X
++ 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
++ select ATH79_NVRAM
++
++config ATH79_MACH_ZCN_1523H
++ bool "Zcomax ZCN-1523H support"
++ select SOC_AR724X
++ 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
++
++config ATH79_MACH_NBG460N
++ bool "Zyxel NBG460N/550N/550NH board support"
++ select SOC_AR913X
++ 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_NBG6716
++ bool "Zyxel NBG6616/NBG6716 board support"
++ select SOC_QCA955X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_NFC
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_CARAMBOLA2
++ bool "8devices Carambola2 board"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_CF_E316N_V2
++ bool "COMFAST CF-E316N v2 board"
++ select SOC_AR934X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_BHU_BXU2000N2_A
++ bool "BHU BXU2000n-2 rev. A support"
++ select SOC_AR934X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
++config ATH79_MACH_QIHOO_C301
++ bool "Qihoo 360 C301 board support"
++ select SOC_AR934X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_WMAC
++ select ATH79_DEV_USB
++ select ATH79_NVRAM
++
+ endmenu
+
+ config SOC_AR71XX
+@@ -93,12 +1484,39 @@
+ select PCI_AR724X if PCI
+ def_bool n
+
++config SOC_QCA953X
++ select USB_ARCH_HAS_EHCI
++ def_bool n
++
+ config SOC_QCA955X
+ select HW_HAS_PCI
+ select PCI_AR724X if PCI
+ def_bool n
+
+-config PCI_AR724X
++config SOC_QCA956X
++ select USB_ARCH_HAS_EHCI
++ select HW_HAS_PCI
++ select PCI_AR724X if PCI
++ def_bool n
++
++config ATH79_DEV_M25P80
++ select ATH79_DEV_SPI
++ def_bool n
++
++config ATH79_DEV_AP9X_PCI
++ select ATH79_PCI_ATH9K_FIXUP
++ def_bool n
++
++config ATH79_DEV_DSA
++ def_bool n
++
++config ATH79_DEV_ETH
++ def_bool n
++
++config ATH79_DEV_DSA
++ def_bool n
++
++config ATH79_DEV_ETH
+ def_bool n
+
+ config ATH79_DEV_GPIO_BUTTONS
+@@ -107,6 +1525,10 @@
+ config ATH79_DEV_LEDS_GPIO
+ def_bool n
+
++config ATH79_DEV_NFC
++ depends on (SOC_AR934X || SOC_QCA955X)
++ def_bool n
++
+ config ATH79_DEV_SPI
+ def_bool n
+
+@@ -114,7 +1536,21 @@
+ def_bool n
+
+ config ATH79_DEV_WMAC
+- depends on (SOC_AR913X || SOC_AR933X || SOC_AR934X || SOC_QCA955X)
++ depends on (SOC_AR913X || SOC_AR933X || SOC_AR934X || SOC_QCA953X || SOC_QCA955X || SOC_QCA956X)
++ def_bool n
++
++config ATH79_NVRAM
++ def_bool n
++
++config ATH79_PCI_ATH9K_FIXUP
++ def_bool n
++
++config ATH79_ROUTERBOOT
++ select RLE_DECOMPRESS
++ select LZO_DECOMPRESS
++ def_bool n
++
++config PCI_AR724X
+ def_bool n
+
+ endif
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/Makefile linux-4.1.43/arch/mips/ath79/Makefile
+--- linux-4.1.43.orig/arch/mips/ath79/Makefile 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/Makefile 2017-08-06 20:02:15.000000000 +0200
+@@ -17,18 +17,169 @@
+ # Devices
+ #
+ obj-y += dev-common.o
++obj-$(CONFIG_ATH79_DEV_AP9X_PCI) += dev-ap9x-pci.o
++obj-$(CONFIG_ATH79_DEV_DSA) += dev-dsa.o
++obj-$(CONFIG_ATH79_DEV_ETH) += dev-eth.o
+ obj-$(CONFIG_ATH79_DEV_GPIO_BUTTONS) += dev-gpio-buttons.o
+ obj-$(CONFIG_ATH79_DEV_LEDS_GPIO) += dev-leds-gpio.o
++obj-$(CONFIG_ATH79_DEV_M25P80) += dev-m25p80.o
++obj-$(CONFIG_ATH79_DEV_NFC) += dev-nfc.o
+ obj-$(CONFIG_ATH79_DEV_SPI) += dev-spi.o
+ obj-$(CONFIG_ATH79_DEV_USB) += dev-usb.o
+ obj-$(CONFIG_ATH79_DEV_WMAC) += dev-wmac.o
+
+ #
++# Miscellaneous objects
++#
++obj-$(CONFIG_ATH79_NVRAM) += nvram.o
++obj-$(CONFIG_ATH79_PCI_ATH9K_FIXUP) += pci-ath9k-fixup.o
++obj-$(CONFIG_ATH79_ROUTERBOOT) += routerboot.o
++
++#
+ # Machines
+ #
++obj-$(CONFIG_ATH79_MACH_ALFA_AP96) += mach-alfa-ap96.o
++obj-$(CONFIG_ATH79_MACH_ALFA_NX) += mach-alfa-nx.o
++obj-$(CONFIG_ATH79_MACH_ALL0258N) += mach-all0258n.o
++obj-$(CONFIG_ATH79_MACH_ALL0315N) += mach-all0315n.o
++obj-$(CONFIG_ATH79_MACH_ANTMINER_S1)+= mach-antminer-s1.o
++obj-$(CONFIG_ATH79_MACH_ANTMINER_S3)+= mach-antminer-s3.o
++obj-$(CONFIG_ATH79_MACH_ARDUINO_YUN) += mach-arduino-yun.o
++obj-$(CONFIG_ATH79_MACH_AP113) += mach-ap113.o
+ obj-$(CONFIG_ATH79_MACH_AP121) += mach-ap121.o
++obj-$(CONFIG_ATH79_MACH_AP132) += mach-ap132.o
+ obj-$(CONFIG_ATH79_MACH_AP136) += mach-ap136.o
++obj-$(CONFIG_ATH79_MACH_AP143) += mach-ap143.o
++obj-$(CONFIG_ATH79_MACH_AP147) += mach-ap147.o
++obj-$(CONFIG_ATH79_MACH_AP152) += mach-ap152.o
+ obj-$(CONFIG_ATH79_MACH_AP81) += mach-ap81.o
++obj-$(CONFIG_ATH79_MACH_AP83) += mach-ap83.o
++obj-$(CONFIG_ATH79_MACH_AP96) += mach-ap96.o
++obj-$(CONFIG_ATH79_MACH_ARCHER_C7) += mach-archer-c7.o
++obj-$(CONFIG_ATH79_MACH_AW_NR580) += mach-aw-nr580.o
++obj-$(CONFIG_ATH79_MACH_BHU_BXU2000N2_A)+= mach-bhu-bxu2000n2-a.o
++obj-$(CONFIG_ATH79_MACH_BSB) += mach-bsb.o
++obj-$(CONFIG_ATH79_MACH_CAP4200AG) += mach-cap4200ag.o
++obj-$(CONFIG_ATH79_MACH_CF_E316N_V2) += mach-cf-e316n-v2.o
++obj-$(CONFIG_ATH79_MACH_CPE510) += mach-cpe510.o
+ obj-$(CONFIG_ATH79_MACH_DB120) += mach-db120.o
++obj-$(CONFIG_ATH79_MACH_DLAN_HOTSPOT) += mach-dlan-hotspot.o
++obj-$(CONFIG_ATH79_MACH_DLAN_PRO_500_WP) += mach-dlan-pro-500-wp.o
++obj-$(CONFIG_ATH79_MACH_DLAN_PRO_1200_AC) += mach-dlan-pro-1200-ac.o
++obj-$(CONFIG_ATH79_MACH_DGL_5500_A1) += mach-dgl-5500-a1.o
++obj-$(CONFIG_ATH79_MACH_DHP_1565_A1) += mach-dhp-1565-a1.o
++obj-$(CONFIG_ATH79_MACH_DIR_505_A1) += mach-dir-505-a1.o
++obj-$(CONFIG_ATH79_MACH_DIR_600_A1) += mach-dir-600-a1.o
++obj-$(CONFIG_ATH79_MACH_DIR_615_C1) += mach-dir-615-c1.o
++obj-$(CONFIG_ATH79_MACH_DIR_615_I1) += mach-dir-615-i1.o
++obj-$(CONFIG_ATH79_MACH_DIR_825_B1) += mach-dir-825-b1.o
++obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += mach-dir-825-c1.o
++obj-$(CONFIG_ATH79_MACH_DRAGINO2) += mach-dragino2.o
++obj-$(CONFIG_ATH79_MACH_ESR900) += mach-esr900.o
++obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mach-ew-dorin.o
++obj-$(CONFIG_ATH79_MACH_EAP300V2) += mach-eap300v2.o
++obj-$(CONFIG_ATH79_MACH_EAP7660D) += mach-eap7660d.o
++obj-$(CONFIG_ATH79_MACH_EL_M150) += mach-el-m150.o
++obj-$(CONFIG_ATH79_MACH_EL_MINI) += mach-el-mini.o
++obj-$(CONFIG_ATH79_MACH_EPG5000) += mach-epg5000.o
++obj-$(CONFIG_ATH79_MACH_ESR1750) += mach-esr1750.o
++obj-$(CONFIG_ATH79_MACH_F9K1115V2) += mach-f9k1115v2.o
++obj-$(CONFIG_ATH79_MACH_GL_AR150) += mach-gl-ar150.o
++obj-$(CONFIG_ATH79_MACH_GL_AR300) += mach-gl-ar300.o
++obj-$(CONFIG_ATH79_MACH_GL_DOMINO) += mach-gl-domino.o
++obj-$(CONFIG_ATH79_MACH_GL_INET) += mach-gl-inet.o
++obj-$(CONFIG_ATH79_MACH_GS_MINIBOX_V1) += mach-gs-minibox-v1.o
++obj-$(CONFIG_ATH79_MACH_GS_OOLITE) += mach-gs-oolite.o
++obj-$(CONFIG_ATH79_MACH_HIWIFI_HC6361) += mach-hiwifi-hc6361.o
++obj-$(CONFIG_ATH79_MACH_JA76PF) += mach-ja76pf.o
++obj-$(CONFIG_ATH79_MACH_JWAP003) += mach-jwap003.o
++obj-$(CONFIG_ATH79_MACH_HORNET_UB) += mach-hornet-ub.o
++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
++obj-$(CONFIG_ATH79_MACH_MYNET_N750) += mach-mynet-n750.o
++obj-$(CONFIG_ATH79_MACH_MYNET_REXT) += mach-mynet-rext.o
++obj-$(CONFIG_ATH79_MACH_MZK_W04NU) += mach-mzk-w04nu.o
++obj-$(CONFIG_ATH79_MACH_MZK_W300NH) += mach-mzk-w300nh.o
++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_ONION_OMEGA) += mach-onion-omega.o
++obj-$(CONFIG_ATH79_MACH_PB42) += mach-pb42.o
+ obj-$(CONFIG_ATH79_MACH_PB44) += mach-pb44.o
++obj-$(CONFIG_ATH79_MACH_PB92) += mach-pb92.o
++obj-$(CONFIG_ATH79_MACH_QIHOO_C301) += mach-qihoo-c301.o
++obj-$(CONFIG_ATH79_MACH_R6100) += mach-r6100.o
++obj-$(CONFIG_ATH79_MACH_RB4XX) += mach-rb4xx.o
++obj-$(CONFIG_ATH79_MACH_RB750) += mach-rb750.o
++obj-$(CONFIG_ATH79_MACH_RB91X) += mach-rb91x.o
++obj-$(CONFIG_ATH79_MACH_RB922) += mach-rb922.o
++obj-$(CONFIG_ATH79_MACH_RB95X) += mach-rb95x.o
++obj-$(CONFIG_ATH79_MACH_RB2011) += mach-rb2011.o
++obj-$(CONFIG_ATH79_MACH_RBSXTLITE) += mach-rbsxtlite.o
++obj-$(CONFIG_ATH79_MACH_RW2458N) += mach-rw2458n.o
++obj-$(CONFIG_ATH79_MACH_SMART_300) += mach-smart-300.o
++obj-$(CONFIG_ATH79_MACH_TEW_632BRP) += mach-tew-632brp.o
++obj-$(CONFIG_ATH79_MACH_TEW_673GRU) += mach-tew-673gru.o
++obj-$(CONFIG_ATH79_MACH_TEW_712BR) += mach-tew-712br.o
++obj-$(CONFIG_ATH79_MACH_TEW_732BR) += mach-tew-732br.o
++obj-$(CONFIG_ATH79_MACH_TL_MR11U) += mach-tl-mr11u.o
++obj-$(CONFIG_ATH79_MACH_TL_MR13U) += mach-tl-mr13u.o
++obj-$(CONFIG_ATH79_MACH_TL_MR3020) += mach-tl-mr3020.o
++obj-$(CONFIG_ATH79_MACH_TL_MR3X20) += mach-tl-mr3x20.o
++obj-$(CONFIG_ATH79_MACH_TL_WAX50RE) += mach-tl-wax50re.o
++obj-$(CONFIG_ATH79_MACH_TL_WA701ND_V2) += mach-tl-wa701nd-v2.o
++obj-$(CONFIG_ATH79_MACH_TL_WA7210N_V2) += mach-tl-wa7210n-v2.o
++obj-$(CONFIG_ATH79_MACH_TL_WA830RE_V2) += mach-tl-wa830re-v2.o
++obj-$(CONFIG_ATH79_MACH_TL_WA901ND) += mach-tl-wa901nd.o
++obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V2) += mach-tl-wa901nd-v2.o
++obj-$(CONFIG_ATH79_MACH_TL_WDR3320_V2) += mach-tl-wdr3320-v2.o
++obj-$(CONFIG_ATH79_MACH_TL_WDR3500) += mach-tl-wdr3500.o
++obj-$(CONFIG_ATH79_MACH_TL_WDR4300) += mach-tl-wdr4300.o
++obj-$(CONFIG_ATH79_MACH_TL_WDR6500_V2) += mach-tl-wdr6500-v2.o
++obj-$(CONFIG_ATH79_MACH_TL_WR741ND) += mach-tl-wr741nd.o
++obj-$(CONFIG_ATH79_MACH_TL_WR741ND_V4) += mach-tl-wr741nd-v4.o
++obj-$(CONFIG_ATH79_MACH_TL_WR841N_V1) += mach-tl-wr841n.o
++obj-$(CONFIG_ATH79_MACH_TL_WR841N_V8) += mach-tl-wr841n-v8.o
++obj-$(CONFIG_ATH79_MACH_TL_WR841N_V9) += mach-tl-wr841n-v9.o
++obj-$(CONFIG_ATH79_MACH_TL_WR941ND) += mach-tl-wr941nd.o
++obj-$(CONFIG_ATH79_MACH_TL_WR941ND_V6) += mach-tl-wr941nd-v6.o
++obj-$(CONFIG_ATH79_MACH_TL_WR1041N_V2) += mach-tl-wr1041n-v2.o
++obj-$(CONFIG_ATH79_MACH_TL_WR1043ND) += mach-tl-wr1043nd.o
++obj-$(CONFIG_ATH79_MACH_TL_WR1043ND_V2) += mach-tl-wr1043nd-v2.o
++obj-$(CONFIG_ATH79_MACH_TL_WR2543N) += mach-tl-wr2543n.o
++obj-$(CONFIG_ATH79_MACH_TL_WR703N) += mach-tl-wr703n.o
++obj-$(CONFIG_ATH79_MACH_TL_WR720N_V3) += mach-tl-wr720n-v3.o
++obj-$(CONFIG_ATH79_MACH_TUBE2H) += mach-tube2h.o
++obj-$(CONFIG_ATH79_MACH_UBNT) += mach-ubnt.o
+ obj-$(CONFIG_ATH79_MACH_UBNT_XM) += mach-ubnt-xm.o
++obj-$(CONFIG_ATH79_MACH_WEIO) += mach-weio.o
++obj-$(CONFIG_ATH79_MACH_WHR_HP_G300N) += mach-whr-hp-g300n.o
++obj-$(CONFIG_ATH79_MACH_WLAE_AG300N) += mach-wlae-ag300n.o
++obj-$(CONFIG_ATH79_MACH_WLR8100) += mach-wlr8100.o
++obj-$(CONFIG_ATH79_MACH_WNDAP360) += mach-wndap360.o
++obj-$(CONFIG_ATH79_MACH_WNDR3700) += mach-wndr3700.o
++obj-$(CONFIG_ATH79_MACH_WNDR4300) += mach-wndr4300.o
++obj-$(CONFIG_ATH79_MACH_WNR2000) += mach-wnr2000.o
++obj-$(CONFIG_ATH79_MACH_WNR2000_V3) += mach-wnr2000-v3.o
++obj-$(CONFIG_ATH79_MACH_WNR2000_V4) += mach-wnr2000-v4.o
++obj-$(CONFIG_ATH79_MACH_WNR2200) += mach-wnr2200.o
++obj-$(CONFIG_ATH79_MACH_WP543) += mach-wp543.o
++obj-$(CONFIG_ATH79_MACH_WPE72) += mach-wpe72.o
++obj-$(CONFIG_ATH79_MACH_WPJ344) += mach-wpj344.o
++obj-$(CONFIG_ATH79_MACH_WPJ531) += mach-wpj531.o
++obj-$(CONFIG_ATH79_MACH_WPJ558) += mach-wpj558.o
++obj-$(CONFIG_ATH79_MACH_WRT160NL) += mach-wrt160nl.o
++obj-$(CONFIG_ATH79_MACH_WRT400N) += mach-wrt400n.o
++obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH) += mach-wzr-hp-g300nh.o
++obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH2) += mach-wzr-hp-g300nh2.o
++obj-$(CONFIG_ATH79_MACH_WZR_HP_AG300H) += mach-wzr-hp-ag300h.o
++obj-$(CONFIG_ATH79_MACH_WZR_HP_G450H) += mach-wzr-hp-g450h.o
++obj-$(CONFIG_ATH79_MACH_WZR_450HP2) += mach-wzr-450hp2.o
++obj-$(CONFIG_ATH79_MACH_ZCN_1523H) += mach-zcn-1523h.o
++obj-$(CONFIG_ATH79_MACH_CARAMBOLA2) += mach-carambola2.o
++obj-$(CONFIG_ATH79_MACH_NBG6716) += mach-nbg6716.o
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/clock.c linux-4.1.43/arch/mips/ath79/clock.c
+--- linux-4.1.43.orig/arch/mips/ath79/clock.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/clock.c 2017-08-06 20:02:15.000000000 +0200
@@ -25,7 +25,7 @@
#include "common.h"
@@ -243,9 +2016,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/clock.c linux-4.1.13/arch/mips/ath79
+ return 0;
+}
+EXPORT_SYMBOL_GPL(clk_round_rate);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/common.c linux-4.1.13/arch/mips/ath79/common.c
---- linux-4.1.13.orig/arch/mips/ath79/common.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/common.c 2015-12-04 19:57:04.474072175 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/common.c linux-4.1.43/arch/mips/ath79/common.c
+--- linux-4.1.43.orig/arch/mips/ath79/common.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/common.c 2017-08-06 20:02:15.000000000 +0200
@@ -22,6 +22,7 @@
#include "common.h"
@@ -329,9 +2102,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/common.c linux-4.1.13/arch/mips/ath7
+}
+EXPORT_SYMBOL_GPL(ath79_flash_release);
+
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/common.h linux-4.1.13/arch/mips/ath79/common.h
---- linux-4.1.13.orig/arch/mips/ath79/common.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/common.h 2015-12-04 19:57:05.893979276 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/common.h linux-4.1.43/arch/mips/ath79/common.h
+--- linux-4.1.43.orig/arch/mips/ath79/common.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/common.h 2017-08-06 20:02:15.000000000 +0200
@@ -27,6 +27,9 @@
void ath79_gpio_function_enable(u32 mask);
void ath79_gpio_function_disable(u32 mask);
@@ -342,9 +2115,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/common.h linux-4.1.13/arch/mips/ath7
void ath79_gpio_init(void);
#endif /* __ATH79_COMMON_H */
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-ap9x-pci.c linux-4.1.13/arch/mips/ath79/dev-ap9x-pci.c
---- linux-4.1.13.orig/arch/mips/ath79/dev-ap9x-pci.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/dev-ap9x-pci.c 2015-09-13 20:04:35.064524285 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/dev-ap9x-pci.c linux-4.1.43/arch/mips/ath79/dev-ap9x-pci.c
+--- linux-4.1.43.orig/arch/mips/ath79/dev-ap9x-pci.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/dev-ap9x-pci.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,159 @@
+/*
+ * Atheros AP9X reference board PCI initialization
@@ -505,9 +2278,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-ap9x-pci.c linux-4.1.13/arch/mip
+ pci_enable_ath9k_fixup(17, ap9x_wmac0_data.eeprom_data);
+ pci_enable_ath9k_fixup(18, ap9x_wmac1_data.eeprom_data);
+}
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-ap9x-pci.h linux-4.1.13/arch/mips/ath79/dev-ap9x-pci.h
---- linux-4.1.13.orig/arch/mips/ath79/dev-ap9x-pci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/dev-ap9x-pci.h 2015-09-13 20:04:35.064524285 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/dev-ap9x-pci.h linux-4.1.43/arch/mips/ath79/dev-ap9x-pci.h
+--- linux-4.1.43.orig/arch/mips/ath79/dev-ap9x-pci.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/dev-ap9x-pci.h 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,48 @@
+/*
+ * Atheros AP9X reference board PCI initialization
@@ -557,9 +2330,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-ap9x-pci.h linux-4.1.13/arch/mip
+
+#endif /* _ATH79_DEV_AP9X_PCI_H */
+
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-common.c linux-4.1.13/arch/mips/ath79/dev-common.c
---- linux-4.1.13.orig/arch/mips/ath79/dev-common.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/dev-common.c 2015-12-04 19:57:04.474072175 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/dev-common.c linux-4.1.43/arch/mips/ath79/dev-common.c
+--- linux-4.1.43.orig/arch/mips/ath79/dev-common.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/dev-common.c 2017-08-06 20:02:15.000000000 +0200
@@ -80,11 +80,22 @@
uart_clk_rate = ath79_get_sys_clk_rate("uart");
@@ -584,9 +2357,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-common.c linux-4.1.13/arch/mips/
ath79_uart_data[0].uartclk = uart_clk_rate;
platform_device_register(&ath79_uart_device);
} else if (soc_is_ar933x()) {
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-dsa.c linux-4.1.13/arch/mips/ath79/dev-dsa.c
---- linux-4.1.13.orig/arch/mips/ath79/dev-dsa.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/dev-dsa.c 2015-09-13 20:04:35.064524285 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/dev-dsa.c linux-4.1.43/arch/mips/ath79/dev-dsa.c
+--- linux-4.1.43.orig/arch/mips/ath79/dev-dsa.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/dev-dsa.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,41 @@
+/*
+ * Atheros AR71xx DSA switch device support
@@ -629,9 +2402,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-dsa.c linux-4.1.13/arch/mips/ath
+ ar71xx_dsa_switch_device.dev.platform_data = d;
+ platform_device_register(&ar71xx_dsa_switch_device);
+}
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-dsa.h linux-4.1.13/arch/mips/ath79/dev-dsa.h
---- linux-4.1.13.orig/arch/mips/ath79/dev-dsa.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/dev-dsa.h 2015-09-13 20:04:35.064524285 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/dev-dsa.h linux-4.1.43/arch/mips/ath79/dev-dsa.h
+--- linux-4.1.43.orig/arch/mips/ath79/dev-dsa.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/dev-dsa.h 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,21 @@
+/*
+ * Atheros AR71xx DSA switch device support
@@ -654,9 +2427,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-dsa.h linux-4.1.13/arch/mips/ath
+ struct dsa_platform_data *d);
+
+#endif /* _ATH79_DEV_DSA_H */
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-eth.c linux-4.1.13/arch/mips/ath79/dev-eth.c
---- linux-4.1.13.orig/arch/mips/ath79/dev-eth.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/dev-eth.c 2015-11-21 17:22:11.759223549 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/dev-eth.c linux-4.1.43/arch/mips/ath79/dev-eth.c
+--- linux-4.1.43.orig/arch/mips/ath79/dev-eth.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/dev-eth.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,1254 @@
+/*
+ * Atheros AR71xx SoC platform devices
@@ -1912,9 +3685,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-eth.c linux-4.1.13/arch/mips/ath
+ dst[i] = src[i];
+ dst[0] |= 0x02;
+}
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-eth.h linux-4.1.13/arch/mips/ath79/dev-eth.h
---- linux-4.1.13.orig/arch/mips/ath79/dev-eth.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/dev-eth.h 2015-09-13 20:04:35.064524285 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/dev-eth.h linux-4.1.43/arch/mips/ath79/dev-eth.h
+--- linux-4.1.43.orig/arch/mips/ath79/dev-eth.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/dev-eth.h 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,53 @@
+/*
+ * Atheros AR71xx SoC device definitions
@@ -1969,9 +3742,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-eth.h linux-4.1.13/arch/mips/ath
+void ath79_setup_qca955x_eth_cfg(u32 mask);
+
+#endif /* _ATH79_DEV_ETH_H */
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-m25p80.c linux-4.1.13/arch/mips/ath79/dev-m25p80.c
---- linux-4.1.13.orig/arch/mips/ath79/dev-m25p80.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/dev-m25p80.c 2015-09-13 20:04:35.064524285 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/dev-m25p80.c linux-4.1.43/arch/mips/ath79/dev-m25p80.c
+--- linux-4.1.43.orig/arch/mips/ath79/dev-m25p80.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/dev-m25p80.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,118 @@
+/*
+ * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
@@ -2091,9 +3864,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-m25p80.c linux-4.1.13/arch/mips/
+ ath79_spi0_cdata.is_flash = true;
+ ath79_register_spi(&ath79_spi_data, ath79_spi_info, 2);
+}
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-m25p80.h linux-4.1.13/arch/mips/ath79/dev-m25p80.h
---- linux-4.1.13.orig/arch/mips/ath79/dev-m25p80.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/dev-m25p80.h 2015-09-13 20:04:35.064524285 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/dev-m25p80.h linux-4.1.43/arch/mips/ath79/dev-m25p80.h
+--- linux-4.1.43.orig/arch/mips/ath79/dev-m25p80.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/dev-m25p80.h 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,17 @@
+/*
+ * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
@@ -2112,9 +3885,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-m25p80.h linux-4.1.13/arch/mips/
+void ath79_register_m25p80_multi(struct flash_platform_data *pdata) __init;
+
+#endif /* _ATH79_DEV_M25P80_H */
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-nfc.c linux-4.1.13/arch/mips/ath79/dev-nfc.c
---- linux-4.1.13.orig/arch/mips/ath79/dev-nfc.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/dev-nfc.c 2015-09-13 20:04:35.064524285 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/dev-nfc.c linux-4.1.43/arch/mips/ath79/dev-nfc.c
+--- linux-4.1.43.orig/arch/mips/ath79/dev-nfc.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/dev-nfc.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,141 @@
+/*
+ * Atheros AR934X SoCs built-in NAND flash controller support
@@ -2257,9 +4030,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-nfc.c linux-4.1.13/arch/mips/ath
+ else
+ BUG();
+}
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-nfc.h linux-4.1.13/arch/mips/ath79/dev-nfc.h
---- linux-4.1.13.orig/arch/mips/ath79/dev-nfc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/dev-nfc.h 2015-09-13 20:04:35.064524285 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/dev-nfc.h linux-4.1.43/arch/mips/ath79/dev-nfc.h
+--- linux-4.1.43.orig/arch/mips/ath79/dev-nfc.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/dev-nfc.h 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,34 @@
+/*
+ * Atheros AR934X SoCs built-in NAND Flash Controller support
@@ -2295,9 +4068,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-nfc.h linux-4.1.13/arch/mips/ath
+#endif
+
+#endif /* _ATH79_DEV_NFC_H */
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-usb.c linux-4.1.13/arch/mips/ath79/dev-usb.c
---- linux-4.1.13.orig/arch/mips/ath79/dev-usb.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/dev-usb.c 2015-12-04 19:57:04.478071913 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/dev-usb.c linux-4.1.43/arch/mips/ath79/dev-usb.c
+--- linux-4.1.43.orig/arch/mips/ath79/dev-usb.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/dev-usb.c 2017-08-06 20:02:15.000000000 +0200
@@ -37,6 +37,8 @@
static struct usb_ehci_pdata ath79_ehci_pdata_v2 = {
.caps_offset = 0x100,
@@ -2454,9 +4227,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-usb.c linux-4.1.13/arch/mips/ath
else
BUG();
}
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-wmac.c linux-4.1.13/arch/mips/ath79/dev-wmac.c
---- linux-4.1.13.orig/arch/mips/ath79/dev-wmac.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/dev-wmac.c 2015-12-04 19:57:04.506070082 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/dev-wmac.c linux-4.1.43/arch/mips/ath79/dev-wmac.c
+--- linux-4.1.43.orig/arch/mips/ath79/dev-wmac.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/dev-wmac.c 2017-08-06 20:02:15.000000000 +0200
@@ -15,14 +15,21 @@
#include <linux/init.h>
#include <linux/delay.h>
@@ -2831,9 +4604,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-wmac.c linux-4.1.13/arch/mips/at
+ ath79_register_wmac(NULL, NULL);
+ ath79_wmac_data.eeprom_name = "soc_wmac.eeprom";
+}
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-wmac.h linux-4.1.13/arch/mips/ath79/dev-wmac.h
---- linux-4.1.13.orig/arch/mips/ath79/dev-wmac.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/dev-wmac.h 2015-12-04 19:57:04.510069820 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/dev-wmac.h linux-4.1.43/arch/mips/ath79/dev-wmac.h
+--- linux-4.1.43.orig/arch/mips/ath79/dev-wmac.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/dev-wmac.h 2017-08-06 20:02:15.000000000 +0200
@@ -12,6 +12,14 @@
#ifndef _ATH79_DEV_WMAC_H
#define _ATH79_DEV_WMAC_H
@@ -2850,10 +4623,10 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/dev-wmac.h linux-4.1.13/arch/mips/at
+bool ar93xx_wmac_read_mac_address(u8 *dest);
#endif /* _ATH79_DEV_WMAC_H */
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/early_printk.c linux-4.1.13/arch/mips/ath79/early_printk.c
---- linux-4.1.13.orig/arch/mips/ath79/early_printk.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/early_printk.c 2015-12-04 19:57:04.478071913 +0100
-@@ -56,6 +56,46 @@
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/early_printk.c linux-4.1.43/arch/mips/ath79/early_printk.c
+--- linux-4.1.43.orig/arch/mips/ath79/early_printk.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/early_printk.c 2017-08-06 20:02:15.000000000 +0200
+@@ -58,6 +58,46 @@
/* nothing to do */
}
@@ -2900,7 +4673,7 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/early_printk.c linux-4.1.13/arch/mip
static void prom_putchar_init(void)
{
void __iomem *base;
-@@ -74,8 +114,12 @@
+@@ -76,8 +116,12 @@
case REV_ID_MAJOR_AR9341:
case REV_ID_MAJOR_AR9342:
case REV_ID_MAJOR_AR9344:
@@ -2913,7 +4686,7 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/early_printk.c linux-4.1.13/arch/mip
_prom_putchar = prom_putchar_ar71xx;
break;
-@@ -86,8 +130,10 @@
+@@ -88,8 +132,10 @@
default:
_prom_putchar = prom_putchar_dummy;
@@ -2925,9 +4698,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/early_printk.c linux-4.1.13/arch/mip
}
void prom_putchar(unsigned char ch)
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/gpio.c linux-4.1.13/arch/mips/ath79/gpio.c
---- linux-4.1.13.orig/arch/mips/ath79/gpio.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/gpio.c 2015-12-04 19:57:05.893979276 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/gpio.c linux-4.1.43/arch/mips/ath79/gpio.c
+--- linux-4.1.43.orig/arch/mips/ath79/gpio.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/gpio.c 2017-08-06 20:02:15.000000000 +0200
@@ -20,15 +20,29 @@
#include <linux/io.h>
#include <linux/ioport.h>
@@ -3269,9 +5042,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/gpio.c linux-4.1.13/arch/mips/ath79/
+ return gpio;
}
EXPORT_SYMBOL(irq_to_gpio);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/irq.c linux-4.1.13/arch/mips/ath79/irq.c
---- linux-4.1.13.orig/arch/mips/ath79/irq.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/irq.c 2015-12-04 19:57:04.498070605 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/irq.c linux-4.1.43/arch/mips/ath79/irq.c
+--- linux-4.1.43.orig/arch/mips/ath79/irq.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/irq.c 2017-08-06 20:02:15.000000000 +0200
@@ -26,6 +26,8 @@
static void (*ath79_ip2_handler)(void);
@@ -3520,1585 +5293,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/irq.c linux-4.1.13/arch/mips/ath79/i
+ else if (soc_is_qca956x())
+ qca956x_irq_init();
}
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/Kconfig linux-4.1.13/arch/mips/ath79/Kconfig
---- linux-4.1.13.orig/arch/mips/ath79/Kconfig 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/Kconfig 2015-12-04 19:57:05.957975089 +0100
-@@ -2,75 +2,1466 @@
-
- menu "Atheros AR71XX/AR724X/AR913X machine selection"
-
-+config ATH79_MACH_ALFA_AP96
-+ bool "ALFA Network AP96 board support"
-+ select SOC_AR71XX
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+
-+config ATH79_MACH_HORNET_UB
-+ bool "ALFA Network Hornet-UB board support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_ALFA_NX
-+ bool "ALFA Network N2/N5 board support"
-+ select SOC_AR724X
-+ 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
-+
-+config ATH79_MACH_TUBE2H
-+ bool "ALFA Network Tube2H board support"
-+ select SOC_AR933X
-+ 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_ALL0258N
-+ bool "Allnet ALL0258N support"
-+ select SOC_AR724X
-+ 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
-+
-+config ATH79_MACH_ALL0315N
-+ bool "Allnet ALL0315N support"
-+ select SOC_AR724X
-+ 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
-+
-+config ATH79_MACH_ANTMINER_S1
-+ bool "Bitmain Antminer S1 support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_ANTMINER_S3
-+ bool "Bitmain Antminer S3 support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_ARDUINO_YUN
-+ bool "Arduino Yun"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+ help
-+ Say 'Y' here if you want your kernel to support the
-+ Arduino Yun.
-+
-+config ATH79_MACH_AP113
-+ bool "Atheros AP113 board support"
-+ select SOC_AR724X
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_PB9X_PCI if PCI
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_ETH
-+
- config ATH79_MACH_AP121
- bool "Atheros AP121 reference board"
- select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+ help
-+ Say 'Y' here if you want your kernel to support the
-+ Atheros AP121 reference board.
-+
-+config ATH79_MACH_AP132
-+ bool "Atheros AP132 reference board"
-+ select SOC_QCA955X
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+ help
-+ Say 'Y' here if you want your kernel to support the
-+ Atheros AP132 reference boards.
-+
-+config ATH79_MACH_AP136
-+ bool "Atheros AP136/AP135 reference board"
-+ select SOC_QCA955X
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_NFC
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+ help
-+ Say 'Y' here if you want your kernel to support the
-+ Atheros AP136 or AP135 reference boards.
-+
-+config ATH79_MACH_AP143
-+ bool "Atheros AP143 reference board"
-+ select SOC_QCA953X
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_SPI
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_M25P80
-+ help
-+ Say 'Y' here if you want your kernel to support the
-+ Atheros AP143 reference board.
-+
-+config ATH79_MACH_AP147
-+ bool "Atheros AP147 reference board"
-+ select SOC_QCA953X
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+ select ATH79_DEV_AP9X_PCI if PCI
-+ help
-+ Say 'Y' here if you want your kernel to support the
-+ QCA AP147 reference boards.
-+
-+config ATH79_MACH_AP152
-+ bool "Atheros AP152 reference board"
-+ select SOC_QCA956X
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+ select ATH79_DEV_AP9X_PCI if PCI
-+ help
-+ Say 'Y' here if you want your kernel to support the
-+ QCA AP152 reference boards.
-+
-+
-+config ATH79_MACH_AP81
-+ bool "Atheros AP81 reference board"
-+ select SOC_AR913X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+ help
-+ Say 'Y' here if you want your kernel to support the
-+ Atheros AP81 reference board.
-+
-+config ATH79_MACH_AP83
-+ bool "Atheros AP83 board support"
-+ select SOC_AR913X
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_AP96
-+ bool "Atheros AP96 board support"
-+ select SOC_AR71XX
-+ 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_USB
-+
-+config ATH79_MACH_DB120
-+ bool "Atheros DB120 reference board"
-+ select SOC_AR934X
-+ 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_NFC
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+ help
-+ Say 'Y' here if you want your kernel to support the
-+ Atheros DB120 reference board.
-+
-+config ATH79_MACH_PB42
-+ bool "Atheros PB42 board support"
-+ select SOC_AR71XX
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_M25P80
-+
-+config ATH79_MACH_PB44
-+ bool "Atheros PB44 reference board"
-+ select SOC_AR71XX
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_SPI
-+ select ATH79_DEV_USB
-+ help
-+ Say 'Y' here if you want your kernel to support the
-+ Atheros PB44 reference board.
-+
-+config ATH79_MACH_PB92
-+ bool "Atheros PB92 board support"
-+ select SOC_AR724X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_PB9X_PCI if PCI
-+ select ATH79_DEV_USB
-+
-+config ATH79_MACH_AW_NR580
-+ bool "AzureWave AW-NR580 board support"
-+ select SOC_AR71XX
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+
-+config ATH79_MACH_F9K1115V2
-+ bool "Belkin AC1750DB board support"
-+ select SOC_QCA955X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_EPG5000
-+ bool "EnGenius EPG5000 board support"
-+ select SOC_QCA955X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+ select ATH79_NVRAM
-+
-+config ATH79_MACH_ESR1750
-+ bool "EnGenius ESR1750 board support"
-+ select SOC_QCA955X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_WHR_HP_G300N
-+ bool "Buffalo WHR-HP-G300N board support"
-+ select SOC_AR724X
-+ 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
-+
-+config ATH79_MACH_WLAE_AG300N
-+ bool "Buffalo WLAE-AG300N board support"
-+ select SOC_AR71XX
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+
-+config ATH79_MACH_WLR8100
-+ bool "Sitecom WLR-8100 board support"
-+ select SOC_QCA955X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_WZR_HP_AG300H
-+ bool "Buffalo WZR-HP-AG300H board support"
-+ select SOC_AR71XX
-+ 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_USB
-+
-+config ATH79_MACH_WZR_HP_G300NH
-+ bool "Buffalo WZR-HP-G300NH board support"
-+ select SOC_AR913X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+ select RTL8366_SMI
-+
-+config ATH79_MACH_WZR_HP_G300NH2
-+ bool "Buffalo WZR-HP-G300NH2 board support"
-+ select SOC_AR724X
-+ 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_USB
-+
-+config ATH79_MACH_WZR_HP_G450H
-+ bool "Buffalo WZR-HP-G450H board support"
-+ select SOC_AR724X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_AP9X_PCI if PCI
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+
-+config ATH79_MACH_WZR_450HP2
-+ bool "Buffalo WZR-450HP2 board support"
-+ select SOC_QCA955X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_WP543
-+ bool "Compex WP543/WPJ543 board support"
-+ select SOC_AR71XX
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select MYLOADER
-+
-+config ATH79_MACH_WPE72
-+ bool "Compex WPE72/WPE72NX board support"
-+ select SOC_AR724X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select MYLOADER
-+
-+config ATH79_MACH_WPJ344
-+ bool "Compex WPJ344 board support"
-+ select SOC_AS934X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_WPJ531
-+ bool "Compex WPJ531 board support"
-+ select SOC_QCA953X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_WPJ558
-+ bool "Compex WPJ558 board support"
-+ select SOC_QCA955X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_DGL_5500_A1
-+ bool "D-Link DGL-5500 A1 support"
-+ select SOC_QCA955X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_WMAC
-+ select ATH79_DEV_USB
-+
-+config ATH79_MACH_DHP_1565_A1
-+ bool "D-Link DHP-1565 rev. A1 board support"
-+ select SOC_AR934X
-+ 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_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_DIR_505_A1
-+ bool "D-Link DIR-505-A1 support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_WMAC
-+ select ATH79_NVRAM
-+
-+config ATH79_MACH_DIR_600_A1
-+ bool "D-Link DIR-600 A1/DIR-615 E1/DIR-615 E4 support"
-+ select SOC_AR724X
-+ 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_NVRAM
-+
-+config ATH79_MACH_DIR_615_C1
-+ bool "D-Link DIR-615 rev. C1 support"
-+ select SOC_AR913X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_WMAC
-+ select ATH79_NVRAM
-+
-+config ATH79_MACH_DIR_615_I1
-+ bool "D-Link DIR-615 rev. I1 support"
-+ select SOC_AR934X
-+ 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
-+ select ATH79_NVRAM
-+
-+config ATH79_MACH_DIR_825_B1
-+ bool "D-Link DIR-825 rev. B1 board support"
-+ select SOC_AR71XX
-+ 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_USB
-+
-+config ATH79_MACH_DIR_825_C1
-+ bool "D-Link DIR-825 rev. C1/DIR-835 rev. A1 board support"
-+ select SOC_AR934X
-+ 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_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_DLAN_HOTSPOT
-+ bool "devolo dLAN Hotspot support"
-+ select SOC_AR933X
-+ 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_DLAN_PRO_500_WP
-+ bool "devolo dLAN pro 500 Wireless+ support"
-+ select SOC_AR934X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_SPI
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_WMAC
-+ select ATH79_DEV_USB
-+
-+config ATH79_MACH_DLAN_PRO_1200_AC
-+ bool "devolo dLAN pro 1200+ WiFi ac support"
-+ select SOC_AR934X
-+ select ATH79_DEV_AP9X_PCI if PCI
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_SPI
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_WMAC
-+ select ATH79_DEV_NFC
-+ select ATH79_DEV_USB
-+
-+config ATH79_MACH_DRAGINO2
-+ bool "DRAGINO V2 support"
-+ select SOC_AR933X
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_WMAC
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_USB
-+
-+config ATH79_MACH_ESR900
-+ bool "EnGenius ESR900 board support"
-+ select SOC_QCA955X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_EW_DORIN
-+ bool "embedded wireless Dorin Platform support"
-+ select SOC_AR933X
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_WMAC
-+ select ATH79_DEV_ETH
-+ help
-+ Say 'Y' here if you want your kernel to support the
-+ Dorin Platform from www.80211.de .
-+
-+config ATH79_MACH_EL_M150
-+ bool "EasyLink EL-M150 support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_EL_MINI
-+ bool "EasyLink EL-MINI support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_GL_AR150
-+ bool "GL AR150 support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_GL_AR300
-+ bool "GL_AR300 support"
-+ select SOC_AR934X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_GL_DOMINO
-+ bool "DOMINO support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_GL_INET
-+ bool "GL-INET support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_EAP300V2
-+ bool "EnGenius EAP300 v2 support"
-+ select SOC_AR934X
-+ 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_GS_MINIBOX_V1
-+ bool "Gainstrong MiniBox V1.0 support"
-+ select SOC_AR933X
-+ select ARH79_DEV_ETH
-+ select ARH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_GS_OOLITE
-+ bool "GS Oolite V1 support"
-+ select SOC_AR933X
-+ select ARH79_DEV_ETH
-+ select ARH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_HIWIFI_HC6361
-+ bool "HiWiFi HC6361 board support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_JA76PF
-+ bool "jjPlus JA76PF board support"
-+ select SOC_AR71XX
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+
-+config ATH79_MACH_JWAP003
-+ bool "jjPlus JWAP003 board support"
-+ select SOC_AR71XX
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+
-+config ATH79_MACH_WRT160NL
-+ bool "Linksys WRT160NL board support"
-+ select SOC_AR913X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+ select ATH79_NVRAM
-+
-+config ATH79_MACH_WRT400N
-+ bool "Linksys WRT400N board support"
-+ select SOC_AR71XX
-+ 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
-+
-+config ATH79_MACH_R6100
-+ bool "NETGEAR R6100 board support"
-+ select SOC_AR934X
-+ select ATH79_DEV_AP9X_PCI if PCI
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_NFC
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_MC_MAC1200R
-+ bool "MERCURY MAC1200R board support"
-+ select SOC_AR934X
-+ 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_RB4XX
-+ bool "MikroTik RouterBOARD 4xx series support"
-+ select SOC_AR71XX
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_USB
-+
-+config ATH79_MACH_RB750
-+ bool "MikroTik RouterBOARD 750 support"
-+ select SOC_AR724X
-+ select ATH79_DEV_AP9X_PCI if PCI
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_USB
-+ select ATH79_ROUTERBOOT
-+
-+config ATH79_MACH_RB91X
-+ bool "MikroTik RouterBOARD 91X support"
-+ select SOC_AR934X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_SPI
-+ select ATH79_DEV_WMAC
-+ select ATH79_DEV_USB
-+ select ATH79_ROUTERBOOT
-+
-+config ATH79_MACH_RB922
-+ bool "MikroTik RouterBOARD 922 support"
-+ select SOC_QCA955X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_NFC
-+ select ATH79_DEV_USB
-+ select ATH79_ROUTERBOOT
-+ select RLE_DECOMPRESS
-+
-+config ATH79_MACH_RB95X
-+ bool "MikroTik RouterBOARD 95X support"
-+ select SOC_AR934X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_NFC
-+ select ATH79_DEV_WMAC
-+ select ATH79_DEV_USB
-+ select ATH79_ROUTERBOOT
-+
-+config ATH79_MACH_RB2011
-+ bool "MikroTik RouterBOARD 2011 support"
-+ select SOC_AR934X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_NFC
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+ select ATH79_ROUTERBOOT
-+
-+config ATH79_MACH_RBSXTLITE
-+ bool "MikroTik RouterBOARD SXT Lite"
-+ select SOC_AR934X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_NFC
-+ select ATH79_DEV_WMAC
-+ select ATH79_ROUTERBOOT
-+
-+config ATH79_MACH_SMART_300
-+ bool "NC-LINK SMART-300 board support"
-+ select SOC_AR934X
-+ 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_WNDAP360
-+ bool "NETGEAR WNDAP360 board support"
-+ select SOC_AR71XX
-+ 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
-+
-+config ATH79_MACH_WNDR3700
-+ bool "NETGEAR WNDR3700 board support"
-+ select SOC_AR71XX
-+ 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_USB
-+
-+config ATH79_MACH_WNDR4300
-+ bool "NETGEAR WNDR3700v4/WNDR4300 board support"
-+ select SOC_AR934X
-+ select ATH79_DEV_AP9X_PCI if PCI
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_NFC
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_WNR2000
-+ bool "NETGEAR WNR2000 board support"
-+ select SOC_AR913X
-+ 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_WNR2000_V3
-+ bool "NETGEAR WNR2000 V3/WNR612 v2/WNR1000 v2 board support"
-+ select SOC_AR724X
-+ 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
-+
-+ config ATH79_MACH_WNR2200
-+ bool "NETGEAR WNR2200 board support"
-+ select SOC_AR724X
-+ 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_USB
-+
-+config ATH79_MACH_WNR2000_V4
-+ bool "NETGEAR WNR2000 V4"
-+ select SOC_AR934X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_OM2P
-+ bool "OpenMesh OM2P board support"
-+ select SOC_AR724X
-+ select SOC_AR933X
-+ 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_OM5P
-+ bool "OpenMesh OM5P board support"
-+ select SOC_AR934X
-+ 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
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_MR12
-+ bool "Meraki MR12 board support"
-+ select SOC_AR724X
-+ 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_MR16
-+ bool "Meraki MR16 board support"
-+ select SOC_AR71XX
-+ 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_MR600
-+ bool "OpenMesh MR600 board support"
-+ select SOC_AR934X
-+ 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_MZK_W04NU
-+ bool "Planex MZK-W04NU board support"
-+ select SOC_AR913X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_MZK_W300NH
-+ bool "Planex MZK-W300NH board support"
-+ select SOC_AR913X
-+ 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_RW2458N
-+ bool "Redwave RW2458N board support"
-+ select SOC_AR724X
-+ 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_USB
-+
-+config ATH79_MACH_CAP4200AG
-+ bool "Senao CAP4200AG support"
-+ select SOC_AR934X
-+ 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_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
-+ 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_EAP7660D
-+ bool "Senao EAP7660D support"
-+ select SOC_AR71XX
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+
-+config ATH79_MACH_BSB
-+ bool "Smart Electronics Black Swift board"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_ARCHER_C7
-+ bool "TP-LINK Archer C5/C7/TL-WDR4900 v2 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_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_CPE510
-+ bool "TP-LINK CPE510 support"
-+ select SOC_AR934X
-+ 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_TL_MR11U
-+ bool "TP-LINK TL-MR11U/TL-MR3040 support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
-- select ATH79_DEV_SPI
-+ select ATH79_DEV_M25P80
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
-- help
-- Say 'Y' here if you want your kernel to support the
-- Atheros AP121 reference board.
-
--config ATH79_MACH_AP136
-- bool "Atheros AP136 reference board"
-- select SOC_QCA955X
-+config ATH79_MACH_TL_MR13U
-+ bool "TP-LINK TL-MR13U support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
-- select ATH79_DEV_SPI
-+ select ATH79_DEV_M25P80
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
-- help
-- Say 'Y' here if you want your kernel to support the
-- Atheros AP136 reference board.
-
--config ATH79_MACH_AP81
-- bool "Atheros AP81 reference board"
-+config ATH79_MACH_TL_MR3020
-+ bool "TP-LINK TL-MR3020 support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_TL_MR3X20
-+ bool "TP-LINK TL-MR3220/3420 support"
-+ select SOC_AR724X
-+ 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_USB
-+
-+config ATH79_MACH_TL_WAX50RE
-+ bool "TP-LINK TL-WA750/850RE support"
-+ select SOC_AR934X
-+ 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_TL_WA701ND_V2
-+ bool "TP-LINK TL-WA701ND v2 support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_TL_WA7210N_V2
-+ bool "TP-LINK TL-WA7210N v2 support"
-+ select SOC_AR724X
-+ select ATH79_DEV_AP9X_PCI if PCI
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_TL_WA830RE_V2
-+ bool "TP-LINK TL-WA830RE v2 support"
-+ select SOC_AR934X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_TL_WA901ND
-+ bool "TP-LINK TL-WA901ND/TL-WA7510N support"
-+ select SOC_AR724X
-+ 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
-+
-+config ATH79_MACH_TL_WA901ND_V2
-+ bool "TP-LINK TL-WA901ND v2 support"
- select SOC_AR913X
-+ select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
-- select ATH79_DEV_SPI
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_TL_WDR3320_V2
-+ bool "TP-LINK TL-WDR3320 v2 board support"
-+ select SOC_AR934X
-+ 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_USB
- select ATH79_DEV_WMAC
-- help
-- Say 'Y' here if you want your kernel to support the
-- Atheros AP81 reference board.
-
--config ATH79_MACH_DB120
-- bool "Atheros DB120 reference board"
-+config ATH79_MACH_TL_WDR3500
-+ bool "TP-LINK TL-WDR3500 board support"
- select SOC_AR934X
-+ select ATH79_DEV_AP9X_PCI if PCI
-+ select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
-- select ATH79_DEV_SPI
-+ select ATH79_DEV_M25P80
- select ATH79_DEV_USB
- select ATH79_DEV_WMAC
-- help
-- Say 'Y' here if you want your kernel to support the
-- Atheros DB120 reference board.
-
--config ATH79_MACH_PB44
-- bool "Atheros PB44 reference board"
-+config ATH79_MACH_TL_WDR4300
-+ bool "TP-LINK TL-WDR3600/4300/4310 board support"
-+ select SOC_AR934X
-+ 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_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_TL_WDR6500_V2
-+ bool "TP-LINK TL-WDR6500 v2 board support"
-+ select SOC_QCA956X
-+ 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_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_TL_WR703N
-+ bool "TP-LINK TL-WR703N/TL-WR710N/TL-MR10U support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_TL_WR720N_V3
-+ bool "TP-LINK TL-WR720N v3/v4 support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_TL_WR741ND
-+ bool "TP-LINK TL-WR741ND support"
-+ select SOC_AR724X
-+ 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
-+
-+config ATH79_MACH_TL_WR741ND_V4
-+ bool "TP-LINK TL-WR741ND v4/TL-MR3220 v2 support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_TL_WR841N_V1
-+ bool "TP-LINK TL-WR841N v1 support"
- select SOC_AR71XX
-+ select ATH79_DEV_DSA
-+ select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
-- select ATH79_DEV_SPI
-+ select ATH79_DEV_M25P80
-+
-+config ATH79_MACH_TL_WR841N_V8
-+ bool "TP-LINK TL-WR841N/ND v8/TL-MR3420 v2 support"
-+ select SOC_AR934X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_TL_WR841N_V9
-+ bool "TP-LINK TL-WR841N/ND v9 support"
-+ select SOC_QCA953X
-+ 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_TL_WR941ND
-+ bool "TP-LINK TL-WR941ND support"
-+ select SOC_AR913X
-+ select ATH79_DEV_DSA
-+ 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_TL_WR941ND_V6
-+ bool "TP-LINK TL-WR941ND v6 support"
-+ select SOC_QCA956X
-+ 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_TL_WR1041N_V2
-+ bool "TP-LINK TL-WR1041N v2 support"
-+ select SOC_AR934X
-+ 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_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_TL_WR1043ND
-+ bool "TP-LINK TL-WR1043ND support"
-+ select SOC_AR913X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_TL_WR1043ND_V2
-+ bool "TP-LINK TL-WR1043ND v2 support"
-+ select SOC_QCA955X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_TL_WR2543N
-+ bool "TP-LINK TL-WR2543N/ND support"
-+ select SOC_AR724X
-+ 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_USB
-+
-+config ATH79_MACH_TEW_632BRP
-+ bool "TRENDnet TEW-632BRP support"
-+ select SOC_AR913X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_WMAC
-+ select ATH79_NVRAM
-+
-+config ATH79_MACH_TEW_673GRU
-+ bool "TRENDnet TEW-673GRU support"
-+ select SOC_AR71XX
-+ 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_USB
-+ select ATH79_NVRAM
-+
-+config ATH79_MACH_TEW_712BR
-+ bool "TRENDnet TEW-712BR support"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_WMAC
-+ select ATH79_NVRAM
-+
-+config ATH79_MACH_TEW_732BR
-+ bool "TRENDnet TEW-732BR support"
-+ select SOC_AR934X
-+ 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_UBNT
-+ bool "Ubiquiti AR71xx based boards support"
-+ select SOC_AR71XX
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
- select ATH79_DEV_USB
-- help
-- Say 'Y' here if you want your kernel to support the
-- Atheros PB44 reference board.
-
- config ATH79_MACH_UBNT_XM
-- bool "Ubiquiti Networks XM (rev 1.0) board"
-+ bool "Ubiquiti Networks XM/UniFi boards"
- select SOC_AR724X
-+ select SOC_AR934X
-+ select ATH79_DEV_AP9X_PCI if PCI
-+ select ATH79_DEV_ETH
- select ATH79_DEV_GPIO_BUTTONS
- select ATH79_DEV_LEDS_GPIO
-- select ATH79_DEV_SPI
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
- help
- Say 'Y' here if you want your kernel to support the
- Ubiquiti Networks XM (rev 1.0) board.
-
-+config ATH79_MACH_WEIO
-+ bool "WeIO board"
-+ select SOC_AR933X
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_MYNET_N600
-+ bool "WD My Net N600 board support"
-+ select SOC_AR934X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_WMAC
-+ select ATH79_NVRAM
-+
-+config ATH79_MACH_MYNET_N750
-+ bool "WD My Net N750 board support"
-+ select SOC_AR934X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_WMAC
-+ select ATH79_NVRAM
-+
-+config ATH79_MACH_MYNET_REXT
-+ bool "WD My Net Wi-Fi Range Extender board support"
-+ select SOC_AR934X
-+ 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
-+ select ATH79_NVRAM
-+
-+config ATH79_MACH_ZCN_1523H
-+ bool "Zcomax ZCN-1523H support"
-+ select SOC_AR724X
-+ 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
-+
-+config ATH79_MACH_NBG460N
-+ bool "Zyxel NBG460N/550N/550NH board support"
-+ select SOC_AR913X
-+ 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_NBG6716
-+ bool "Zyxel NBG6616/NBG6716 board support"
-+ select SOC_QCA955X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_NFC
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_CARAMBOLA2
-+ bool "8devices Carambola2 board"
-+ select SOC_AR933X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_CF_E316N_V2
-+ bool "COMFAST CF-E316N v2 board"
-+ select SOC_AR934X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_BHU_BXU2000N2_A
-+ bool "BHU BXU2000n-2 rev. A support"
-+ select SOC_AR934X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_USB
-+ select ATH79_DEV_WMAC
-+
-+config ATH79_MACH_QIHOO_C301
-+ bool "Qihoo 360 C301 board support"
-+ select SOC_AR934X
-+ select ATH79_DEV_ETH
-+ select ATH79_DEV_GPIO_BUTTONS
-+ select ATH79_DEV_LEDS_GPIO
-+ select ATH79_DEV_M25P80
-+ select ATH79_DEV_WMAC
-+ select ATH79_DEV_USB
-+ select ATH79_NVRAM
-+
- endmenu
-
- config SOC_AR71XX
-@@ -93,12 +1484,39 @@
- select PCI_AR724X if PCI
- def_bool n
-
-+config SOC_QCA953X
-+ select USB_ARCH_HAS_EHCI
-+ def_bool n
-+
- config SOC_QCA955X
- select HW_HAS_PCI
- select PCI_AR724X if PCI
- def_bool n
-
--config PCI_AR724X
-+config SOC_QCA956X
-+ select USB_ARCH_HAS_EHCI
-+ select HW_HAS_PCI
-+ select PCI_AR724X if PCI
-+ def_bool n
-+
-+config ATH79_DEV_M25P80
-+ select ATH79_DEV_SPI
-+ def_bool n
-+
-+config ATH79_DEV_AP9X_PCI
-+ select ATH79_PCI_ATH9K_FIXUP
-+ def_bool n
-+
-+config ATH79_DEV_DSA
-+ def_bool n
-+
-+config ATH79_DEV_ETH
-+ def_bool n
-+
-+config ATH79_DEV_DSA
-+ def_bool n
-+
-+config ATH79_DEV_ETH
- def_bool n
-
- config ATH79_DEV_GPIO_BUTTONS
-@@ -107,6 +1525,10 @@
- config ATH79_DEV_LEDS_GPIO
- def_bool n
-
-+config ATH79_DEV_NFC
-+ depends on (SOC_AR934X || SOC_QCA955X)
-+ def_bool n
-+
- config ATH79_DEV_SPI
- def_bool n
-
-@@ -114,7 +1536,21 @@
- def_bool n
-
- config ATH79_DEV_WMAC
-- depends on (SOC_AR913X || SOC_AR933X || SOC_AR934X || SOC_QCA955X)
-+ depends on (SOC_AR913X || SOC_AR933X || SOC_AR934X || SOC_QCA953X || SOC_QCA955X || SOC_QCA956X)
-+ def_bool n
-+
-+config ATH79_NVRAM
-+ def_bool n
-+
-+config ATH79_PCI_ATH9K_FIXUP
-+ def_bool n
-+
-+config ATH79_ROUTERBOOT
-+ select RLE_DECOMPRESS
-+ select LZO_DECOMPRESS
-+ def_bool n
-+
-+config PCI_AR724X
- def_bool n
-
- endif
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-alfa-ap96.c linux-4.1.13/arch/mips/ath79/mach-alfa-ap96.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-alfa-ap96.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-alfa-ap96.c 2015-09-13 20:04:35.064524285 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-alfa-ap96.c linux-4.1.43/arch/mips/ath79/mach-alfa-ap96.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-alfa-ap96.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-alfa-ap96.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,151 @@
+/*
+ * ALFA Network AP96 board support
@@ -5251,9 +5448,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-alfa-ap96.c linux-4.1.13/arch/m
+
+MIPS_MACHINE(ATH79_MACH_ALFA_AP96, "ALFA-AP96", "ALFA Network AP96",
+ alfa_ap96_init);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-alfa-nx.c linux-4.1.13/arch/mips/ath79/mach-alfa-nx.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-alfa-nx.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-alfa-nx.c 2015-09-13 20:04:35.064524285 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-alfa-nx.c linux-4.1.43/arch/mips/ath79/mach-alfa-nx.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-alfa-nx.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-alfa-nx.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,113 @@
+/*
+ * ALFA Network N2/N5 board support
@@ -5368,9 +5565,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-alfa-nx.c linux-4.1.13/arch/mip
+
+MIPS_MACHINE(ATH79_MACH_ALFA_NX, "ALFA-NX", "ALFA Network N2/N5",
+ alfa_nx_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-all0258n.c linux-4.1.13/arch/mips/ath79/mach-all0258n.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-all0258n.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-all0258n.c 2015-09-13 20:04:35.064524285 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-all0258n.c linux-4.1.43/arch/mips/ath79/mach-all0258n.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-all0258n.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-all0258n.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,88 @@
+/*
+ * Allnet ALL0258N support
@@ -5460,9 +5657,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-all0258n.c linux-4.1.13/arch/mi
+
+MIPS_MACHINE(ATH79_MACH_ALL0258N, "ALL0258N", "Allnet ALL0258N",
+ all0258n_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-all0315n.c linux-4.1.13/arch/mips/ath79/mach-all0315n.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-all0315n.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-all0315n.c 2015-09-13 20:04:35.064524285 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-all0315n.c linux-4.1.43/arch/mips/ath79/mach-all0315n.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-all0315n.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-all0315n.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,85 @@
+/*
+ * Allnet ALL0315N support
@@ -5549,9 +5746,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-all0315n.c linux-4.1.13/arch/mi
+
+MIPS_MACHINE(ATH79_MACH_ALL0315N, "ALL0315N", "Allnet ALL0315N",
+ all0315n_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-antminer-s1.c linux-4.1.13/arch/mips/ath79/mach-antminer-s1.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-antminer-s1.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-antminer-s1.c 2015-11-21 17:22:11.759223549 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-antminer-s1.c linux-4.1.43/arch/mips/ath79/mach-antminer-s1.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-antminer-s1.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-antminer-s1.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,98 @@
+/*
+ * Bitmain Antminer S1 board support
@@ -5651,9 +5848,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-antminer-s1.c linux-4.1.13/arch
+
+MIPS_MACHINE(ATH79_MACH_ANTMINER_S1, "ANTMINER-S1",
+ "Antminer-S1", antminer_s1_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-antminer-s3.c linux-4.1.13/arch/mips/ath79/mach-antminer-s3.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-antminer-s3.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-antminer-s3.c 2015-11-21 17:22:11.759223549 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-antminer-s3.c linux-4.1.43/arch/mips/ath79/mach-antminer-s3.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-antminer-s3.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-antminer-s3.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,103 @@
+/*
+ * Bitmain Antminer S3 board support
@@ -5758,9 +5955,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-antminer-s3.c linux-4.1.13/arch
+
+MIPS_MACHINE(ATH79_MACH_ANTMINER_S3, "ANTMINER-S3",
+ "Antminer-S3", antminer_s3_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap113.c linux-4.1.13/arch/mips/ath79/mach-ap113.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-ap113.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-ap113.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-ap113.c linux-4.1.43/arch/mips/ath79/mach-ap113.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-ap113.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-ap113.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,84 @@
+/*
+ * Atheros AP113 board support
@@ -5846,9 +6043,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap113.c linux-4.1.13/arch/mips/
+
+MIPS_MACHINE(ATH79_MACH_AP113, "AP113", "Atheros AP113",
+ ap113_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap121.c linux-4.1.13/arch/mips/ath79/mach-ap121.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-ap121.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-ap121.c 2015-12-04 19:57:04.298083689 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-ap121.c linux-4.1.43/arch/mips/ath79/mach-ap121.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-ap121.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/mach-ap121.c 2017-08-06 20:02:15.000000000 +0200
@@ -1,19 +1,21 @@
/*
* Atheros AP121 board support
@@ -5982,9 +6179,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap121.c linux-4.1.13/arch/mips/
+
+MIPS_MACHINE(ATH79_MACH_AP121_MINI, "AP121-MINI", "Atheros AP121-MINI",
+ ap121_mini_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap132.c linux-4.1.13/arch/mips/ath79/mach-ap132.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-ap132.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-ap132.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-ap132.c linux-4.1.43/arch/mips/ath79/mach-ap132.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-ap132.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-ap132.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,189 @@
+/*
+ * Atheros AP132 reference board support
@@ -6175,9 +6372,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap132.c linux-4.1.13/arch/mips/
+ "Atheros AP132 reference board",
+ ap132_setup);
+
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap136.c linux-4.1.13/arch/mips/ath79/mach-ap136.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-ap136.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-ap136.c 2015-12-04 19:57:04.370078979 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-ap136.c linux-4.1.43/arch/mips/ath79/mach-ap136.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-ap136.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/mach-ap136.c 2017-08-06 20:02:15.000000000 +0200
@@ -18,23 +18,29 @@
*
*/
@@ -6454,9 +6651,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap136.c linux-4.1.13/arch/mips/
+MIPS_MACHINE(ATH79_MACH_AP135_020, "AP135-020",
+ "Atheros AP135-020 reference board",
+ ap135_020_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap143.c linux-4.1.13/arch/mips/ath79/mach-ap143.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-ap143.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-ap143.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-ap143.c linux-4.1.43/arch/mips/ath79/mach-ap143.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-ap143.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-ap143.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,142 @@
+/*
+ * Atheros AP143 reference board support
@@ -6600,9 +6797,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap143.c linux-4.1.13/arch/mips/
+
+MIPS_MACHINE(ATH79_MACH_AP143, "AP143", "Qualcomm Atheros AP143 reference board",
+ ap143_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap147.c linux-4.1.13/arch/mips/ath79/mach-ap147.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-ap147.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-ap147.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-ap147.c linux-4.1.43/arch/mips/ath79/mach-ap147.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-ap147.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-ap147.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,125 @@
+/*
+ * Atheros AP147 reference board support
@@ -6729,9 +6926,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap147.c linux-4.1.13/arch/mips/
+}
+
+MIPS_MACHINE(ATH79_MACH_AP147_010, "AP147-010", "Atheros AP147-010 reference board", ap147_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap152.c linux-4.1.13/arch/mips/ath79/mach-ap152.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-ap152.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-ap152.c 2015-11-21 17:22:11.759223549 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-ap152.c linux-4.1.43/arch/mips/ath79/mach-ap152.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-ap152.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-ap152.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,141 @@
+
+/*
@@ -6874,9 +7071,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap152.c linux-4.1.13/arch/mips/
+
+MIPS_MACHINE(ATH79_MACH_AP152, "AP152", "Qualcomm Atheros AP152 reference board",
+ ap152_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap81.c linux-4.1.13/arch/mips/ath79/mach-ap81.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-ap81.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-ap81.c 2015-12-04 19:57:04.310082904 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-ap81.c linux-4.1.43/arch/mips/ath79/mach-ap81.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-ap81.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/mach-ap81.c 2017-08-06 20:02:15.000000000 +0200
@@ -9,12 +9,16 @@
* by the Free Software Foundation.
*/
@@ -6946,9 +7143,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap81.c linux-4.1.13/arch/mips/a
}
MIPS_MACHINE(ATH79_MACH_AP81, "AP81", "Atheros AP81 reference board",
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap83.c linux-4.1.13/arch/mips/ath79/mach-ap83.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-ap83.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-ap83.c 2015-12-04 19:57:04.438074530 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-ap83.c linux-4.1.43/arch/mips/ath79/mach-ap83.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-ap83.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-ap83.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,242 @@
+/*
+ * Atheros AP83 board support
@@ -7192,9 +7389,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap83.c linux-4.1.13/arch/mips/a
+}
+
+MIPS_MACHINE(ATH79_MACH_AP83, "AP83", "Atheros AP83", ap83_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap96.c linux-4.1.13/arch/mips/ath79/mach-ap96.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-ap96.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-ap96.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-ap96.c linux-4.1.43/arch/mips/ath79/mach-ap96.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-ap96.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-ap96.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,142 @@
+/*
+ * Atheros AP96 board support
@@ -7338,9 +7535,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ap96.c linux-4.1.13/arch/mips/a
+}
+
+MIPS_MACHINE(ATH79_MACH_AP96, "AP96", "Atheros AP96", ap96_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-archer-c7.c linux-4.1.13/arch/mips/ath79/mach-archer-c7.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-archer-c7.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-archer-c7.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-archer-c7.c linux-4.1.43/arch/mips/ath79/mach-archer-c7.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-archer-c7.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-archer-c7.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,266 @@
+/*
+ * TP-LINK Archer C5/C7/TL-WDR4900 v2 board support
@@ -7608,9 +7805,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-archer-c7.c linux-4.1.13/arch/m
+MIPS_MACHINE(ATH79_MACH_TL_WDR4900_V2, "TL-WDR4900-v2", "TP-LINK TL-WDR4900 v2",
+ tl_wdr4900_v2_setup)
+
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-arduino-yun.c linux-4.1.13/arch/mips/ath79/mach-arduino-yun.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-arduino-yun.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-arduino-yun.c 2015-11-21 17:22:11.759223549 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-arduino-yun.c linux-4.1.43/arch/mips/ath79/mach-arduino-yun.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-arduino-yun.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-arduino-yun.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,137 @@
+/*
+ * Arduino Yun support
@@ -7749,9 +7946,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-arduino-yun.c linux-4.1.13/arch
+}
+
+MIPS_MACHINE(ATH79_MACH_ARDUINO_YUN, "Yun", "Arduino Yun", ds_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-aw-nr580.c linux-4.1.13/arch/mips/ath79/mach-aw-nr580.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-aw-nr580.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-aw-nr580.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-aw-nr580.c linux-4.1.43/arch/mips/ath79/mach-aw-nr580.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-aw-nr580.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-aw-nr580.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,107 @@
+/*
+ * AzureWave AW-NR580 board support
@@ -7860,9 +8057,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-aw-nr580.c linux-4.1.13/arch/mi
+
+MIPS_MACHINE(ATH79_MACH_AW_NR580, "AW-NR580", "AzureWave AW-NR580",
+ aw_nr580_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-bhu-bxu2000n2-a.c linux-4.1.13/arch/mips/ath79/mach-bhu-bxu2000n2-a.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-bhu-bxu2000n2-a.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-bhu-bxu2000n2-a.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-bhu-bxu2000n2-a.c linux-4.1.43/arch/mips/ath79/mach-bhu-bxu2000n2-a.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-bhu-bxu2000n2-a.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-bhu-bxu2000n2-a.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,120 @@
+/*
+ * BHU BXU2000n-2 A1 board support
@@ -7984,9 +8181,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-bhu-bxu2000n2-a.c linux-4.1.13/
+ "BHU BXU2000n-2 rev. A1",
+ bhu_bxu2000n2_a1_setup);
+
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-bsb.c linux-4.1.13/arch/mips/ath79/mach-bsb.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-bsb.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-bsb.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-bsb.c linux-4.1.43/arch/mips/ath79/mach-bsb.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-bsb.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-bsb.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,83 @@
+/*
+ * Smart Electronics Black Swift board support
@@ -8071,9 +8268,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-bsb.c linux-4.1.13/arch/mips/at
+MIPS_MACHINE(ATH79_MACH_BSB, "BSB", "Smart Electronics Black Swift board",
+ bsb_setup);
+
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-cap4200ag.c linux-4.1.13/arch/mips/ath79/mach-cap4200ag.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-cap4200ag.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-cap4200ag.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-cap4200ag.c linux-4.1.43/arch/mips/ath79/mach-cap4200ag.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-cap4200ag.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-cap4200ag.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,131 @@
+/*
+ * Senao CAP4200AG board support
@@ -8206,9 +8403,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-cap4200ag.c linux-4.1.13/arch/m
+
+MIPS_MACHINE(ATH79_MACH_CAP4200AG, "CAP4200AG", "Senao CAP4200AG",
+ cap4200ag_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-carambola2.c linux-4.1.13/arch/mips/ath79/mach-carambola2.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-carambola2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-carambola2.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-carambola2.c linux-4.1.43/arch/mips/ath79/mach-carambola2.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-carambola2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-carambola2.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,105 @@
+/*
+ * 8devices Carambola2 board support
@@ -8315,9 +8512,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-carambola2.c linux-4.1.13/arch/
+
+MIPS_MACHINE(ATH79_MACH_CARAMBOLA2, "CARAMBOLA2", "8devices Carambola2 board",
+ carambola2_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-cf-e316n-v2.c linux-4.1.13/arch/mips/ath79/mach-cf-e316n-v2.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-cf-e316n-v2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-cf-e316n-v2.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-cf-e316n-v2.c linux-4.1.43/arch/mips/ath79/mach-cf-e316n-v2.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-cf-e316n-v2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-cf-e316n-v2.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,132 @@
+/*
+ * COMFAST CF-E316N v2
@@ -8451,9 +8648,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-cf-e316n-v2.c linux-4.1.13/arch
+
+MIPS_MACHINE(ATH79_MACH_CF_E316N_V2, "CF-E316N-V2", "COMFAST CF-E316N v2",
+ cf_e316n_v2_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-cpe510.c linux-4.1.13/arch/mips/ath79/mach-cpe510.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-cpe510.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-cpe510.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-cpe510.c linux-4.1.43/arch/mips/ath79/mach-cpe510.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-cpe510.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-cpe510.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,107 @@
+/*
+ * TP-LINK CPE210/220/510/520 board support
@@ -8562,9 +8759,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-cpe510.c linux-4.1.13/arch/mips
+
+MIPS_MACHINE(ATH79_MACH_CPE510, "CPE510", "TP-LINK CPE210/220/510/520",
+ cpe510_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-db120.c linux-4.1.13/arch/mips/ath79/mach-db120.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-db120.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-db120.c 2015-12-04 19:57:04.322082119 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-db120.c linux-4.1.43/arch/mips/ath79/mach-db120.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-db120.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/mach-db120.c 2017-08-06 20:02:15.000000000 +0200
@@ -2,7 +2,7 @@
* Atheros DB120 reference board support
*
@@ -8752,9 +8949,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-db120.c linux-4.1.13/arch/mips/
}
MIPS_MACHINE(ATH79_MACH_DB120, "DB120", "Atheros DB120 reference board",
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dgl-5500-a1.c linux-4.1.13/arch/mips/ath79/mach-dgl-5500-a1.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-dgl-5500-a1.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-dgl-5500-a1.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-dgl-5500-a1.c linux-4.1.43/arch/mips/ath79/mach-dgl-5500-a1.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-dgl-5500-a1.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-dgl-5500-a1.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,150 @@
+/*
+ * D-Link DGL-5500 board support
@@ -8906,9 +9103,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dgl-5500-a1.c linux-4.1.13/arch
+
+MIPS_MACHINE(ATH79_MACH_DGL_5500_A1, "DGL-5500-A1", "D-Link DGL-5500 rev. A1",
+ dgl_5500_a1_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dhp-1565-a1.c linux-4.1.13/arch/mips/ath79/mach-dhp-1565-a1.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-dhp-1565-a1.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-dhp-1565-a1.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-dhp-1565-a1.c linux-4.1.43/arch/mips/ath79/mach-dhp-1565-a1.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-dhp-1565-a1.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-dhp-1565-a1.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,170 @@
+/*
+ * D-Link DHP-1565 rev. A1 board support
@@ -9080,9 +9277,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dhp-1565-a1.c linux-4.1.13/arch
+MIPS_MACHINE(ATH79_MACH_DHP_1565_A1, "DHP-1565-A1",
+ "D-Link DHP-1565 rev. A1",
+ dhp1565a1_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dir-505-a1.c linux-4.1.13/arch/mips/ath79/mach-dir-505-a1.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-dir-505-a1.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-dir-505-a1.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-dir-505-a1.c linux-4.1.43/arch/mips/ath79/mach-dir-505-a1.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-dir-505-a1.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-dir-505-a1.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,116 @@
+/*
+ * DLink DIR-505 A1 board support
@@ -9200,9 +9397,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dir-505-a1.c linux-4.1.13/arch/
+
+MIPS_MACHINE(ATH79_MACH_DIR_505_A1, "DIR-505-A1",
+ "D-Link DIR-505 rev. A1", dir_505_a1_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dir-600-a1.c linux-4.1.13/arch/mips/ath79/mach-dir-600-a1.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-dir-600-a1.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-dir-600-a1.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-dir-600-a1.c linux-4.1.43/arch/mips/ath79/mach-dir-600-a1.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-dir-600-a1.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-dir-600-a1.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,159 @@
+/*
+ * D-Link DIR-600 rev. A1 board support
@@ -9363,9 +9560,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dir-600-a1.c linux-4.1.13/arch/
+
+MIPS_MACHINE(ATH79_MACH_DIR_615_E4, "DIR-615-E4", "D-Link DIR-615 rev. E4",
+ dir_615_e4_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dir-615-c1.c linux-4.1.13/arch/mips/ath79/mach-dir-615-c1.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-dir-615-c1.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-dir-615-c1.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-dir-615-c1.c linux-4.1.43/arch/mips/ath79/mach-dir-615-c1.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-dir-615-c1.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-dir-615-c1.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,135 @@
+/*
+ * D-Link DIR-615 rev C1 board support
@@ -9502,9 +9699,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dir-615-c1.c linux-4.1.13/arch/
+
+MIPS_MACHINE(ATH79_MACH_DIR_615_C1, "DIR-615-C1", "D-Link DIR-615 rev. C1",
+ dir_615c1_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dir-615-i1.c linux-4.1.13/arch/mips/ath79/mach-dir-615-i1.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-dir-615-i1.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-dir-615-i1.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-dir-615-i1.c linux-4.1.43/arch/mips/ath79/mach-dir-615-i1.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-dir-615-i1.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-dir-615-i1.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,133 @@
+/*
+ * D-Link DIR-615 rev. I1 board support
@@ -9639,9 +9836,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dir-615-i1.c linux-4.1.13/arch/
+
+MIPS_MACHINE(ATH79_MACH_DIR_615_I1, "DIR-615-I1", "D-Link DIR-615 rev. I1",
+ dir_615_i1_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dir-825-b1.c linux-4.1.13/arch/mips/ath79/mach-dir-825-b1.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-dir-825-b1.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-dir-825-b1.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-dir-825-b1.c linux-4.1.43/arch/mips/ath79/mach-dir-825-b1.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-dir-825-b1.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-dir-825-b1.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,191 @@
+/*
+ * D-Link DIR-825 rev. B1 board support
@@ -9834,9 +10031,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dir-825-b1.c linux-4.1.13/arch/
+
+MIPS_MACHINE(ATH79_MACH_DIR_825_B1, "DIR-825-B1", "D-Link DIR-825 rev. B1",
+ dir825b1_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dir-825-c1.c linux-4.1.13/arch/mips/ath79/mach-dir-825-c1.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-dir-825-c1.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-dir-825-c1.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-dir-825-c1.c linux-4.1.43/arch/mips/ath79/mach-dir-825-c1.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-dir-825-c1.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-dir-825-c1.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,241 @@
+/*
+ * D-Link DIR-825 rev. C1 board support
@@ -10079,9 +10276,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dir-825-c1.c linux-4.1.13/arch/
+MIPS_MACHINE(ATH79_MACH_DIR_835_A1, "DIR-835-A1",
+ "D-Link DIR-835 rev. A1",
+ dir835a1_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dlan-hotspot.c linux-4.1.13/arch/mips/ath79/mach-dlan-hotspot.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-dlan-hotspot.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-dlan-hotspot.c 2015-12-04 18:27:35.457807850 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-dlan-hotspot.c linux-4.1.43/arch/mips/ath79/mach-dlan-hotspot.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-dlan-hotspot.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-dlan-hotspot.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,117 @@
+/*
+ * devolo dLAN Hotspot board support
@@ -10200,9 +10397,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dlan-hotspot.c linux-4.1.13/arc
+
+MIPS_MACHINE(ATH79_MACH_DLAN_HOTSPOT, "dLAN-Hotspot",
+ "dLAN Hotspot", dlan_hotspot_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dlan-pro-1200-ac.c linux-4.1.13/arch/mips/ath79/mach-dlan-pro-1200-ac.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-dlan-pro-1200-ac.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-dlan-pro-1200-ac.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-dlan-pro-1200-ac.c linux-4.1.43/arch/mips/ath79/mach-dlan-pro-1200-ac.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-dlan-pro-1200-ac.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-dlan-pro-1200-ac.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,189 @@
+/*
+ * devolo dLAN pro 500 Wireless+ support
@@ -10393,9 +10590,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dlan-pro-1200-ac.c linux-4.1.13
+
+MIPS_MACHINE(ATH79_MACH_DLAN_PRO_1200_AC, "dLAN-pro-1200-ac", "devolo dLAN pro 1200+ WiFi ac",
+ dlan_pro_1200_ac_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dlan-pro-500-wp.c linux-4.1.13/arch/mips/ath79/mach-dlan-pro-500-wp.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-dlan-pro-500-wp.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-dlan-pro-500-wp.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-dlan-pro-500-wp.c linux-4.1.43/arch/mips/ath79/mach-dlan-pro-500-wp.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-dlan-pro-500-wp.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-dlan-pro-500-wp.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,203 @@
+/*
+ * devolo dLAN pro 500 Wireless+ support
@@ -10600,9 +10797,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dlan-pro-500-wp.c linux-4.1.13/
+
+MIPS_MACHINE(ATH79_MACH_DLAN_PRO_500_WP, "dLAN-pro-500-wp", "devolo dLAN pro 500 Wireless+",
+ dlan_pro_500_wp_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dragino2.c linux-4.1.13/arch/mips/ath79/mach-dragino2.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-dragino2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-dragino2.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-dragino2.c linux-4.1.43/arch/mips/ath79/mach-dragino2.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-dragino2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-dragino2.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,136 @@
+/*
+ * DRAGINO V2 board support, based on Atheros AP121 board support
@@ -10740,9 +10937,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-dragino2.c linux-4.1.13/arch/mi
+MIPS_MACHINE(ATH79_MACH_DRAGINO2, "DRAGINO2", "Dragino Dragino v2",
+ dragino2_setup);
+
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-eap300v2.c linux-4.1.13/arch/mips/ath79/mach-eap300v2.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-eap300v2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-eap300v2.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-eap300v2.c linux-4.1.43/arch/mips/ath79/mach-eap300v2.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-eap300v2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-eap300v2.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,101 @@
+/*
+ * EnGenius EAP300 v2 board support
@@ -10845,9 +11042,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-eap300v2.c linux-4.1.13/arch/mi
+
+MIPS_MACHINE(ATH79_MACH_EAP300V2, "EAP300V2", "EnGenius EAP300 v2",
+ eap300v2_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-eap7660d.c linux-4.1.13/arch/mips/ath79/mach-eap7660d.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-eap7660d.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-eap7660d.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-eap7660d.c linux-4.1.43/arch/mips/ath79/mach-eap7660d.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-eap7660d.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-eap7660d.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,181 @@
+/*
+ * Senao EAP7660D board support
@@ -11030,9 +11227,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-eap7660d.c linux-4.1.13/arch/mi
+
+MIPS_MACHINE(ATH79_MACH_ALL0305, "ALL0305", "Allnet ALL0305",
+ eap7660d_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-el-m150.c linux-4.1.13/arch/mips/ath79/mach-el-m150.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-el-m150.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-el-m150.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-el-m150.c linux-4.1.43/arch/mips/ath79/mach-el-m150.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-el-m150.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-el-m150.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,112 @@
+/*
+ * Easy-Link EL-M150 board support
@@ -11146,9 +11343,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-el-m150.c linux-4.1.13/arch/mip
+
+MIPS_MACHINE(ATH79_MACH_EL_M150, "EL-M150",
+ "EasyLink EL-M150", el_m150_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-el-mini.c linux-4.1.13/arch/mips/ath79/mach-el-mini.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-el-mini.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-el-mini.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-el-mini.c linux-4.1.43/arch/mips/ath79/mach-el-mini.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-el-mini.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-el-mini.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,86 @@
+/*
+ * Easy-Link EL-MINI board support
@@ -11236,9 +11433,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-el-mini.c linux-4.1.13/arch/mip
+
+MIPS_MACHINE(ATH79_MACH_EL_MINI, "EL-MINI", "EasyLink EL-MINI",
+ el_mini_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-epg5000.c linux-4.1.13/arch/mips/ath79/mach-epg5000.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-epg5000.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-epg5000.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-epg5000.c linux-4.1.43/arch/mips/ath79/mach-epg5000.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-epg5000.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-epg5000.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,178 @@
+/*
+ * EnGenius EPG5000 board support
@@ -11418,9 +11615,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-epg5000.c linux-4.1.13/arch/mip
+MIPS_MACHINE(ATH79_MACH_EPG5000, "EPG5000",
+ "EnGenius EPG5000",
+ epg5000_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-esr1750.c linux-4.1.13/arch/mips/ath79/mach-esr1750.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-esr1750.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-esr1750.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-esr1750.c linux-4.1.43/arch/mips/ath79/mach-esr1750.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-esr1750.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-esr1750.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,177 @@
+/*
+ * EnGenius ESR1750 board support
@@ -11599,9 +11796,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-esr1750.c linux-4.1.13/arch/mip
+MIPS_MACHINE(ATH79_MACH_ESR1750, "ESR1750",
+ "EnGenius ESR1750",
+ esr1750_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-esr900.c linux-4.1.13/arch/mips/ath79/mach-esr900.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-esr900.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-esr900.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-esr900.c linux-4.1.43/arch/mips/ath79/mach-esr900.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-esr900.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-esr900.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,200 @@
+/*
+ * EnGenius ESR900 board support
@@ -11803,9 +12000,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-esr900.c linux-4.1.13/arch/mips
+
+MIPS_MACHINE(ATH79_MACH_ESR900, "ESR900", "EnGenius ESR900", esr900_setup);
+
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ew-dorin.c linux-4.1.13/arch/mips/ath79/mach-ew-dorin.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-ew-dorin.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-ew-dorin.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-ew-dorin.c linux-4.1.43/arch/mips/ath79/mach-ew-dorin.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-ew-dorin.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-ew-dorin.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,150 @@
+/*
+ * EW Dorin board support
@@ -11957,9 +12154,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ew-dorin.c linux-4.1.13/arch/mi
+
+MIPS_MACHINE(ATH79_MACH_EW_DORIN_ROUTER, "EW-DORIN-ROUTER",
+ "EmbWir-Dorin-Router", ew_dorin_router_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-f9k1115v2.c linux-4.1.13/arch/mips/ath79/mach-f9k1115v2.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-f9k1115v2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-f9k1115v2.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-f9k1115v2.c linux-4.1.43/arch/mips/ath79/mach-f9k1115v2.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-f9k1115v2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-f9k1115v2.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,190 @@
+/*
+ * Belkin AC1750DB (F9K1115V2) board support
@@ -12151,9 +12348,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-f9k1115v2.c linux-4.1.13/arch/m
+
+MIPS_MACHINE(ATH79_MACH_F9K1115V2, "F9K1115V2", "Belkin AC1750DB",
+ f9k1115v2_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-gl-ar150.c linux-4.1.13/arch/mips/ath79/mach-gl-ar150.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-gl-ar150.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-gl-ar150.c 2015-12-04 18:27:35.461807609 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-gl-ar150.c linux-4.1.43/arch/mips/ath79/mach-gl-ar150.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-gl-ar150.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-gl-ar150.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,125 @@
+/*
+ * GL_ar150 board support
@@ -12280,9 +12477,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-gl-ar150.c linux-4.1.13/arch/mi
+}
+
+MIPS_MACHINE(ATH79_MACH_GL_AR150, "GL-AR150", "GL AR150",gl_ar150_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-gl-ar300.c linux-4.1.13/arch/mips/ath79/mach-gl-ar300.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-gl-ar300.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-gl-ar300.c 2015-12-04 18:27:35.461807609 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-gl-ar300.c linux-4.1.43/arch/mips/ath79/mach-gl-ar300.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-gl-ar300.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-gl-ar300.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,103 @@
+/*
+ * Domino board support
@@ -12387,9 +12584,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-gl-ar300.c linux-4.1.13/arch/mi
+}
+
+MIPS_MACHINE(ATH79_MACH_GL_AR300, "GL-AR300", "GL AR300",gl_ar300_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-gl-domino.c linux-4.1.13/arch/mips/ath79/mach-gl-domino.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-gl-domino.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-gl-domino.c 2015-12-04 18:27:35.461807609 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-gl-domino.c linux-4.1.43/arch/mips/ath79/mach-gl-domino.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-gl-domino.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-gl-domino.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,136 @@
+/*
+ * Domino board support
@@ -12527,9 +12724,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-gl-domino.c linux-4.1.13/arch/m
+}
+
+MIPS_MACHINE(ATH79_MACH_GL_DOMINO, "DOMINO", "Domino Pi", domino_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-gl-inet.c linux-4.1.13/arch/mips/ath79/mach-gl-inet.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-gl-inet.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-gl-inet.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-gl-inet.c linux-4.1.43/arch/mips/ath79/mach-gl-inet.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-gl-inet.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-gl-inet.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,104 @@
+/*
+ * GL-CONNECT iNet board support
@@ -12635,9 +12832,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-gl-inet.c linux-4.1.13/arch/mip
+
+MIPS_MACHINE(ATH79_MACH_GL_INET, "GL-INET", "GL-CONNECT INET v1",
+ gl_inet_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-gs-minibox-v1.c linux-4.1.13/arch/mips/ath79/mach-gs-minibox-v1.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-gs-minibox-v1.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-gs-minibox-v1.c 2015-11-21 17:22:11.759223549 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-gs-minibox-v1.c linux-4.1.43/arch/mips/ath79/mach-gs-minibox-v1.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-gs-minibox-v1.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-gs-minibox-v1.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,85 @@
+/*
+ * Gainstrong MiniBox V1.0 board support
@@ -12724,9 +12921,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-gs-minibox-v1.c linux-4.1.13/ar
+
+MIPS_MACHINE(ATH79_MACH_GS_MINIBOX_V1, "MINIBOX-V1",
+ "MiniBox V1.0", gs_minibox_v1_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-gs-oolite.c linux-4.1.13/arch/mips/ath79/mach-gs-oolite.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-gs-oolite.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-gs-oolite.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-gs-oolite.c linux-4.1.43/arch/mips/ath79/mach-gs-oolite.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-gs-oolite.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-gs-oolite.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,103 @@
+/*
+ * Oolite board support
@@ -12831,9 +13028,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-gs-oolite.c linux-4.1.13/arch/m
+
+MIPS_MACHINE(ATH79_MACH_GS_OOLITE, "GS-OOLITE",
+ "Oolite V1.0", gs_oolite_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-hiwifi-hc6361.c linux-4.1.13/arch/mips/ath79/mach-hiwifi-hc6361.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-hiwifi-hc6361.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-hiwifi-hc6361.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-hiwifi-hc6361.c linux-4.1.43/arch/mips/ath79/mach-hiwifi-hc6361.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-hiwifi-hc6361.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-hiwifi-hc6361.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,115 @@
+/*
+ * HiWiFi HC6361 board support
@@ -12950,9 +13147,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-hiwifi-hc6361.c linux-4.1.13/ar
+
+MIPS_MACHINE(ATH79_MACH_HIWIFI_HC6361, "HiWiFi-HC6361",
+ "HiWiFi HC6361", hiwifi_hc6361_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-hornet-ub.c linux-4.1.13/arch/mips/ath79/mach-hornet-ub.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-hornet-ub.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-hornet-ub.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-hornet-ub.c linux-4.1.43/arch/mips/ath79/mach-hornet-ub.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-hornet-ub.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-hornet-ub.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,142 @@
+/*
+ * ALFA NETWORK Hornet-UB board support
@@ -13096,9 +13293,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-hornet-ub.c linux-4.1.13/arch/m
+
+MIPS_MACHINE(ATH79_MACH_HORNET_UB, "HORNET-UB", "ALFA NETWORK Hornet-UB",
+ hornet_ub_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ja76pf.c linux-4.1.13/arch/mips/ath79/mach-ja76pf.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-ja76pf.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-ja76pf.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-ja76pf.c linux-4.1.43/arch/mips/ath79/mach-ja76pf.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-ja76pf.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-ja76pf.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,190 @@
+/*
+ * jjPlus JA76PF board support
@@ -13290,9 +13487,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ja76pf.c linux-4.1.13/arch/mips
+}
+
+MIPS_MACHINE(ATH79_MACH_JA76PF2, "JA76PF2", "jjPlus JA76PF2", ja76pf2_init);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-jwap003.c linux-4.1.13/arch/mips/ath79/mach-jwap003.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-jwap003.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-jwap003.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-jwap003.c linux-4.1.43/arch/mips/ath79/mach-jwap003.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-jwap003.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-jwap003.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,95 @@
+/*
+ * jjPlus JWAP003 board support
@@ -13389,9 +13586,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-jwap003.c linux-4.1.13/arch/mip
+}
+
+MIPS_MACHINE(ATH79_MACH_JWAP003, "JWAP003", "jjPlus JWAP003", jwap003_init);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mc-mac1200r.c linux-4.1.13/arch/mips/ath79/mach-mc-mac1200r.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-mc-mac1200r.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-mc-mac1200r.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-mc-mac1200r.c linux-4.1.43/arch/mips/ath79/mach-mc-mac1200r.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-mc-mac1200r.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-mc-mac1200r.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,155 @@
+/*
+ * MERCURY MAC1200R board support
@@ -13548,9 +13745,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mc-mac1200r.c linux-4.1.13/arch
+MIPS_MACHINE(ATH79_MACH_MC_MAC1200R, "MC-MAC1200R",
+ "MERCURY MAC1200R",
+ mac1200r_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mr12.c linux-4.1.13/arch/mips/ath79/mach-mr12.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-mr12.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-mr12.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-mr12.c linux-4.1.43/arch/mips/ath79/mach-mr12.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-mr12.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-mr12.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,115 @@
+/*
+ * Cisco Meraki MR12 board support
@@ -13668,9 +13865,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mr12.c linux-4.1.13/arch/mips/a
+
+MIPS_MACHINE(ATH79_MACH_MR12, "MR12", "Meraki MR12", MR12_setup);
\ No newline at end of file
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mr16.c linux-4.1.13/arch/mips/ath79/mach-mr16.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-mr16.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-mr16.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-mr16.c linux-4.1.43/arch/mips/ath79/mach-mr16.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-mr16.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-mr16.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,118 @@
+/*
+ * Cisco Meraki MR16 board support
@@ -13791,9 +13988,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mr16.c linux-4.1.13/arch/mips/a
+
+MIPS_MACHINE(ATH79_MACH_MR16, "MR16", "Meraki MR16", MR16_setup);
\ No newline at end of file
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mr1750.c linux-4.1.13/arch/mips/ath79/mach-mr1750.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-mr1750.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-mr1750.c 2015-11-21 17:22:11.759223549 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-mr1750.c linux-4.1.43/arch/mips/ath79/mach-mr1750.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-mr1750.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-mr1750.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,129 @@
+/*
+ * MR1750 board support
@@ -13924,9 +14121,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mr1750.c linux-4.1.13/arch/mips
+}
+
+MIPS_MACHINE(ATH79_MACH_MR1750, "MR1750", "OpenMesh MR1750", mr1750_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mr600.c linux-4.1.13/arch/mips/ath79/mach-mr600.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-mr600.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-mr600.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-mr600.c linux-4.1.43/arch/mips/ath79/mach-mr600.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-mr600.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-mr600.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,177 @@
+/*
+ * OpenMesh OM2P board support
@@ -14105,9 +14302,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mr600.c linux-4.1.13/arch/mips/
+}
+
+MIPS_MACHINE(ATH79_MACH_MR600V2, "MR600v2", "OpenMesh MR600v2", mr600v2_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mr900.c linux-4.1.13/arch/mips/ath79/mach-mr900.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-mr900.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-mr900.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-mr900.c linux-4.1.43/arch/mips/ath79/mach-mr900.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-mr900.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-mr900.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,140 @@
+/*
+ * MR900 board support
@@ -14249,9 +14446,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mr900.c linux-4.1.13/arch/mips/
+
+MIPS_MACHINE(ATH79_MACH_MR900, "MR900", "OpenMesh MR900", mr900_setup);
+MIPS_MACHINE(ATH79_MACH_MR900v2, "MR900v2", "OpenMesh MR900v2", mr900_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mynet-n600.c linux-4.1.13/arch/mips/ath79/mach-mynet-n600.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-mynet-n600.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-mynet-n600.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-mynet-n600.c linux-4.1.43/arch/mips/ath79/mach-mynet-n600.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-mynet-n600.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-mynet-n600.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,202 @@
+/*
+ * WD My Net N600 board support
@@ -14455,9 +14652,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mynet-n600.c linux-4.1.13/arch/
+
+MIPS_MACHINE(ATH79_MACH_MYNET_N600, "MYNET-N600", "WD My Net N600",
+ mynet_n600_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mynet-n750.c linux-4.1.13/arch/mips/ath79/mach-mynet-n750.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-mynet-n750.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-mynet-n750.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-mynet-n750.c linux-4.1.43/arch/mips/ath79/mach-mynet-n750.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-mynet-n750.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-mynet-n750.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,226 @@
+/*
+ * WD My Net N750 board support
@@ -14685,9 +14882,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mynet-n750.c linux-4.1.13/arch/
+
+MIPS_MACHINE(ATH79_MACH_MYNET_N750, "MYNET-N750", "WD My Net N750",
+ mynet_n750_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mynet-rext.c linux-4.1.13/arch/mips/ath79/mach-mynet-rext.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-mynet-rext.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-mynet-rext.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-mynet-rext.c linux-4.1.43/arch/mips/ath79/mach-mynet-rext.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-mynet-rext.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-mynet-rext.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,208 @@
+/*
+ * WD My Net WI-FI Range Extender (Codename:Starfish db12x) board support
@@ -14897,9 +15094,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mynet-rext.c linux-4.1.13/arch/
+
+MIPS_MACHINE(ATH79_MACH_MYNET_REXT, "MYNET-REXT",
+ "WD My Net Wi-Fi Range Extender", mynet_rext_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mzk-w04nu.c linux-4.1.13/arch/mips/ath79/mach-mzk-w04nu.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-mzk-w04nu.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-mzk-w04nu.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-mzk-w04nu.c linux-4.1.43/arch/mips/ath79/mach-mzk-w04nu.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-mzk-w04nu.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-mzk-w04nu.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,124 @@
+/*
+ * Planex MZK-W04NU board support
@@ -15025,9 +15222,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mzk-w04nu.c linux-4.1.13/arch/m
+
+MIPS_MACHINE(ATH79_MACH_MZK_W04NU, "MZK-W04NU", "Planex MZK-W04NU",
+ mzk_w04nu_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mzk-w300nh.c linux-4.1.13/arch/mips/ath79/mach-mzk-w300nh.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-mzk-w300nh.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-mzk-w300nh.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-mzk-w300nh.c linux-4.1.43/arch/mips/ath79/mach-mzk-w300nh.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-mzk-w300nh.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-mzk-w300nh.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,115 @@
+/*
+ * Planex MZK-W300NH board support
@@ -15144,9 +15341,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-mzk-w300nh.c linux-4.1.13/arch/
+
+MIPS_MACHINE(ATH79_MACH_MZK_W300NH, "MZK-W300NH", "Planex MZK-W300NH",
+ mzk_w300nh_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-nbg460n.c linux-4.1.13/arch/mips/ath79/mach-nbg460n.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-nbg460n.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-nbg460n.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-nbg460n.c linux-4.1.43/arch/mips/ath79/mach-nbg460n.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-nbg460n.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-nbg460n.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,220 @@
+/*
+ * Zyxel NBG 460N/550N/550NH board support
@@ -15368,9 +15565,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-nbg460n.c linux-4.1.13/arch/mip
+
+MIPS_MACHINE(ATH79_MACH_NBG460N, "NBG460N", "Zyxel NBG460N/550N/550NH",
+ nbg460n_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-nbg6716.c linux-4.1.13/arch/mips/ath79/mach-nbg6716.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-nbg6716.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-nbg6716.c 2015-11-21 17:22:11.759223549 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-nbg6716.c linux-4.1.43/arch/mips/ath79/mach-nbg6716.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-nbg6716.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-nbg6716.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,381 @@
+/*
+ * ZyXEL NBG6716/NBG6616 board support
@@ -15753,9 +15950,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-nbg6716.c linux-4.1.13/arch/mip
+ "Zyxel NBG6616",
+ nbg6616_010_setup);
+
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-om2p.c linux-4.1.13/arch/mips/ath79/mach-om2p.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-om2p.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-om2p.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-om2p.c linux-4.1.43/arch/mips/ath79/mach-om2p.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-om2p.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-om2p.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,225 @@
+/*
+ * OpenMesh OM2P support
@@ -15982,9 +16179,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-om2p.c linux-4.1.13/arch/mips/a
+
+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);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-om5p.c linux-4.1.13/arch/mips/ath79/mach-om5p.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-om5p.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-om5p.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-om5p.c linux-4.1.43/arch/mips/ath79/mach-om5p.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-om5p.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-om5p.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,218 @@
+/*
+ * OpenMesh OM5P support
@@ -16204,9 +16401,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-om5p.c linux-4.1.13/arch/mips/a
+}
+
+MIPS_MACHINE(ATH79_MACH_OM5P_AN, "OM5P-AN", "OpenMesh OM5P AN", om5p_an_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-onion-omega.c linux-4.1.13/arch/mips/ath79/mach-onion-omega.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-onion-omega.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-onion-omega.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-onion-omega.c linux-4.1.43/arch/mips/ath79/mach-onion-omega.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-onion-omega.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-onion-omega.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,84 @@
+/*
+ * Onion Omega board support
@@ -16292,9 +16489,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-onion-omega.c linux-4.1.13/arch
+}
+
+MIPS_MACHINE(ATH79_MACH_ONION_OMEGA, "ONION-OMEGA", "Onion Omega", onion_omega_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-pb42.c linux-4.1.13/arch/mips/ath79/mach-pb42.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-pb42.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-pb42.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-pb42.c linux-4.1.43/arch/mips/ath79/mach-pb42.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-pb42.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-pb42.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,83 @@
+/*
+ * Atheros PB42 board support
@@ -16379,9 +16576,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-pb42.c linux-4.1.13/arch/mips/a
+}
+
+MIPS_MACHINE(ATH79_MACH_PB42, "PB42", "Atheros PB42", pb42_init);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-pb44.c linux-4.1.13/arch/mips/ath79/mach-pb44.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-pb44.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-pb44.c 2015-12-04 19:57:04.334081334 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-pb44.c linux-4.1.43/arch/mips/ath79/mach-pb44.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-pb44.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/mach-pb44.c 2017-08-06 20:02:15.000000000 +0200
@@ -8,23 +8,48 @@
* by the Free Software Foundation.
*/
@@ -16528,9 +16725,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-pb44.c linux-4.1.13/arch/mips/a
}
MIPS_MACHINE(ATH79_MACH_PB44, "PB44", "Atheros PB44 reference board",
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-pb92.c linux-4.1.13/arch/mips/ath79/mach-pb92.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-pb92.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-pb92.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-pb92.c linux-4.1.43/arch/mips/ath79/mach-pb92.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-pb92.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-pb92.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,70 @@
+/*
+ * Atheros PB92 board support
@@ -16602,9 +16799,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-pb92.c linux-4.1.13/arch/mips/a
+}
+
+MIPS_MACHINE(ATH79_MACH_PB92, "PB92", "Atheros PB92", pb92_init);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-qihoo-c301.c linux-4.1.13/arch/mips/ath79/mach-qihoo-c301.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-qihoo-c301.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-qihoo-c301.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-qihoo-c301.c linux-4.1.43/arch/mips/ath79/mach-qihoo-c301.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-qihoo-c301.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-qihoo-c301.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,166 @@
+/*
+ * Qihoo 360 C301 board support
@@ -16772,9 +16969,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-qihoo-c301.c linux-4.1.13/arch/
+
+MIPS_MACHINE(ATH79_MACH_QIHOO_C301, "QIHOO-C301", "Qihoo 360 C301",
+ qihoo_c301_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-r6100.c linux-4.1.13/arch/mips/ath79/mach-r6100.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-r6100.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-r6100.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-r6100.c linux-4.1.43/arch/mips/ath79/mach-r6100.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-r6100.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-r6100.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,146 @@
+/*
+ * NETGEAR R6100 board support
@@ -16922,9 +17119,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-r6100.c linux-4.1.13/arch/mips/
+
+MIPS_MACHINE(ATH79_MACH_R6100, "R6100", "NETGEAR R6100",
+ r6100_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-rb2011.c linux-4.1.13/arch/mips/ath79/mach-rb2011.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-rb2011.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-rb2011.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-rb2011.c linux-4.1.43/arch/mips/ath79/mach-rb2011.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-rb2011.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-rb2011.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,338 @@
+/*
+ * MikroTik RouterBOARD 2011 support
@@ -17264,9 +17461,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-rb2011.c linux-4.1.13/arch/mips
+}
+
+MIPS_MACHINE_NONAME(ATH79_MACH_RB_2011G, "2011G", rb2011g_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-rb4xx.c linux-4.1.13/arch/mips/ath79/mach-rb4xx.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-rb4xx.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-rb4xx.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-rb4xx.c linux-4.1.43/arch/mips/ath79/mach-rb4xx.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-rb4xx.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-rb4xx.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,465 @@
+/*
+ * MikroTik RouterBOARD 4xx series support
@@ -17733,9 +17930,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-rb4xx.c linux-4.1.13/arch/mips/
+
+MIPS_MACHINE(ATH79_MACH_RB_493G, "493G", "MikroTik RouterBOARD 493G",
+ rb493g_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-rb750.c linux-4.1.13/arch/mips/ath79/mach-rb750.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-rb750.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-rb750.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-rb750.c linux-4.1.43/arch/mips/ath79/mach-rb750.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-rb750.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-rb750.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,346 @@
+/*
+ * MikroTik RouterBOARD 750/750GL support
@@ -18083,9 +18280,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-rb750.c linux-4.1.13/arch/mips/
+
+MIPS_MACHINE(ATH79_MACH_RB_751G, "751g", "MikroTik RouterBOARD 751G",
+ rb751g_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-rb91x.c linux-4.1.13/arch/mips/ath79/mach-rb91x.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-rb91x.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-rb91x.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-rb91x.c linux-4.1.43/arch/mips/ath79/mach-rb91x.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-rb91x.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-rb91x.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,349 @@
+/*
+ * MikroTik RouterBOARD 91X support
@@ -18436,9 +18633,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-rb91x.c linux-4.1.13/arch/mips/
+}
+
+MIPS_MACHINE_NONAME(ATH79_MACH_RB_711GR100, "711Gr100", rb711gr100_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-rb922.c linux-4.1.13/arch/mips/ath79/mach-rb922.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-rb922.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-rb922.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-rb922.c linux-4.1.43/arch/mips/ath79/mach-rb922.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-rb922.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-rb922.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,236 @@
+/*
+ * MikroTik RouterBOARD 91X support
@@ -18676,9 +18873,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-rb922.c linux-4.1.13/arch/mips/
+}
+
+MIPS_MACHINE_NONAME(ATH79_MACH_RB_922GS, "922gs", rb922gs_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-rb95x.c linux-4.1.13/arch/mips/ath79/mach-rb95x.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-rb95x.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-rb95x.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-rb95x.c linux-4.1.43/arch/mips/ath79/mach-rb95x.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-rb95x.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-rb95x.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,258 @@
+/*
+ * MikroTik RouterBOARD 95X support
@@ -18938,9 +19135,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-rb95x.c linux-4.1.13/arch/mips/
+
+MIPS_MACHINE(ATH79_MACH_RB_951U, "951HnD", "MikroTik RouterBOARD 951Ui-2HnD",
+ rb951ui_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-rbsxtlite.c linux-4.1.13/arch/mips/ath79/mach-rbsxtlite.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-rbsxtlite.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-rbsxtlite.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-rbsxtlite.c linux-4.1.43/arch/mips/ath79/mach-rbsxtlite.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-rbsxtlite.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-rbsxtlite.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,238 @@
+/*
+ * MikroTik RouterBOARD SXT Lite support
@@ -19180,9 +19377,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-rbsxtlite.c linux-4.1.13/arch/m
+MIPS_MACHINE(ATH79_MACH_RB_SXTLITE5ND, "sxt5n", "Mikrotik RouterBOARD SXT Lite5",
+ rbsxtlite_setup);
+
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-rw2458n.c linux-4.1.13/arch/mips/ath79/mach-rw2458n.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-rw2458n.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-rw2458n.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-rw2458n.c linux-4.1.43/arch/mips/ath79/mach-rw2458n.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-rw2458n.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-rw2458n.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,91 @@
+/*
+ * Redwave RW2458N support
@@ -19275,9 +19472,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-rw2458n.c linux-4.1.13/arch/mip
+
+MIPS_MACHINE(ATH79_MACH_RW2458N, "RW2458N", "Redwave RW2458N",
+ rw2458n_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-smart-300.c linux-4.1.13/arch/mips/ath79/mach-smart-300.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-smart-300.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-smart-300.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-smart-300.c linux-4.1.43/arch/mips/ath79/mach-smart-300.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-smart-300.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-smart-300.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,135 @@
+/*
+ * NC-LINK SMART-300 board support
@@ -19414,9 +19611,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-smart-300.c linux-4.1.13/arch/m
+
+MIPS_MACHINE(ATH79_MACH_SMART_300, "SMART-300", "NC-LINK SMART-300",
+ smart_300_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tew-632brp.c linux-4.1.13/arch/mips/ath79/mach-tew-632brp.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tew-632brp.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tew-632brp.c 2015-09-13 20:04:35.068524086 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tew-632brp.c linux-4.1.43/arch/mips/ath79/mach-tew-632brp.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tew-632brp.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tew-632brp.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,111 @@
+/*
+ * TrendNET TEW-632BRP board support
@@ -19529,9 +19726,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tew-632brp.c linux-4.1.13/arch/
+
+MIPS_MACHINE(ATH79_MACH_TEW_632BRP, "TEW-632BRP", "TRENDnet TEW-632BRP",
+ tew_632brp_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tew-673gru.c linux-4.1.13/arch/mips/ath79/mach-tew-673gru.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tew-673gru.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tew-673gru.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tew-673gru.c linux-4.1.43/arch/mips/ath79/mach-tew-673gru.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tew-673gru.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tew-673gru.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,198 @@
+/*
+ * TRENDnet TEW-673GRU board support
@@ -19731,9 +19928,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tew-673gru.c linux-4.1.13/arch/
+
+MIPS_MACHINE(ATH79_MACH_TEW_673GRU, "TEW-673GRU", "TRENDnet TEW-673GRU",
+ tew673gru_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tew-712br.c linux-4.1.13/arch/mips/ath79/mach-tew-712br.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tew-712br.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tew-712br.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tew-712br.c linux-4.1.43/arch/mips/ath79/mach-tew-712br.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tew-712br.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tew-712br.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,153 @@
+/*
+ * TRENDnet TEW-712BR board support
@@ -19888,9 +20085,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tew-712br.c linux-4.1.13/arch/m
+
+MIPS_MACHINE(ATH79_MACH_TEW_712BR, "TEW-712BR",
+ "TRENDnet TEW-712BR", tew_712br_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tew-732br.c linux-4.1.13/arch/mips/ath79/mach-tew-732br.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tew-732br.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tew-732br.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tew-732br.c linux-4.1.43/arch/mips/ath79/mach-tew-732br.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tew-732br.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tew-732br.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,127 @@
+/*
+ * TRENDnet TEW-732BR board support
@@ -20019,9 +20216,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tew-732br.c linux-4.1.13/arch/m
+
+MIPS_MACHINE(ATH79_MACH_TEW_732BR, "TEW-732BR", "TRENDnet TEW-732BR",
+ tew_732br_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-mr11u.c linux-4.1.13/arch/mips/ath79/mach-tl-mr11u.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-mr11u.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-mr11u.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-mr11u.c linux-4.1.43/arch/mips/ath79/mach-tl-mr11u.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-mr11u.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-mr11u.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,183 @@
+/*
+ * TP-LINK TL-MR11U/TL-MR3040 board support
@@ -20206,9 +20403,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-mr11u.c linux-4.1.13/arch/mi
+
+MIPS_MACHINE(ATH79_MACH_TL_MR3040_V2, "TL-MR3040-v2", "TP-LINK TL-MR3040 v2",
+ tl_mr3040_v2_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-mr13u.c linux-4.1.13/arch/mips/ath79/mach-tl-mr13u.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-mr13u.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-mr13u.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-mr13u.c linux-4.1.43/arch/mips/ath79/mach-tl-mr13u.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-mr13u.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-mr13u.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,107 @@
+/*
+ * TP-LINK TL-MR13U board support
@@ -20317,9 +20514,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-mr13u.c linux-4.1.13/arch/mi
+
+MIPS_MACHINE(ATH79_MACH_TL_MR13U, "TL-MR13U", "TP-LINK TL-MR13U v1",
+ tl_mr13u_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-mr3020.c linux-4.1.13/arch/mips/ath79/mach-tl-mr3020.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-mr3020.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-mr3020.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-mr3020.c linux-4.1.43/arch/mips/ath79/mach-tl-mr3020.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-mr3020.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-mr3020.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,126 @@
+/*
+ * TP-LINK TL-MR3020 board support
@@ -20447,9 +20644,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-mr3020.c linux-4.1.13/arch/m
+
+MIPS_MACHINE(ATH79_MACH_TL_MR3020, "TL-MR3020", "TP-LINK TL-MR3020",
+ tl_mr3020_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-mr3x20.c linux-4.1.13/arch/mips/ath79/mach-tl-mr3x20.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-mr3x20.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-mr3x20.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-mr3x20.c linux-4.1.43/arch/mips/ath79/mach-tl-mr3x20.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-mr3x20.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-mr3x20.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,147 @@
+/*
+ * TP-LINK TL-MR3220/3420 board support
@@ -20598,9 +20795,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-mr3x20.c linux-4.1.13/arch/m
+
+MIPS_MACHINE(ATH79_MACH_TL_WR841N_V7, "TL-WR841N-v7",
+ "TP-LINK TL-WR841N/ND v7", tl_wr841n_v7_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wa701nd-v2.c linux-4.1.13/arch/mips/ath79/mach-tl-wa701nd-v2.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wa701nd-v2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wa701nd-v2.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wa701nd-v2.c linux-4.1.43/arch/mips/ath79/mach-tl-wa701nd-v2.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wa701nd-v2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wa701nd-v2.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,116 @@
+/*
+ * TP-LINK TL-WA701ND v2 board support
@@ -20718,9 +20915,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wa701nd-v2.c linux-4.1.13/ar
+
+MIPS_MACHINE(ATH79_MACH_TL_WA701ND_V2, "TL-WA701ND-v2",
+ "TP-LINK TL-WA701ND v2", tl_wa701ndv2_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wa7210n-v2.c linux-4.1.13/arch/mips/ath79/mach-tl-wa7210n-v2.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wa7210n-v2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wa7210n-v2.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wa7210n-v2.c linux-4.1.43/arch/mips/ath79/mach-tl-wa7210n-v2.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wa7210n-v2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wa7210n-v2.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,125 @@
+/*
+ * TP-LINK TL-WA7210N v2.1 board support
@@ -20847,9 +21044,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wa7210n-v2.c linux-4.1.13/ar
+
+MIPS_MACHINE(ATH79_MACH_TL_WA7210N_V2, "TL-WA7210N-v2", "TP-LINK TL-WA7210N v2",
+ tl_wa7210n_v2_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wa830re-v2.c linux-4.1.13/arch/mips/ath79/mach-tl-wa830re-v2.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wa830re-v2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wa830re-v2.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wa830re-v2.c linux-4.1.43/arch/mips/ath79/mach-tl-wa830re-v2.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wa830re-v2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wa830re-v2.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,132 @@
+/*
+ * TP-LINK TL-WA830RE v2 board support
@@ -20983,9 +21180,117 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wa830re-v2.c linux-4.1.13/ar
+
+MIPS_MACHINE(ATH79_MACH_TL_WA830RE_V2, "TL-WA830RE-v2", "TP-LINK TL-WA830RE v2",
+ tl_wa830re_v2_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wa901nd.c linux-4.1.13/arch/mips/ath79/mach-tl-wa901nd.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wa901nd.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wa901nd.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wa901nd-v2.c linux-4.1.43/arch/mips/ath79/mach-tl-wa901nd-v2.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wa901nd-v2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wa901nd-v2.c 2017-08-06 20:02:15.000000000 +0200
+@@ -0,0 +1,104 @@
++/*
++ * TP-LINK TL-WA901N/ND v2 board support
++ *
++ * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
++ * Copyright (C) 2010 Pieter Hollants <pieter@hollants.com>
++ * Copyright (C) 2011 Jonathan Bennett <jbscience87@gmail.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 <asm/mach-ath79/ath79.h>
++#include <asm/mach-ath79/ar71xx_regs.h>
++
++#include "dev-eth.h"
++#include "dev-m25p80.h"
++#include "dev-gpio-buttons.h"
++#include "dev-leds-gpio.h"
++#include "dev-wmac.h"
++#include "machtypes.h"
++
++#define TL_WA901ND_V2_GPIO_LED_QSS 4
++#define TL_WA901ND_V2_GPIO_LED_SYSTEM 2
++#define TL_WA901ND_V2_GPIO_LED_WLAN 9
++
++#define TL_WA901ND_V2_GPIO_BTN_RESET 3
++#define TL_WA901ND_V2_GPIO_BTN_QSS 7
++
++#define TL_WA901ND_V2_KEYS_POLL_INTERVAL 20 /* msecs */
++#define TL_WA901ND_V2_KEYS_DEBOUNCE_INTERVAL \
++ (3 * TL_WA901ND_V2_KEYS_POLL_INTERVAL)
++
++static const char *tl_wa901nd_v2_part_probes[] = {
++ "tp-link",
++ NULL,
++};
++
++static struct flash_platform_data tl_wa901nd_v2_flash_data = {
++ .part_probes = tl_wa901nd_v2_part_probes,
++};
++
++static struct gpio_led tl_wa901nd_v2_leds_gpio[] __initdata = {
++ {
++ .name = "tp-link:green:system",
++ .gpio = TL_WA901ND_V2_GPIO_LED_SYSTEM,
++ .active_low = 1,
++ }, {
++ .name = "tp-link:green:qss",
++ .gpio = TL_WA901ND_V2_GPIO_LED_QSS,
++ }, {
++ .name = "tp-link:green:wlan",
++ .gpio = TL_WA901ND_V2_GPIO_LED_WLAN,
++ .active_low = 1,
++ }
++};
++
++static struct gpio_keys_button tl_wa901nd_v2_gpio_keys[] __initdata = {
++ {
++ .desc = "reset",
++ .type = EV_KEY,
++ .code = KEY_RESTART,
++ .debounce_interval = TL_WA901ND_V2_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = TL_WA901ND_V2_GPIO_BTN_RESET,
++ .active_low = 1,
++ }, {
++ .desc = "qss",
++ .type = EV_KEY,
++ .code = KEY_WPS_BUTTON,
++ .debounce_interval = TL_WA901ND_V2_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = TL_WA901ND_V2_GPIO_BTN_QSS,
++ .active_low = 1,
++ }
++};
++
++static void __init tl_wa901nd_v2_setup(void)
++{
++ u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
++ u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
++
++ ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
++
++ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
++ ath79_eth0_data.phy_mask = 0x00001000;
++ ath79_register_mdio(0, 0x0);
++
++ ath79_eth0_data.reset_bit = AR71XX_RESET_GE0_MAC |
++ AR71XX_RESET_GE0_PHY;
++ ath79_register_eth(0);
++
++ ath79_register_m25p80(&tl_wa901nd_v2_flash_data);
++
++ ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa901nd_v2_leds_gpio),
++ tl_wa901nd_v2_leds_gpio);
++
++ ath79_register_gpio_keys_polled(-1, TL_WA901ND_V2_KEYS_POLL_INTERVAL,
++ ARRAY_SIZE(tl_wa901nd_v2_gpio_keys),
++ tl_wa901nd_v2_gpio_keys);
++
++ ath79_register_wmac(eeprom, mac);
++}
++
++MIPS_MACHINE(ATH79_MACH_TL_WA901ND_V2, "TL-WA901ND-v2",
++ "TP-LINK TL-WA901ND v2", tl_wa901nd_v2_setup);
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wa901nd.c linux-4.1.43/arch/mips/ath79/mach-tl-wa901nd.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wa901nd.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wa901nd.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,127 @@
+/*
+ * TP-LINK TL-WA901N/ND v1, TL-WA7510N v1 board support
@@ -21114,117 +21419,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wa901nd.c linux-4.1.13/arch/
+
+MIPS_MACHINE(ATH79_MACH_TL_WA7510N_V1, "TL-WA7510N", "TP-LINK TL-WA7510N v1",
+ tl_wa7510n_v1_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wa901nd-v2.c linux-4.1.13/arch/mips/ath79/mach-tl-wa901nd-v2.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wa901nd-v2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wa901nd-v2.c 2015-09-13 20:04:35.072523889 +0200
-@@ -0,0 +1,104 @@
-+/*
-+ * TP-LINK TL-WA901N/ND v2 board support
-+ *
-+ * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
-+ * Copyright (C) 2010 Pieter Hollants <pieter@hollants.com>
-+ * Copyright (C) 2011 Jonathan Bennett <jbscience87@gmail.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 <asm/mach-ath79/ath79.h>
-+#include <asm/mach-ath79/ar71xx_regs.h>
-+
-+#include "dev-eth.h"
-+#include "dev-m25p80.h"
-+#include "dev-gpio-buttons.h"
-+#include "dev-leds-gpio.h"
-+#include "dev-wmac.h"
-+#include "machtypes.h"
-+
-+#define TL_WA901ND_V2_GPIO_LED_QSS 4
-+#define TL_WA901ND_V2_GPIO_LED_SYSTEM 2
-+#define TL_WA901ND_V2_GPIO_LED_WLAN 9
-+
-+#define TL_WA901ND_V2_GPIO_BTN_RESET 3
-+#define TL_WA901ND_V2_GPIO_BTN_QSS 7
-+
-+#define TL_WA901ND_V2_KEYS_POLL_INTERVAL 20 /* msecs */
-+#define TL_WA901ND_V2_KEYS_DEBOUNCE_INTERVAL \
-+ (3 * TL_WA901ND_V2_KEYS_POLL_INTERVAL)
-+
-+static const char *tl_wa901nd_v2_part_probes[] = {
-+ "tp-link",
-+ NULL,
-+};
-+
-+static struct flash_platform_data tl_wa901nd_v2_flash_data = {
-+ .part_probes = tl_wa901nd_v2_part_probes,
-+};
-+
-+static struct gpio_led tl_wa901nd_v2_leds_gpio[] __initdata = {
-+ {
-+ .name = "tp-link:green:system",
-+ .gpio = TL_WA901ND_V2_GPIO_LED_SYSTEM,
-+ .active_low = 1,
-+ }, {
-+ .name = "tp-link:green:qss",
-+ .gpio = TL_WA901ND_V2_GPIO_LED_QSS,
-+ }, {
-+ .name = "tp-link:green:wlan",
-+ .gpio = TL_WA901ND_V2_GPIO_LED_WLAN,
-+ .active_low = 1,
-+ }
-+};
-+
-+static struct gpio_keys_button tl_wa901nd_v2_gpio_keys[] __initdata = {
-+ {
-+ .desc = "reset",
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = TL_WA901ND_V2_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = TL_WA901ND_V2_GPIO_BTN_RESET,
-+ .active_low = 1,
-+ }, {
-+ .desc = "qss",
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = TL_WA901ND_V2_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = TL_WA901ND_V2_GPIO_BTN_QSS,
-+ .active_low = 1,
-+ }
-+};
-+
-+static void __init tl_wa901nd_v2_setup(void)
-+{
-+ u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
-+ u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
-+
-+ ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
-+
-+ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
-+ ath79_eth0_data.phy_mask = 0x00001000;
-+ ath79_register_mdio(0, 0x0);
-+
-+ ath79_eth0_data.reset_bit = AR71XX_RESET_GE0_MAC |
-+ AR71XX_RESET_GE0_PHY;
-+ ath79_register_eth(0);
-+
-+ ath79_register_m25p80(&tl_wa901nd_v2_flash_data);
-+
-+ ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa901nd_v2_leds_gpio),
-+ tl_wa901nd_v2_leds_gpio);
-+
-+ ath79_register_gpio_keys_polled(-1, TL_WA901ND_V2_KEYS_POLL_INTERVAL,
-+ ARRAY_SIZE(tl_wa901nd_v2_gpio_keys),
-+ tl_wa901nd_v2_gpio_keys);
-+
-+ ath79_register_wmac(eeprom, mac);
-+}
-+
-+MIPS_MACHINE(ATH79_MACH_TL_WA901ND_V2, "TL-WA901ND-v2",
-+ "TP-LINK TL-WA901ND v2", tl_wa901nd_v2_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wax50re.c linux-4.1.13/arch/mips/ath79/mach-tl-wax50re.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wax50re.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wax50re.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wax50re.c linux-4.1.43/arch/mips/ath79/mach-tl-wax50re.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wax50re.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wax50re.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,313 @@
+/*
+ * TP-LINK TL-WA750RE v1/TL-WA801ND v2/TL-WA850RE v1/TL-WA901ND v3
@@ -21539,9 +21736,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wax50re.c linux-4.1.13/arch/
+
+MIPS_MACHINE(ATH79_MACH_TL_WA901ND_V3, "TL-WA901ND-v3", "TP-LINK TL-WA901ND v3",
+ tl_wa901nd_v3_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wdr3320-v2.c linux-4.1.13/arch/mips/ath79/mach-tl-wdr3320-v2.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wdr3320-v2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wdr3320-v2.c 2015-11-21 17:22:11.759223549 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wdr3320-v2.c linux-4.1.43/arch/mips/ath79/mach-tl-wdr3320-v2.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wdr3320-v2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wdr3320-v2.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,146 @@
+/*
+ * TP-LINK TL-WDR3320 v2 board support
@@ -21689,9 +21886,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wdr3320-v2.c linux-4.1.13/ar
+MIPS_MACHINE(ATH79_MACH_TL_WDR3320_V2, "TL-WDR3320-v2",
+ "TP-LINK TL-WDR3320 v2",
+ wdr3320_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wdr3500.c linux-4.1.13/arch/mips/ath79/mach-tl-wdr3500.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wdr3500.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wdr3500.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wdr3500.c linux-4.1.43/arch/mips/ath79/mach-tl-wdr3500.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wdr3500.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wdr3500.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,169 @@
+/*
+ * TP-LINK TL-WDR3500 board support
@@ -21862,9 +22059,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wdr3500.c linux-4.1.13/arch/
+MIPS_MACHINE(ATH79_MACH_TL_WDR3500, "TL-WDR3500",
+ "TP-LINK TL-WDR3500",
+ wdr3500_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wdr4300.c linux-4.1.13/arch/mips/ath79/mach-tl-wdr4300.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wdr4300.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wdr4300.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wdr4300.c linux-4.1.43/arch/mips/ath79/mach-tl-wdr4300.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wdr4300.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wdr4300.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,206 @@
+/*
+ * TP-LINK TL-WDR4300 board support
@@ -22072,9 +22269,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wdr4300.c linux-4.1.13/arch/
+MIPS_MACHINE(ATH79_MACH_TL_WDR4300, "TL-WDR4300",
+ "TP-LINK TL-WDR3600/4300/4310",
+ wdr4300_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wdr6500-v2.c linux-4.1.13/arch/mips/ath79/mach-tl-wdr6500-v2.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wdr6500-v2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wdr6500-v2.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wdr6500-v2.c linux-4.1.43/arch/mips/ath79/mach-tl-wdr6500-v2.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wdr6500-v2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wdr6500-v2.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,141 @@
+/*
+ * TP-LINK TL-WDR6500 v2
@@ -22217,9 +22414,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wdr6500-v2.c linux-4.1.13/ar
+
+MIPS_MACHINE(ATH79_MACH_TL_WDR6500_V2, "TL-WDR6500-v2", "TP-LINK TL-WDR6500 v2",
+ tl_wdr6500_v2_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr1041n-v2.c linux-4.1.13/arch/mips/ath79/mach-tl-wr1041n-v2.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr1041n-v2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wr1041n-v2.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr1041n-v2.c linux-4.1.43/arch/mips/ath79/mach-tl-wr1041n-v2.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr1041n-v2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wr1041n-v2.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,138 @@
+/*
+ * TP-LINK TL-WR1041 v2 board support
@@ -22359,154 +22556,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr1041n-v2.c linux-4.1.13/ar
+
+MIPS_MACHINE(ATH79_MACH_TL_WR1041N_V2, "TL-WR1041N-v2",
+ "TP-LINK TL-WR1041N v2", tl_wr1041nv2_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr1043nd.c linux-4.1.13/arch/mips/ath79/mach-tl-wr1043nd.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr1043nd.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wr1043nd.c 2015-09-13 20:04:35.072523889 +0200
-@@ -0,0 +1,141 @@
-+/*
-+ * TP-LINK TL-WR1043N/ND board support
-+ *
-+ * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
-+ *
-+ * 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/platform_device.h>
-+#include <linux/rtl8366.h>
-+
-+#include <asm/mach-ath79/ath79.h>
-+#include <asm/mach-ath79/ar71xx_regs.h>
-+
-+#include "dev-eth.h"
-+#include "dev-m25p80.h"
-+#include "dev-gpio-buttons.h"
-+#include "dev-leds-gpio.h"
-+#include "dev-usb.h"
-+#include "dev-wmac.h"
-+#include "machtypes.h"
-+
-+#define TL_WR1043ND_GPIO_LED_USB 1
-+#define TL_WR1043ND_GPIO_LED_SYSTEM 2
-+#define TL_WR1043ND_GPIO_LED_QSS 5
-+#define TL_WR1043ND_GPIO_LED_WLAN 9
-+
-+#define TL_WR1043ND_GPIO_BTN_RESET 3
-+#define TL_WR1043ND_GPIO_BTN_QSS 7
-+
-+#define TL_WR1043ND_GPIO_RTL8366_SDA 18
-+#define TL_WR1043ND_GPIO_RTL8366_SCK 19
-+
-+#define TL_WR1043ND_KEYS_POLL_INTERVAL 20 /* msecs */
-+#define TL_WR1043ND_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR1043ND_KEYS_POLL_INTERVAL)
-+
-+static const char *tl_wr1043nd_part_probes[] = {
-+ "tp-link",
-+ NULL,
-+};
-+
-+static struct flash_platform_data tl_wr1043nd_flash_data = {
-+ .part_probes = tl_wr1043nd_part_probes,
-+};
-+
-+static struct gpio_led tl_wr1043nd_leds_gpio[] __initdata = {
-+ {
-+ .name = "tp-link:green:usb",
-+ .gpio = TL_WR1043ND_GPIO_LED_USB,
-+ .active_low = 1,
-+ }, {
-+ .name = "tp-link:green:system",
-+ .gpio = TL_WR1043ND_GPIO_LED_SYSTEM,
-+ .active_low = 1,
-+ }, {
-+ .name = "tp-link:green:qss",
-+ .gpio = TL_WR1043ND_GPIO_LED_QSS,
-+ .active_low = 0,
-+ }, {
-+ .name = "tp-link:green:wlan",
-+ .gpio = TL_WR1043ND_GPIO_LED_WLAN,
-+ .active_low = 1,
-+ }
-+};
-+
-+static struct gpio_keys_button tl_wr1043nd_gpio_keys[] __initdata = {
-+ {
-+ .desc = "reset",
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = TL_WR1043ND_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = TL_WR1043ND_GPIO_BTN_RESET,
-+ .active_low = 1,
-+ }, {
-+ .desc = "qss",
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = TL_WR1043ND_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = TL_WR1043ND_GPIO_BTN_QSS,
-+ .active_low = 1,
-+ }
-+};
-+
-+static void tl_wr1043nd_rtl8366rb_hw_reset(bool active)
-+{
-+ if (active)
-+ ath79_device_reset_set(AR71XX_RESET_GE0_PHY);
-+ else
-+ ath79_device_reset_clear(AR71XX_RESET_GE0_PHY);
-+}
-+
-+static struct rtl8366_platform_data tl_wr1043nd_rtl8366rb_data = {
-+ .gpio_sda = TL_WR1043ND_GPIO_RTL8366_SDA,
-+ .gpio_sck = TL_WR1043ND_GPIO_RTL8366_SCK,
-+ .hw_reset = tl_wr1043nd_rtl8366rb_hw_reset,
-+};
-+
-+static struct platform_device tl_wr1043nd_rtl8366rb_device = {
-+ .name = RTL8366RB_DRIVER_NAME,
-+ .id = -1,
-+ .dev = {
-+ .platform_data = &tl_wr1043nd_rtl8366rb_data,
-+ }
-+};
-+
-+static void __init tl_wr1043nd_setup(void)
-+{
-+ u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
-+ u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
-+
-+ tl_wr1043nd_rtl8366rb_hw_reset(true);
-+
-+ ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
-+ ath79_eth0_data.mii_bus_dev = &tl_wr1043nd_rtl8366rb_device.dev;
-+ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
-+ ath79_eth0_data.speed = SPEED_1000;
-+ ath79_eth0_data.duplex = DUPLEX_FULL;
-+ ath79_eth0_pll_data.pll_1000 = 0x1a000000;
-+
-+ ath79_register_eth(0);
-+
-+ ath79_register_usb();
-+
-+ ath79_register_m25p80(&tl_wr1043nd_flash_data);
-+
-+ ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr1043nd_leds_gpio),
-+ tl_wr1043nd_leds_gpio);
-+
-+ platform_device_register(&tl_wr1043nd_rtl8366rb_device);
-+
-+ ath79_register_gpio_keys_polled(-1, TL_WR1043ND_KEYS_POLL_INTERVAL,
-+ ARRAY_SIZE(tl_wr1043nd_gpio_keys),
-+ tl_wr1043nd_gpio_keys);
-+
-+ ath79_register_wmac(eeprom, mac);
-+}
-+
-+MIPS_MACHINE(ATH79_MACH_TL_WR1043ND, "TL-WR1043ND", "TP-LINK TL-WR1043ND",
-+ tl_wr1043nd_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr1043nd-v2.c linux-4.1.13/arch/mips/ath79/mach-tl-wr1043nd-v2.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr1043nd-v2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wr1043nd-v2.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr1043nd-v2.c linux-4.1.43/arch/mips/ath79/mach-tl-wr1043nd-v2.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr1043nd-v2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wr1043nd-v2.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,215 @@
+/*
+ * TP-LINK TL-WR1043ND v2 board support
@@ -22723,9 +22775,154 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr1043nd-v2.c linux-4.1.13/a
+MIPS_MACHINE(ATH79_MACH_TL_WR1043ND_V2, "TL-WR1043ND-v2",
+ "TP-LINK TL-WR1043ND v2", tl_wr1043nd_v2_setup);
+
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr2543n.c linux-4.1.13/arch/mips/ath79/mach-tl-wr2543n.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr2543n.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wr2543n.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr1043nd.c linux-4.1.43/arch/mips/ath79/mach-tl-wr1043nd.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr1043nd.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wr1043nd.c 2017-08-06 20:02:15.000000000 +0200
+@@ -0,0 +1,141 @@
++/*
++ * TP-LINK TL-WR1043N/ND board support
++ *
++ * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
++ *
++ * 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/platform_device.h>
++#include <linux/rtl8366.h>
++
++#include <asm/mach-ath79/ath79.h>
++#include <asm/mach-ath79/ar71xx_regs.h>
++
++#include "dev-eth.h"
++#include "dev-m25p80.h"
++#include "dev-gpio-buttons.h"
++#include "dev-leds-gpio.h"
++#include "dev-usb.h"
++#include "dev-wmac.h"
++#include "machtypes.h"
++
++#define TL_WR1043ND_GPIO_LED_USB 1
++#define TL_WR1043ND_GPIO_LED_SYSTEM 2
++#define TL_WR1043ND_GPIO_LED_QSS 5
++#define TL_WR1043ND_GPIO_LED_WLAN 9
++
++#define TL_WR1043ND_GPIO_BTN_RESET 3
++#define TL_WR1043ND_GPIO_BTN_QSS 7
++
++#define TL_WR1043ND_GPIO_RTL8366_SDA 18
++#define TL_WR1043ND_GPIO_RTL8366_SCK 19
++
++#define TL_WR1043ND_KEYS_POLL_INTERVAL 20 /* msecs */
++#define TL_WR1043ND_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR1043ND_KEYS_POLL_INTERVAL)
++
++static const char *tl_wr1043nd_part_probes[] = {
++ "tp-link",
++ NULL,
++};
++
++static struct flash_platform_data tl_wr1043nd_flash_data = {
++ .part_probes = tl_wr1043nd_part_probes,
++};
++
++static struct gpio_led tl_wr1043nd_leds_gpio[] __initdata = {
++ {
++ .name = "tp-link:green:usb",
++ .gpio = TL_WR1043ND_GPIO_LED_USB,
++ .active_low = 1,
++ }, {
++ .name = "tp-link:green:system",
++ .gpio = TL_WR1043ND_GPIO_LED_SYSTEM,
++ .active_low = 1,
++ }, {
++ .name = "tp-link:green:qss",
++ .gpio = TL_WR1043ND_GPIO_LED_QSS,
++ .active_low = 0,
++ }, {
++ .name = "tp-link:green:wlan",
++ .gpio = TL_WR1043ND_GPIO_LED_WLAN,
++ .active_low = 1,
++ }
++};
++
++static struct gpio_keys_button tl_wr1043nd_gpio_keys[] __initdata = {
++ {
++ .desc = "reset",
++ .type = EV_KEY,
++ .code = KEY_RESTART,
++ .debounce_interval = TL_WR1043ND_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = TL_WR1043ND_GPIO_BTN_RESET,
++ .active_low = 1,
++ }, {
++ .desc = "qss",
++ .type = EV_KEY,
++ .code = KEY_WPS_BUTTON,
++ .debounce_interval = TL_WR1043ND_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = TL_WR1043ND_GPIO_BTN_QSS,
++ .active_low = 1,
++ }
++};
++
++static void tl_wr1043nd_rtl8366rb_hw_reset(bool active)
++{
++ if (active)
++ ath79_device_reset_set(AR71XX_RESET_GE0_PHY);
++ else
++ ath79_device_reset_clear(AR71XX_RESET_GE0_PHY);
++}
++
++static struct rtl8366_platform_data tl_wr1043nd_rtl8366rb_data = {
++ .gpio_sda = TL_WR1043ND_GPIO_RTL8366_SDA,
++ .gpio_sck = TL_WR1043ND_GPIO_RTL8366_SCK,
++ .hw_reset = tl_wr1043nd_rtl8366rb_hw_reset,
++};
++
++static struct platform_device tl_wr1043nd_rtl8366rb_device = {
++ .name = RTL8366RB_DRIVER_NAME,
++ .id = -1,
++ .dev = {
++ .platform_data = &tl_wr1043nd_rtl8366rb_data,
++ }
++};
++
++static void __init tl_wr1043nd_setup(void)
++{
++ u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
++ u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
++
++ tl_wr1043nd_rtl8366rb_hw_reset(true);
++
++ ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
++ ath79_eth0_data.mii_bus_dev = &tl_wr1043nd_rtl8366rb_device.dev;
++ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
++ ath79_eth0_data.speed = SPEED_1000;
++ ath79_eth0_data.duplex = DUPLEX_FULL;
++ ath79_eth0_pll_data.pll_1000 = 0x1a000000;
++
++ ath79_register_eth(0);
++
++ ath79_register_usb();
++
++ ath79_register_m25p80(&tl_wr1043nd_flash_data);
++
++ ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr1043nd_leds_gpio),
++ tl_wr1043nd_leds_gpio);
++
++ platform_device_register(&tl_wr1043nd_rtl8366rb_device);
++
++ ath79_register_gpio_keys_polled(-1, TL_WR1043ND_KEYS_POLL_INTERVAL,
++ ARRAY_SIZE(tl_wr1043nd_gpio_keys),
++ tl_wr1043nd_gpio_keys);
++
++ ath79_register_wmac(eeprom, mac);
++}
++
++MIPS_MACHINE(ATH79_MACH_TL_WR1043ND, "TL-WR1043ND", "TP-LINK TL-WR1043ND",
++ tl_wr1043nd_setup);
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr2543n.c linux-4.1.43/arch/mips/ath79/mach-tl-wr2543n.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr2543n.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wr2543n.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,156 @@
+/*
+ * TP-LINK TL-WR2543N/ND board support
@@ -22883,9 +23080,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr2543n.c linux-4.1.13/arch/
+
+MIPS_MACHINE(ATH79_MACH_TL_WR2543N, "TL-WR2543N", "TP-LINK TL-WR2543N/ND",
+ tl_wr2543n_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr703n.c linux-4.1.13/arch/mips/ath79/mach-tl-wr703n.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr703n.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wr703n.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr703n.c linux-4.1.43/arch/mips/ath79/mach-tl-wr703n.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr703n.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wr703n.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,118 @@
+/*
+ * TP-LINK TL-WR703N/TL-MR10U board support
@@ -23005,9 +23202,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr703n.c linux-4.1.13/arch/m
+
+MIPS_MACHINE(ATH79_MACH_TL_WR710N, "TL-WR710N", "TP-LINK TL-WR710N v1",
+ tl_wr710n_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr720n-v3.c linux-4.1.13/arch/mips/ath79/mach-tl-wr720n-v3.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr720n-v3.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wr720n-v3.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr720n-v3.c linux-4.1.43/arch/mips/ath79/mach-tl-wr720n-v3.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr720n-v3.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wr720n-v3.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,108 @@
+/*
+ * TP-LINK TL-WR720N board support
@@ -23117,143 +23314,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr720n-v3.c linux-4.1.13/arc
+
+MIPS_MACHINE(ATH79_MACH_TL_WR720N_V3, "TL-WR720N-v3", "TP-LINK TL-WR720N v3/v4",
+ tl_wr720n_v3_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr741nd.c linux-4.1.13/arch/mips/ath79/mach-tl-wr741nd.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr741nd.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wr741nd.c 2015-09-13 20:04:35.072523889 +0200
-@@ -0,0 +1,130 @@
-+/*
-+ * TP-LINK TL-WR741ND board support
-+ *
-+ * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
-+ *
-+ * 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 <asm/mach-ath79/ath79.h>
-+#include <asm/mach-ath79/ar71xx_regs.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 "machtypes.h"
-+
-+#define TL_WR741ND_GPIO_LED_QSS 0
-+#define TL_WR741ND_GPIO_LED_SYSTEM 1
-+#define TL_WR741ND_GPIO_LED_LAN1 13
-+#define TL_WR741ND_GPIO_LED_LAN2 14
-+#define TL_WR741ND_GPIO_LED_LAN3 15
-+#define TL_WR741ND_GPIO_LED_LAN4 16
-+#define TL_WR741ND_GPIO_LED_WAN 17
-+
-+#define TL_WR741ND_GPIO_BTN_RESET 11
-+#define TL_WR741ND_GPIO_BTN_QSS 12
-+
-+#define TL_WR741ND_KEYS_POLL_INTERVAL 20 /* msecs */
-+#define TL_WR741ND_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR741ND_KEYS_POLL_INTERVAL)
-+
-+static const char *tl_wr741nd_part_probes[] = {
-+ "tp-link",
-+ NULL,
-+};
-+
-+static struct flash_platform_data tl_wr741nd_flash_data = {
-+ .part_probes = tl_wr741nd_part_probes,
-+};
-+
-+static struct gpio_led tl_wr741nd_leds_gpio[] __initdata = {
-+ {
-+ .name = "tp-link:green:lan1",
-+ .gpio = TL_WR741ND_GPIO_LED_LAN1,
-+ .active_low = 1,
-+ }, {
-+ .name = "tp-link:green:lan2",
-+ .gpio = TL_WR741ND_GPIO_LED_LAN2,
-+ .active_low = 1,
-+ }, {
-+ .name = "tp-link:green:lan3",
-+ .gpio = TL_WR741ND_GPIO_LED_LAN3,
-+ .active_low = 1,
-+ }, {
-+ .name = "tp-link:green:lan4",
-+ .gpio = TL_WR741ND_GPIO_LED_LAN4,
-+ .active_low = 1,
-+ }, {
-+ .name = "tp-link:green:qss",
-+ .gpio = TL_WR741ND_GPIO_LED_QSS,
-+ .active_low = 1,
-+ }, {
-+ .name = "tp-link:green:system",
-+ .gpio = TL_WR741ND_GPIO_LED_SYSTEM,
-+ .active_low = 1,
-+ }, {
-+ .name = "tp-link:green:wan",
-+ .gpio = TL_WR741ND_GPIO_LED_WAN,
-+ .active_low = 1,
-+ },
-+};
-+
-+static struct gpio_keys_button tl_wr741nd_gpio_keys[] __initdata = {
-+ {
-+ .desc = "reset",
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = TL_WR741ND_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = TL_WR741ND_GPIO_BTN_RESET,
-+ .active_low = 1,
-+ }, {
-+ .desc = "qss",
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = TL_WR741ND_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = TL_WR741ND_GPIO_BTN_QSS,
-+ .active_low = 1,
-+ }
-+};
-+
-+static void __init tl_wr741nd_setup(void)
-+{
-+ u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
-+ u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
-+
-+ ath79_register_m25p80(&tl_wr741nd_flash_data);
-+
-+ ath79_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
-+ AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
-+ AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
-+ AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
-+ AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
-+
-+ ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr741nd_leds_gpio),
-+ tl_wr741nd_leds_gpio);
-+
-+ ath79_register_gpio_keys_polled(-1, TL_WR741ND_KEYS_POLL_INTERVAL,
-+ ARRAY_SIZE(tl_wr741nd_gpio_keys),
-+ tl_wr741nd_gpio_keys);
-+
-+ ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
-+ ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
-+
-+ ath79_register_mdio(0, 0x0);
-+
-+ /* LAN ports */
-+ ath79_register_eth(1);
-+
-+ /* WAN port */
-+ ath79_register_eth(0);
-+
-+ ap9x_pci_setup_wmac_led_pin(0, 1);
-+ ap91_pci_init(ee, mac);
-+}
-+MIPS_MACHINE(ATH79_MACH_TL_WR741ND, "TL-WR741ND", "TP-LINK TL-WR741ND",
-+ tl_wr741nd_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr741nd-v4.c linux-4.1.13/arch/mips/ath79/mach-tl-wr741nd-v4.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr741nd-v4.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wr741nd-v4.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr741nd-v4.c linux-4.1.43/arch/mips/ath79/mach-tl-wr741nd-v4.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr741nd-v4.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wr741nd-v4.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,187 @@
+/*
+ * TP-LINK TL-WR741ND v4/TL-MR3220 v2 board support
@@ -23442,12 +23505,12 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr741nd-v4.c linux-4.1.13/ar
+
+MIPS_MACHINE(ATH79_MACH_TL_MR3220_V2, "TL-MR3220-v2",
+ "TP-LINK TL-MR3220 v2", tl_mr3220v2_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr841n.c linux-4.1.13/arch/mips/ath79/mach-tl-wr841n.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr841n.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wr841n.c 2015-09-13 20:04:35.072523889 +0200
-@@ -0,0 +1,140 @@
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr741nd.c linux-4.1.43/arch/mips/ath79/mach-tl-wr741nd.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr741nd.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wr741nd.c 2017-08-06 20:02:15.000000000 +0200
+@@ -0,0 +1,130 @@
+/*
-+ * TP-LINK TL-WR841N/ND v1 board support
++ * TP-LINK TL-WR741ND board support
+ *
+ * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
+ *
@@ -23456,139 +23519,129 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr841n.c linux-4.1.13/arch/m
+ * by the Free Software Foundation.
+ */
+
-+#include <linux/mtd/mtd.h>
-+#include <linux/mtd/partitions.h>
-+#include <linux/platform_device.h>
-+
+#include <asm/mach-ath79/ath79.h>
++#include <asm/mach-ath79/ar71xx_regs.h>
+
-+#include "dev-dsa.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 "machtypes.h"
-+#include "pci.h"
+
-+#define TL_WR841ND_V1_GPIO_LED_SYSTEM 2
-+#define TL_WR841ND_V1_GPIO_LED_QSS_GREEN 4
-+#define TL_WR841ND_V1_GPIO_LED_QSS_RED 5
++#define TL_WR741ND_GPIO_LED_QSS 0
++#define TL_WR741ND_GPIO_LED_SYSTEM 1
++#define TL_WR741ND_GPIO_LED_LAN1 13
++#define TL_WR741ND_GPIO_LED_LAN2 14
++#define TL_WR741ND_GPIO_LED_LAN3 15
++#define TL_WR741ND_GPIO_LED_LAN4 16
++#define TL_WR741ND_GPIO_LED_WAN 17
+
-+#define TL_WR841ND_V1_GPIO_BTN_RESET 3
-+#define TL_WR841ND_V1_GPIO_BTN_QSS 7
++#define TL_WR741ND_GPIO_BTN_RESET 11
++#define TL_WR741ND_GPIO_BTN_QSS 12
+
-+#define TL_WR841ND_V1_KEYS_POLL_INTERVAL 20 /* msecs */
-+#define TL_WR841ND_V1_KEYS_DEBOUNCE_INTERVAL \
-+ (3 * TL_WR841ND_V1_KEYS_POLL_INTERVAL)
++#define TL_WR741ND_KEYS_POLL_INTERVAL 20 /* msecs */
++#define TL_WR741ND_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR741ND_KEYS_POLL_INTERVAL)
+
-+static struct mtd_partition tl_wr841n_v1_partitions[] = {
-+ {
-+ .name = "redboot",
-+ .offset = 0,
-+ .size = 0x020000,
-+ .mask_flags = MTD_WRITEABLE,
-+ }, {
-+ .name = "kernel",
-+ .offset = 0x020000,
-+ .size = 0x140000,
-+ }, {
-+ .name = "rootfs",
-+ .offset = 0x160000,
-+ .size = 0x280000,
-+ }, {
-+ .name = "config",
-+ .offset = 0x3e0000,
-+ .size = 0x020000,
-+ .mask_flags = MTD_WRITEABLE,
-+ }, {
-+ .name = "firmware",
-+ .offset = 0x020000,
-+ .size = 0x3c0000,
-+ }
++static const char *tl_wr741nd_part_probes[] = {
++ "tp-link",
++ NULL,
+};
+
-+static struct flash_platform_data tl_wr841n_v1_flash_data = {
-+ .parts = tl_wr841n_v1_partitions,
-+ .nr_parts = ARRAY_SIZE(tl_wr841n_v1_partitions),
++static struct flash_platform_data tl_wr741nd_flash_data = {
++ .part_probes = tl_wr741nd_part_probes,
+};
+
-+static struct gpio_led tl_wr841n_v1_leds_gpio[] __initdata = {
++static struct gpio_led tl_wr741nd_leds_gpio[] __initdata = {
+ {
-+ .name = "tp-link:green:system",
-+ .gpio = TL_WR841ND_V1_GPIO_LED_SYSTEM,
++ .name = "tp-link:green:lan1",
++ .gpio = TL_WR741ND_GPIO_LED_LAN1,
+ .active_low = 1,
+ }, {
-+ .name = "tp-link:red:qss",
-+ .gpio = TL_WR841ND_V1_GPIO_LED_QSS_RED,
++ .name = "tp-link:green:lan2",
++ .gpio = TL_WR741ND_GPIO_LED_LAN2,
++ .active_low = 1,
++ }, {
++ .name = "tp-link:green:lan3",
++ .gpio = TL_WR741ND_GPIO_LED_LAN3,
++ .active_low = 1,
++ }, {
++ .name = "tp-link:green:lan4",
++ .gpio = TL_WR741ND_GPIO_LED_LAN4,
++ .active_low = 1,
+ }, {
+ .name = "tp-link:green:qss",
-+ .gpio = TL_WR841ND_V1_GPIO_LED_QSS_GREEN,
-+ }
++ .gpio = TL_WR741ND_GPIO_LED_QSS,
++ .active_low = 1,
++ }, {
++ .name = "tp-link:green:system",
++ .gpio = TL_WR741ND_GPIO_LED_SYSTEM,
++ .active_low = 1,
++ }, {
++ .name = "tp-link:green:wan",
++ .gpio = TL_WR741ND_GPIO_LED_WAN,
++ .active_low = 1,
++ },
+};
+
-+static struct gpio_keys_button tl_wr841n_v1_gpio_keys[] __initdata = {
++static struct gpio_keys_button tl_wr741nd_gpio_keys[] __initdata = {
+ {
+ .desc = "reset",
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = TL_WR841ND_V1_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = TL_WR841ND_V1_GPIO_BTN_RESET,
++ .debounce_interval = TL_WR741ND_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = TL_WR741ND_GPIO_BTN_RESET,
+ .active_low = 1,
+ }, {
+ .desc = "qss",
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = TL_WR841ND_V1_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = TL_WR841ND_V1_GPIO_BTN_QSS,
++ .debounce_interval = TL_WR741ND_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = TL_WR741ND_GPIO_BTN_QSS,
+ .active_low = 1,
+ }
+};
+
-+static struct dsa_chip_data tl_wr841n_v1_dsa_chip = {
-+ .port_names[0] = "wan",
-+ .port_names[1] = "lan1",
-+ .port_names[2] = "lan2",
-+ .port_names[3] = "lan3",
-+ .port_names[4] = "lan4",
-+ .port_names[5] = "cpu",
-+};
-+
-+static struct dsa_platform_data tl_wr841n_v1_dsa_data = {
-+ .nr_chips = 1,
-+ .chip = &tl_wr841n_v1_dsa_chip,
-+};
-+
-+static void __init tl_wr841n_v1_setup(void)
++static void __init tl_wr741nd_setup(void)
+{
+ u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
++ u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
+
-+ ath79_register_mdio(0, 0x0);
++ ath79_register_m25p80(&tl_wr741nd_flash_data);
+
-+ ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
-+ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
-+ ath79_eth0_data.speed = SPEED_100;
-+ ath79_eth0_data.duplex = DUPLEX_FULL;
++ ath79_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
++ AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
++ AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
++ AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
++ AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
+
-+ ath79_register_eth(0);
-+ ath79_register_dsa(&ath79_eth0_device.dev, &ath79_mdio0_device.dev,
-+ &tl_wr841n_v1_dsa_data);
++ ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr741nd_leds_gpio),
++ tl_wr741nd_leds_gpio);
+
-+ ath79_register_m25p80(&tl_wr841n_v1_flash_data);
++ ath79_register_gpio_keys_polled(-1, TL_WR741ND_KEYS_POLL_INTERVAL,
++ ARRAY_SIZE(tl_wr741nd_gpio_keys),
++ tl_wr741nd_gpio_keys);
+
-+ ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v1_leds_gpio),
-+ tl_wr841n_v1_leds_gpio);
++ ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
++ ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
+
-+ ath79_register_gpio_keys_polled(-1, TL_WR841ND_V1_KEYS_POLL_INTERVAL,
-+ ARRAY_SIZE(tl_wr841n_v1_gpio_keys),
-+ tl_wr841n_v1_gpio_keys);
-+ ath79_register_pci();
-+}
++ ath79_register_mdio(0, 0x0);
+
-+MIPS_MACHINE(ATH79_MACH_TL_WR841N_V1, "TL-WR841N-v1.5", "TP-LINK TL-WR841N v1",
-+ tl_wr841n_v1_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr841n-v8.c linux-4.1.13/arch/mips/ath79/mach-tl-wr841n-v8.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr841n-v8.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wr841n-v8.c 2015-09-13 20:04:35.072523889 +0200
++ /* LAN ports */
++ ath79_register_eth(1);
++
++ /* WAN port */
++ ath79_register_eth(0);
++
++ ap9x_pci_setup_wmac_led_pin(0, 1);
++ ap91_pci_init(ee, mac);
++}
++MIPS_MACHINE(ATH79_MACH_TL_WR741ND, "TL-WR741ND", "TP-LINK TL-WR741ND",
++ tl_wr741nd_setup);
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr841n-v8.c linux-4.1.43/arch/mips/ath79/mach-tl-wr841n-v8.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr841n-v8.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wr841n-v8.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,286 @@
+/*
+ * TP-LINK TL-WR841N/ND v8/TL-MR3420 v2 board support
@@ -23876,9 +23929,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr841n-v8.c linux-4.1.13/arc
+
+MIPS_MACHINE(ATH79_MACH_TL_WR941ND_V5, "TL-WR941ND-v5", "TP-LINK TL-WR941N/ND v5",
+ tl_wr941nd_v5_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr841n-v9.c linux-4.1.13/arch/mips/ath79/mach-tl-wr841n-v9.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr841n-v9.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wr841n-v9.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr841n-v9.c linux-4.1.43/arch/mips/ath79/mach-tl-wr841n-v9.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr841n-v9.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wr841n-v9.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,144 @@
+/*
+ * TP-LINK TL-WR841N/ND v9
@@ -24024,12 +24077,12 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr841n-v9.c linux-4.1.13/arc
+
+MIPS_MACHINE(ATH79_MACH_TL_WR841N_V9, "TL-WR841N-v9", "TP-LINK TL-WR841N/ND v9",
+ tl_wr841n_v9_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr941nd.c linux-4.1.13/arch/mips/ath79/mach-tl-wr941nd.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr941nd.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wr941nd.c 2015-09-13 20:04:35.072523889 +0200
-@@ -0,0 +1,121 @@
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr841n.c linux-4.1.43/arch/mips/ath79/mach-tl-wr841n.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr841n.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wr841n.c 2017-08-06 20:02:15.000000000 +0200
+@@ -0,0 +1,140 @@
+/*
-+ * TP-LINK TL-WR941ND board support
++ * TP-LINK TL-WR841N/ND v1 board support
+ *
+ * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
+ *
@@ -24038,6 +24091,8 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr941nd.c linux-4.1.13/arch/
+ * by the Free Software Foundation.
+ */
+
++#include <linux/mtd/mtd.h>
++#include <linux/mtd/partitions.h>
+#include <linux/platform_device.h>
+
+#include <asm/mach-ath79/ath79.h>
@@ -24047,66 +24102,84 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr941nd.c linux-4.1.13/arch/
+#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 TL_WR941ND_GPIO_LED_SYSTEM 2
-+#define TL_WR941ND_GPIO_LED_QSS_RED 4
-+#define TL_WR941ND_GPIO_LED_QSS_GREEN 5
-+#define TL_WR941ND_GPIO_LED_WLAN 9
++#define TL_WR841ND_V1_GPIO_LED_SYSTEM 2
++#define TL_WR841ND_V1_GPIO_LED_QSS_GREEN 4
++#define TL_WR841ND_V1_GPIO_LED_QSS_RED 5
+
-+#define TL_WR941ND_GPIO_BTN_RESET 3
-+#define TL_WR941ND_GPIO_BTN_QSS 7
++#define TL_WR841ND_V1_GPIO_BTN_RESET 3
++#define TL_WR841ND_V1_GPIO_BTN_QSS 7
+
-+#define TL_WR941ND_KEYS_POLL_INTERVAL 20 /* msecs */
-+#define TL_WR941ND_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR941ND_KEYS_POLL_INTERVAL)
++#define TL_WR841ND_V1_KEYS_POLL_INTERVAL 20 /* msecs */
++#define TL_WR841ND_V1_KEYS_DEBOUNCE_INTERVAL \
++ (3 * TL_WR841ND_V1_KEYS_POLL_INTERVAL)
+
-+static const char *tl_wr941nd_part_probes[] = {
-+ "tp-link",
-+ NULL,
++static struct mtd_partition tl_wr841n_v1_partitions[] = {
++ {
++ .name = "redboot",
++ .offset = 0,
++ .size = 0x020000,
++ .mask_flags = MTD_WRITEABLE,
++ }, {
++ .name = "kernel",
++ .offset = 0x020000,
++ .size = 0x140000,
++ }, {
++ .name = "rootfs",
++ .offset = 0x160000,
++ .size = 0x280000,
++ }, {
++ .name = "config",
++ .offset = 0x3e0000,
++ .size = 0x020000,
++ .mask_flags = MTD_WRITEABLE,
++ }, {
++ .name = "firmware",
++ .offset = 0x020000,
++ .size = 0x3c0000,
++ }
+};
+
-+static struct flash_platform_data tl_wr941nd_flash_data = {
-+ .part_probes = tl_wr941nd_part_probes,
++static struct flash_platform_data tl_wr841n_v1_flash_data = {
++ .parts = tl_wr841n_v1_partitions,
++ .nr_parts = ARRAY_SIZE(tl_wr841n_v1_partitions),
+};
+
-+static struct gpio_led tl_wr941nd_leds_gpio[] __initdata = {
++static struct gpio_led tl_wr841n_v1_leds_gpio[] __initdata = {
+ {
+ .name = "tp-link:green:system",
-+ .gpio = TL_WR941ND_GPIO_LED_SYSTEM,
++ .gpio = TL_WR841ND_V1_GPIO_LED_SYSTEM,
+ .active_low = 1,
+ }, {
+ .name = "tp-link:red:qss",
-+ .gpio = TL_WR941ND_GPIO_LED_QSS_RED,
++ .gpio = TL_WR841ND_V1_GPIO_LED_QSS_RED,
+ }, {
+ .name = "tp-link:green:qss",
-+ .gpio = TL_WR941ND_GPIO_LED_QSS_GREEN,
-+ }, {
-+ .name = "tp-link:green:wlan",
-+ .gpio = TL_WR941ND_GPIO_LED_WLAN,
-+ .active_low = 1,
++ .gpio = TL_WR841ND_V1_GPIO_LED_QSS_GREEN,
+ }
+};
+
-+static struct gpio_keys_button tl_wr941nd_gpio_keys[] __initdata = {
++static struct gpio_keys_button tl_wr841n_v1_gpio_keys[] __initdata = {
+ {
+ .desc = "reset",
+ .type = EV_KEY,
+ .code = KEY_RESTART,
-+ .debounce_interval = TL_WR941ND_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = TL_WR941ND_GPIO_BTN_RESET,
++ .debounce_interval = TL_WR841ND_V1_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = TL_WR841ND_V1_GPIO_BTN_RESET,
+ .active_low = 1,
+ }, {
+ .desc = "qss",
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = TL_WR941ND_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = TL_WR941ND_GPIO_BTN_QSS,
++ .debounce_interval = TL_WR841ND_V1_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = TL_WR841ND_V1_GPIO_BTN_QSS,
+ .active_low = 1,
+ }
+};
+
-+static struct dsa_chip_data tl_wr941nd_dsa_chip = {
++static struct dsa_chip_data tl_wr841n_v1_dsa_chip = {
+ .port_names[0] = "wan",
+ .port_names[1] = "lan1",
+ .port_names[2] = "lan2",
@@ -24115,15 +24188,14 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr941nd.c linux-4.1.13/arch/
+ .port_names[5] = "cpu",
+};
+
-+static struct dsa_platform_data tl_wr941nd_dsa_data = {
++static struct dsa_platform_data tl_wr841n_v1_dsa_data = {
+ .nr_chips = 1,
-+ .chip = &tl_wr941nd_dsa_chip,
++ .chip = &tl_wr841n_v1_dsa_chip,
+};
+
-+static void __init tl_wr941nd_setup(void)
++static void __init tl_wr841n_v1_setup(void)
+{
+ u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
-+ u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
+
+ ath79_register_mdio(0, 0x0);
+
@@ -24134,24 +24206,24 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr941nd.c linux-4.1.13/arch/
+
+ ath79_register_eth(0);
+ ath79_register_dsa(&ath79_eth0_device.dev, &ath79_mdio0_device.dev,
-+ &tl_wr941nd_dsa_data);
++ &tl_wr841n_v1_dsa_data);
+
-+ ath79_register_m25p80(&tl_wr941nd_flash_data);
++ ath79_register_m25p80(&tl_wr841n_v1_flash_data);
+
-+ ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr941nd_leds_gpio),
-+ tl_wr941nd_leds_gpio);
++ ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v1_leds_gpio),
++ tl_wr841n_v1_leds_gpio);
+
-+ ath79_register_gpio_keys_polled(-1, TL_WR941ND_KEYS_POLL_INTERVAL,
-+ ARRAY_SIZE(tl_wr941nd_gpio_keys),
-+ tl_wr941nd_gpio_keys);
-+ ath79_register_wmac(eeprom, mac);
++ ath79_register_gpio_keys_polled(-1, TL_WR841ND_V1_KEYS_POLL_INTERVAL,
++ ARRAY_SIZE(tl_wr841n_v1_gpio_keys),
++ tl_wr841n_v1_gpio_keys);
++ ath79_register_pci();
+}
+
-+MIPS_MACHINE(ATH79_MACH_TL_WR941ND, "TL-WR941ND", "TP-LINK TL-WR941ND",
-+ tl_wr941nd_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr941nd-v6.c linux-4.1.13/arch/mips/ath79/mach-tl-wr941nd-v6.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr941nd-v6.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tl-wr941nd-v6.c 2015-11-21 17:22:11.759223549 +0100
++MIPS_MACHINE(ATH79_MACH_TL_WR841N_V1, "TL-WR841N-v1.5", "TP-LINK TL-WR841N v1",
++ tl_wr841n_v1_setup);
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr941nd-v6.c linux-4.1.43/arch/mips/ath79/mach-tl-wr941nd-v6.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr941nd-v6.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wr941nd-v6.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,149 @@
+/*
+ * TP-LINK TL-WR941N/ND v6 board support
@@ -24302,9 +24374,134 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tl-wr941nd-v6.c linux-4.1.13/ar
+
+MIPS_MACHINE(ATH79_MACH_TL_WR941ND_V6, "TL-WR941ND-v6", "TP-LINK TL-WR941N/ND v6",
+ tl_wr941nd_v6_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tube2h.c linux-4.1.13/arch/mips/ath79/mach-tube2h.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-tube2h.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-tube2h.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr941nd.c linux-4.1.43/arch/mips/ath79/mach-tl-wr941nd.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tl-wr941nd.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tl-wr941nd.c 2017-08-06 20:02:15.000000000 +0200
+@@ -0,0 +1,121 @@
++/*
++ * TP-LINK TL-WR941ND board support
++ *
++ * Copyright (C) 2009-2012 Gabor Juhos <juhosg@openwrt.org>
++ *
++ * 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/platform_device.h>
++
++#include <asm/mach-ath79/ath79.h>
++
++#include "dev-dsa.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"
++
++#define TL_WR941ND_GPIO_LED_SYSTEM 2
++#define TL_WR941ND_GPIO_LED_QSS_RED 4
++#define TL_WR941ND_GPIO_LED_QSS_GREEN 5
++#define TL_WR941ND_GPIO_LED_WLAN 9
++
++#define TL_WR941ND_GPIO_BTN_RESET 3
++#define TL_WR941ND_GPIO_BTN_QSS 7
++
++#define TL_WR941ND_KEYS_POLL_INTERVAL 20 /* msecs */
++#define TL_WR941ND_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR941ND_KEYS_POLL_INTERVAL)
++
++static const char *tl_wr941nd_part_probes[] = {
++ "tp-link",
++ NULL,
++};
++
++static struct flash_platform_data tl_wr941nd_flash_data = {
++ .part_probes = tl_wr941nd_part_probes,
++};
++
++static struct gpio_led tl_wr941nd_leds_gpio[] __initdata = {
++ {
++ .name = "tp-link:green:system",
++ .gpio = TL_WR941ND_GPIO_LED_SYSTEM,
++ .active_low = 1,
++ }, {
++ .name = "tp-link:red:qss",
++ .gpio = TL_WR941ND_GPIO_LED_QSS_RED,
++ }, {
++ .name = "tp-link:green:qss",
++ .gpio = TL_WR941ND_GPIO_LED_QSS_GREEN,
++ }, {
++ .name = "tp-link:green:wlan",
++ .gpio = TL_WR941ND_GPIO_LED_WLAN,
++ .active_low = 1,
++ }
++};
++
++static struct gpio_keys_button tl_wr941nd_gpio_keys[] __initdata = {
++ {
++ .desc = "reset",
++ .type = EV_KEY,
++ .code = KEY_RESTART,
++ .debounce_interval = TL_WR941ND_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = TL_WR941ND_GPIO_BTN_RESET,
++ .active_low = 1,
++ }, {
++ .desc = "qss",
++ .type = EV_KEY,
++ .code = KEY_WPS_BUTTON,
++ .debounce_interval = TL_WR941ND_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = TL_WR941ND_GPIO_BTN_QSS,
++ .active_low = 1,
++ }
++};
++
++static struct dsa_chip_data tl_wr941nd_dsa_chip = {
++ .port_names[0] = "wan",
++ .port_names[1] = "lan1",
++ .port_names[2] = "lan2",
++ .port_names[3] = "lan3",
++ .port_names[4] = "lan4",
++ .port_names[5] = "cpu",
++};
++
++static struct dsa_platform_data tl_wr941nd_dsa_data = {
++ .nr_chips = 1,
++ .chip = &tl_wr941nd_dsa_chip,
++};
++
++static void __init tl_wr941nd_setup(void)
++{
++ u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
++ u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
++
++ ath79_register_mdio(0, 0x0);
++
++ ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
++ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
++ ath79_eth0_data.speed = SPEED_100;
++ ath79_eth0_data.duplex = DUPLEX_FULL;
++
++ ath79_register_eth(0);
++ ath79_register_dsa(&ath79_eth0_device.dev, &ath79_mdio0_device.dev,
++ &tl_wr941nd_dsa_data);
++
++ ath79_register_m25p80(&tl_wr941nd_flash_data);
++
++ ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr941nd_leds_gpio),
++ tl_wr941nd_leds_gpio);
++
++ ath79_register_gpio_keys_polled(-1, TL_WR941ND_KEYS_POLL_INTERVAL,
++ ARRAY_SIZE(tl_wr941nd_gpio_keys),
++ tl_wr941nd_gpio_keys);
++ ath79_register_wmac(eeprom, mac);
++}
++
++MIPS_MACHINE(ATH79_MACH_TL_WR941ND, "TL-WR941ND", "TP-LINK TL-WR941ND",
++ tl_wr941nd_setup);
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-tube2h.c linux-4.1.43/arch/mips/ath79/mach-tube2h.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-tube2h.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-tube2h.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,118 @@
+/*
+ * ALFA NETWORK Tube2H board support
@@ -24424,446 +24621,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-tube2h.c linux-4.1.13/arch/mips
+MIPS_MACHINE(ATH79_MACH_TUBE2H, "TUBE2H", "ALFA NETWORK Tube2H",
+ tube2h_setup);
+
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/machtypes.h linux-4.1.13/arch/mips/ath79/machtypes.h
---- linux-4.1.13.orig/arch/mips/ath79/machtypes.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/machtypes.h 2015-12-04 19:57:05.957975089 +0100
-@@ -16,12 +16,224 @@
-
- enum ath79_mach_type {
- ATH79_MACH_GENERIC = 0,
-+ ATH79_MACH_ALFA_AP96, /* ALFA Network AP96 board */
-+ ATH79_MACH_ALFA_NX, /* ALFA Network N2/N5 board */
-+ ATH79_MACH_ALL0258N, /* Allnet ALL0258N */
-+ ATH79_MACH_ALL0305, /* Allnet ALL0305 */
-+ ATH79_MACH_ALL0315N, /* Allnet ALL0315N */
-+ ATH79_MACH_ANTMINER_S1, /* Antminer S1 */
-+ ATH79_MACH_ANTMINER_S3, /* Antminer S3 */
-+ ATH79_MACH_ARDUINO_YUN, /* Yun */
-+ ATH79_MACH_AP113, /* Atheros AP113 reference board */
- ATH79_MACH_AP121, /* Atheros AP121 reference board */
-+ ATH79_MACH_AP121_MINI, /* Atheros AP121-MINI reference board */
-+ ATH79_MACH_AP132, /* Atheros AP132 reference board */
-+ ATH79_MACH_AP135_020, /* Atheros AP135-020 reference board */
- ATH79_MACH_AP136_010, /* Atheros AP136-010 reference board */
-+ ATH79_MACH_AP136_020, /* Atheros AP136-020 reference board */
-+ ATH79_MACH_AP143, /* Atheros AP143 reference board */
-+ ATH79_MACH_AP147_010, /* Atheros AP147-010 reference board */
-+ ATH79_MACH_AP152, /* Atheros AP152 reference board */
- ATH79_MACH_AP81, /* Atheros AP81 reference board */
-+ ATH79_MACH_AP83, /* Atheros AP83 */
-+ ATH79_MACH_AP96, /* Atheros AP96 */
-+ ATH79_MACH_ARCHER_C5, /* TP-LINK Archer C5 board */
-+ ATH79_MACH_ARCHER_C7, /* TP-LINK Archer C7 board */
-+ ATH79_MACH_AW_NR580, /* AzureWave AW-NR580 */
-+ ATH79_MACH_BHU_BXU2000N2_A1, /* BHU BXU2000n-2 A1 */
-+ ATH79_MACH_BSB, /* Smart Electronics Black Swift board */
-+ ATH79_MACH_CAP4200AG, /* Senao CAP4200AG */
-+ ATH79_MACH_CARAMBOLA2, /* 8devices Carambola2 */
-+ ATH79_MACH_CF_E316N_V2, /* COMFAST CF-E316N v2 */
-+ ATH79_MACH_CPE510, /* TP-LINK CPE510 */
- ATH79_MACH_DB120, /* Atheros DB120 reference board */
- ATH79_MACH_PB44, /* Atheros PB44 reference board */
-+ ATH79_MACH_DGL_5500_A1, /* D-link DGL-5500 rev. A1 */
-+ ATH79_MACH_DHP_1565_A1, /* D-Link DHP-1565 rev. A1 */
-+ ATH79_MACH_DIR_505_A1, /* D-Link DIR-505 rev. A1 */
-+ ATH79_MACH_DIR_600_A1, /* D-Link DIR-600 rev. A1 */
-+ ATH79_MACH_DIR_615_C1, /* D-Link DIR-615 rev. C1 */
-+ ATH79_MACH_DIR_615_E1, /* D-Link DIR-615 rev. E1 */
-+ ATH79_MACH_DIR_615_E4, /* D-Link DIR-615 rev. E4 */
-+ ATH79_MACH_DIR_615_I1, /* D-Link DIR-615 rev. I1 */
-+ ATH79_MACH_DIR_825_B1, /* D-Link DIR-825 rev. B1 */
-+ ATH79_MACH_DIR_825_C1, /* D-Link DIR-825 rev. C1 */
-+ ATH79_MACH_DIR_835_A1, /* D-Link DIR-835 rev. A1 */
-+ ATH79_MACH_DLAN_HOTSPOT, /* devolo dLAN Hotspot */
-+ ATH79_MACH_DLAN_PRO_500_WP, /* devolo dLAN pro 500 Wireless+ */
-+ ATH79_MACH_DLAN_PRO_1200_AC, /* devolo dLAN pro 1200+ WiFi ac*/
-+ ATH79_MACH_DRAGINO2, /* Dragino Version 2 */
-+ ATH79_MACH_ESR900, /* EnGenius ESR900 */
-+ ATH79_MACH_EW_DORIN, /* embedded wireless Dorin Platform */
-+ ATH79_MACH_EW_DORIN_ROUTER, /* embedded wireless Dorin Router Platform */
-+ ATH79_MACH_EAP300V2, /* EnGenius EAP300 v2 */
-+ ATH79_MACH_EAP7660D, /* Senao EAP7660D */
-+ ATH79_MACH_EL_M150, /* EasyLink EL-M150 */
-+ ATH79_MACH_EL_MINI, /* EasyLink EL-MINI */
-+ ATH79_MACH_ESR1750, /* EnGenius ESR1750 */
-+ ATH79_MACH_EPG5000, /* EnGenius EPG5000 */
-+ ATH79_MACH_F9K1115V2, /* Belkin AC1750DB */
-+ ATH79_MACH_GL_AR150, /* GL-AR150 support */
-+ ATH79_MACH_GL_AR300, /* GL-AR300 */
-+ ATH79_MACH_GL_DOMINO, /* Domino */
-+ ATH79_MACH_GL_INET, /* GL-CONNECT GL-INET */
-+ ATH79_MACH_GS_MINIBOX_V1, /* Gainstrong MiniBox V1.0 */
-+ ATH79_MACH_GS_OOLITE, /* GS OOLITE V1.0 */
-+ ATH79_MACH_HIWIFI_HC6361, /* HiWiFi HC6361 */
-+ ATH79_MACH_JA76PF, /* jjPlus JA76PF */
-+ ATH79_MACH_JA76PF2, /* jjPlus JA76PF2 */
-+ ATH79_MACH_JWAP003, /* jjPlus JWAP003 */
-+ 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 */
-+ ATH79_MACH_MR900v2, /* OpenMesh MR900v2 */
-+ ATH79_MACH_MYNET_N600, /* WD My Net N600 */
-+ ATH79_MACH_MYNET_N750, /* WD My Net N750 */
-+ ATH79_MACH_MYNET_REXT, /* WD My Net Wi-Fi Range Extender */
-+ ATH79_MACH_MZK_W04NU, /* Planex MZK-W04NU */
-+ ATH79_MACH_MZK_W300NH, /* Planex MZK-W300NH */
-+ ATH79_MACH_NBG460N, /* Zyxel NBG460N/550N/550NH */
-+ ATH79_MACH_NBG6616, /* Zyxel NBG6616 */
-+ ATH79_MACH_NBG6716, /* Zyxel NBG6716 */
-+ ATH79_MACH_OM2P_HSv2, /* OpenMesh OM2P-HSv2 */
-+ ATH79_MACH_OM2P_HS, /* OpenMesh OM2P-HS */
-+ ATH79_MACH_OM2P_LC, /* OpenMesh OM2P-LC */
-+ ATH79_MACH_OM2Pv2, /* OpenMesh OM2Pv2 */
-+ ATH79_MACH_OM2P, /* OpenMesh OM2P */
-+ ATH79_MACH_OM5P_AN, /* OpenMesh OM5P-AN */
-+ ATH79_MACH_OM5P, /* OpenMesh OM5P */
-+ ATH79_MACH_ONION_OMEGA, /* ONION OMEGA */
-+ ATH79_MACH_PB42, /* Atheros PB42 */
-+ ATH79_MACH_PB92, /* Atheros PB92 */
-+ ATH79_MACH_QIHOO_C301, /* Qihoo 360 C301 */
-+ ATH79_MACH_R6100, /* NETGEAR R6100 */
-+ ATH79_MACH_RB_411, /* MikroTik RouterBOARD 411/411A/411AH */
-+ ATH79_MACH_RB_411U, /* MikroTik RouterBOARD 411U */
-+ ATH79_MACH_RB_433, /* MikroTik RouterBOARD 433/433AH */
-+ ATH79_MACH_RB_433U, /* MikroTik RouterBOARD 433UAH */
-+ ATH79_MACH_RB_435G, /* MikroTik RouterBOARD 435G */
-+ ATH79_MACH_RB_450G, /* MikroTik RouterBOARD 450G */
-+ ATH79_MACH_RB_450, /* MikroTik RouterBOARD 450 */
-+ ATH79_MACH_RB_493, /* Mikrotik RouterBOARD 493/493AH */
-+ ATH79_MACH_RB_493G, /* Mikrotik RouterBOARD 493G */
-+ ATH79_MACH_RB_711GR100, /* Mikrotik RouterBOARD 911/912 boards */
-+ ATH79_MACH_RB_750, /* MikroTik RouterBOARD 750 */
-+ ATH79_MACH_RB_750G_R3, /* MikroTik RouterBOARD 750GL */
-+ ATH79_MACH_RB_751, /* MikroTik RouterBOARD 751 */
-+ ATH79_MACH_RB_751G, /* Mikrotik RouterBOARD 751G */
-+ ATH79_MACH_RB_922GS, /* Mikrotik RouterBOARD 911/922GS boards */
-+ ATH79_MACH_RB_951G, /* Mikrotik RouterBOARD 951G */
-+ ATH79_MACH_RB_951U, /* Mikrotik RouterBOARD 951Ui-2HnD */
-+ ATH79_MACH_RB_2011G, /* Mikrotik RouterBOARD 2011UAS-2HnD */
-+ ATH79_MACH_RB_2011L, /* Mikrotik RouterBOARD 2011L */
-+ ATH79_MACH_RB_2011US, /* Mikrotik RouterBOARD 2011UAS */
-+ ATH79_MACH_RB_2011R5, /* Mikrotik RouterBOARD 2011UiAS(-2Hnd) */
-+ ATH79_MACH_RB_SXTLITE2ND, /* Mikrotik RouterBOARD SXT Lite 2nD */
-+ ATH79_MACH_RB_SXTLITE5ND, /* Mikrotik RouterBOARD SXT Lite 5nD */
-+ ATH79_MACH_RW2458N, /* Redwave RW2458N */
-+ ATH79_MACH_SMART_300, /* NC-LINK SMART-300 */
-+ ATH79_MACH_TEW_632BRP, /* TRENDnet TEW-632BRP */
-+ ATH79_MACH_TEW_673GRU, /* TRENDnet TEW-673GRU */
-+ ATH79_MACH_TEW_712BR, /* TRENDnet TEW-712BR */
-+ ATH79_MACH_TEW_732BR, /* TRENDnet TEW-732BR */
-+ ATH79_MACH_MC_MAC1200R, /* MERCURY MAC1200R*/
-+ ATH79_MACH_TL_MR10U, /* TP-LINK TL-MR10U */
-+ ATH79_MACH_TL_MR11U, /* TP-LINK TL-MR11U */
-+ ATH79_MACH_TL_MR13U, /* TP-LINK TL-MR13U */
-+ ATH79_MACH_TL_MR3020, /* TP-LINK TL-MR3020 */
-+ ATH79_MACH_TL_MR3040, /* TP-LINK TL-MR3040 */
-+ ATH79_MACH_TL_MR3040_V2, /* TP-LINK TL-MR3040 v2 */
-+ ATH79_MACH_TL_MR3220, /* TP-LINK TL-MR3220 */
-+ ATH79_MACH_TL_MR3220_V2, /* TP-LINK TL-MR3220 v2 */
-+ ATH79_MACH_TL_MR3420, /* TP-LINK TL-MR3420 */
-+ ATH79_MACH_TL_MR3420_V2, /* TP-LINK TL-MR3420 v2 */
-+ ATH79_MACH_TL_WA701ND_V2, /* TP-LINK TL-WA701ND v2 */
-+ ATH79_MACH_TL_WA750RE, /* TP-LINK TL-WA750RE */
-+ ATH79_MACH_TL_WA7210N_V2, /* TP-LINK TL-WA7210N v2 */
-+ ATH79_MACH_TL_WA7510N_V1, /* TP-LINK TL-WA7510N v1*/
-+ ATH79_MACH_TL_WA850RE, /* TP-LINK TL-WA850RE */
-+ ATH79_MACH_TL_WA860RE, /* TP-LINK TL-WA860RE */
-+ ATH79_MACH_TL_WA801ND_V2, /* TP-LINK TL-WA801ND v2 */
-+ ATH79_MACH_TL_WA830RE_V2, /* TP-LINK TL-WA830RE v2 */
-+ ATH79_MACH_TL_WA901ND, /* TP-LINK TL-WA901ND */
-+ ATH79_MACH_TL_WA901ND_V2, /* TP-LINK TL-WA901ND v2 */
-+ ATH79_MACH_TL_WA901ND_V3, /* TP-LINK TL-WA901ND v3 */
-+ ATH79_MACH_TL_WDR3320_V2, /* TP-LINK TL-WDR3320 v2 */
-+ ATH79_MACH_TL_WDR3500, /* TP-LINK TL-WDR3500 */
-+ ATH79_MACH_TL_WDR4300, /* TP-LINK TL-WDR4300 */
-+ ATH79_MACH_TL_WDR6500_V2, /* TP-LINK TL-WDR6500 v2 */
-+ ATH79_MACH_TL_WDR4900_V2, /* TP-LINK TL-WDR4900 v2 */
-+ ATH79_MACH_TL_WR1041N_V2, /* TP-LINK TL-WR1041N v2 */
-+ ATH79_MACH_TL_WR1043ND, /* TP-LINK TL-WR1043ND */
-+ ATH79_MACH_TL_WR1043ND_V2, /* TP-LINK TL-WR1043ND v2 */
-+ ATH79_MACH_TL_WR2543N, /* TP-LINK TL-WR2543N/ND */
-+ ATH79_MACH_TL_WR703N, /* TP-LINK TL-WR703N */
-+ ATH79_MACH_TL_WR710N, /* TP-LINK TL-WR710N */
-+ ATH79_MACH_TL_WR720N_V3, /* TP-LINK TL-WR720N v3/v4 */
-+ ATH79_MACH_TL_WR741ND, /* TP-LINK TL-WR741ND */
-+ ATH79_MACH_TL_WR741ND_V4, /* TP-LINK TL-WR741ND v4*/
-+ ATH79_MACH_TL_WR841N_V1, /* TP-LINK TL-WR841N v1 */
-+ ATH79_MACH_TL_WR841N_V7, /* TP-LINK TL-WR841N/ND v7 */
-+ ATH79_MACH_TL_WR841N_V8, /* TP-LINK TL-WR841N/ND v8 */
-+ ATH79_MACH_TL_WR841N_V9, /* TP-LINK TL-WR841N/ND v9 */
-+ ATH79_MACH_TL_WR842N_V2, /* TP-LINK TL-WR842N/ND v2 */
-+ ATH79_MACH_TL_WR941ND, /* TP-LINK TL-WR941ND */
-+ ATH79_MACH_TL_WR941ND_V5, /* TP-LINK TL-WR941ND v5 */
-+ ATH79_MACH_TL_WR941ND_V6, /* TP-LINK TL-WR941ND v6 */
-+ ATH79_MACH_TUBE2H, /* Alfa Network Tube2H */
-+ ATH79_MACH_UBNT_AIRGW, /* Ubiquiti AirGateway */
-+ ATH79_MACH_UBNT_AIRGWP, /* Ubiquiti AirGateway Pro */
-+ ATH79_MACH_UBNT_AIRROUTER, /* Ubiquiti AirRouter */
-+ ATH79_MACH_UBNT_BULLET_M, /* Ubiquiti Bullet M */
-+ ATH79_MACH_UBNT_LOCO_M_XW, /* Ubiquiti Loco M XW */
-+ ATH79_MACH_UBNT_LSSR71, /* Ubiquiti LS-SR71 */
-+ ATH79_MACH_UBNT_LSX, /* Ubiquiti LSX */
-+ ATH79_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */
-+ ATH79_MACH_UBNT_NANO_M_XW, /* Ubiquiti NanoStation M XW */
-+ ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
-+ ATH79_MACH_UBNT_ROCKET_M_XW, /* Ubiquiti Rocket M XW*/
-+ ATH79_MACH_UBNT_ROCKET_M_TI, /* Ubiquiti Rocket M TI*/
-+ ATH79_MACH_UBNT_RSPRO, /* Ubiquiti RouterStation Pro */
-+ ATH79_MACH_UBNT_RS, /* Ubiquiti RouterStation */
-+ ATH79_MACH_UBNT_UAP_PRO, /* Ubiquiti UniFi AP Pro */
-+ ATH79_MACH_UBNT_UNIFI, /* Ubiquiti Unifi */
-+ ATH79_MACH_UBNT_UNIFI_OUTDOOR, /* Ubiquiti UnifiAP Outdoor */
-+ ATH79_MACH_UBNT_UNIFI_OUTDOOR_PLUS, /* Ubiquiti UnifiAP Outdoor+ */
- ATH79_MACH_UBNT_XM, /* Ubiquiti Networks XM board rev 1.0 */
-+ ATH79_MACH_WEIO, /* WeIO board */
-+ ATH79_MACH_WHR_G301N, /* Buffalo WHR-G301N */
-+ ATH79_MACH_WHR_HP_G300N, /* Buffalo WHR-HP-G300N */
-+ ATH79_MACH_WHR_HP_GN, /* Buffalo WHR-HP-GN */
-+ ATH79_MACH_WLAE_AG300N, /* Buffalo WLAE-AG300N */
-+ ATH79_MACH_WLR8100, /* SITECOM WLR-8100 */
-+ ATH79_MACH_WNDAP360, /* NETGEAR WNDAP360 */
-+ ATH79_MACH_WNDR3700, /* NETGEAR WNDR3700/WNDR3800/WNDRMAC */
-+ ATH79_MACH_WNDR3700_V4, /* NETGEAR WNDR3700v4 */
-+ ATH79_MACH_WNDR4300, /* NETGEAR WNDR4300 */
-+ ATH79_MACH_WNR2000, /* NETGEAR WNR2000 */
-+ ATH79_MACH_WNR2000_V3, /* NETGEAR WNR2000 v3 */
-+ ATH79_MACH_WNR2000_V4, /* NETGEAR WNR2000 v4 */
-+ ATH79_MACH_WNR2200, /* NETGEAR WNR2200 */
-+ ATH79_MACH_WNR612_V2, /* NETGEAR WNR612 v2 */
-+ ATH79_MACH_WNR1000_V2, /* NETGEAR WNR1000 v2 */
-+ ATH79_MACH_WP543, /* Compex WP543 */
-+ ATH79_MACH_WPE72, /* Compex WPE72 */
-+ ATH79_MACH_WPJ344, /* Compex WPJ344 */
-+ ATH79_MACH_WPJ531, /* Compex WPJ531 */
-+ ATH79_MACH_WPJ558, /* Compex WPJ558 */
-+ ATH79_MACH_WRT160NL, /* Linksys WRT160NL */
-+ ATH79_MACH_WRT400N, /* Linksys WRT400N */
-+ ATH79_MACH_WZR_HP_AG300H, /* Buffalo WZR-HP-AG300H */
-+ ATH79_MACH_WZR_HP_G300NH, /* Buffalo WZR-HP-G300NH */
-+ ATH79_MACH_WZR_HP_G300NH2, /* Buffalo WZR-HP-G300NH2 */
-+ ATH79_MACH_WZR_HP_G450H, /* Buffalo WZR-HP-G450H */
-+ ATH79_MACH_WZR_450HP2, /* Buffalo WZR-450HP2 */
-+ ATH79_MACH_ZCN_1523H_2, /* Zcomax ZCN-1523H-2-xx */
-+ ATH79_MACH_ZCN_1523H_5, /* Zcomax ZCN-1523H-5-xx */
- };
-
- #endif /* _ATH79_MACHTYPE_H */
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ubnt.c linux-4.1.13/arch/mips/ath79/mach-ubnt.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-ubnt.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-ubnt.c 2015-09-13 20:04:35.072523889 +0200
-@@ -0,0 +1,205 @@
-+/*
-+ * Ubiquiti RouterStation support
-+ *
-+ * Copyright (C) 2008-2012 Gabor Juhos <juhosg@openwrt.org>
-+ * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
-+ * Copyright (C) 2008 Ubiquiti <support@ubnt.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 <asm/mach-ath79/ath79.h>
-+
-+#include "dev-eth.h"
-+#include "dev-gpio-buttons.h"
-+#include "dev-leds-gpio.h"
-+#include "dev-m25p80.h"
-+#include "dev-usb.h"
-+#include "machtypes.h"
-+#include "pci.h"
-+
-+#define UBNT_RS_GPIO_LED_RF 2
-+#define UBNT_RS_GPIO_SW4 8
-+
-+#define UBNT_LS_SR71_GPIO_LED_D25 0
-+#define UBNT_LS_SR71_GPIO_LED_D26 1
-+#define UBNT_LS_SR71_GPIO_LED_D24 2
-+#define UBNT_LS_SR71_GPIO_LED_D23 4
-+#define UBNT_LS_SR71_GPIO_LED_D22 5
-+#define UBNT_LS_SR71_GPIO_LED_D27 6
-+#define UBNT_LS_SR71_GPIO_LED_D28 7
-+
-+#define UBNT_KEYS_POLL_INTERVAL 20 /* msecs */
-+#define UBNT_KEYS_DEBOUNCE_INTERVAL (3 * UBNT_KEYS_POLL_INTERVAL)
-+
-+static struct gpio_led ubnt_rs_leds_gpio[] __initdata = {
-+ {
-+ .name = "ubnt:green:rf",
-+ .gpio = UBNT_RS_GPIO_LED_RF,
-+ .active_low = 0,
-+ }
-+};
-+
-+static struct gpio_led ubnt_ls_sr71_leds_gpio[] __initdata = {
-+ {
-+ .name = "ubnt:green:d22",
-+ .gpio = UBNT_LS_SR71_GPIO_LED_D22,
-+ .active_low = 0,
-+ }, {
-+ .name = "ubnt:green:d23",
-+ .gpio = UBNT_LS_SR71_GPIO_LED_D23,
-+ .active_low = 0,
-+ }, {
-+ .name = "ubnt:green:d24",
-+ .gpio = UBNT_LS_SR71_GPIO_LED_D24,
-+ .active_low = 0,
-+ }, {
-+ .name = "ubnt:red:d25",
-+ .gpio = UBNT_LS_SR71_GPIO_LED_D25,
-+ .active_low = 0,
-+ }, {
-+ .name = "ubnt:red:d26",
-+ .gpio = UBNT_LS_SR71_GPIO_LED_D26,
-+ .active_low = 0,
-+ }, {
-+ .name = "ubnt:green:d27",
-+ .gpio = UBNT_LS_SR71_GPIO_LED_D27,
-+ .active_low = 0,
-+ }, {
-+ .name = "ubnt:green:d28",
-+ .gpio = UBNT_LS_SR71_GPIO_LED_D28,
-+ .active_low = 0,
-+ }
-+};
-+
-+static struct gpio_keys_button ubnt_gpio_keys[] __initdata = {
-+ {
-+ .desc = "sw4",
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = UBNT_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = UBNT_RS_GPIO_SW4,
-+ .active_low = 1,
-+ }
-+};
-+
-+static const char *ubnt_part_probes[] = {
-+ "RedBoot",
-+ NULL,
-+};
-+
-+static struct flash_platform_data ubnt_flash_data = {
-+ .part_probes = ubnt_part_probes,
-+};
-+
-+static void __init ubnt_generic_setup(void)
-+{
-+ ath79_register_m25p80(&ubnt_flash_data);
-+
-+ ath79_register_gpio_keys_polled(-1, UBNT_KEYS_POLL_INTERVAL,
-+ ARRAY_SIZE(ubnt_gpio_keys),
-+ ubnt_gpio_keys);
-+ ath79_register_pci();
-+}
-+
-+#define UBNT_RS_WAN_PHYMASK BIT(20)
-+#define UBNT_RS_LAN_PHYMASK (BIT(16) | BIT(17) | BIT(18) | BIT(19))
-+
-+static void __init ubnt_rs_setup(void)
-+{
-+ ubnt_generic_setup();
-+
-+ ath79_register_mdio(0, ~(UBNT_RS_WAN_PHYMASK | UBNT_RS_LAN_PHYMASK));
-+
-+ ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
-+ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
-+ ath79_eth0_data.phy_mask = UBNT_RS_WAN_PHYMASK;
-+
-+ /*
-+ * There is Secondary MAC address duplicate problem with some
-+ * UBNT HW batches. Do not increase Secondary MAC address by 1
-+ * but do workaround with 'Locally Administrated' bit.
-+ */
-+ ath79_init_local_mac(ath79_eth1_data.mac_addr, ath79_mac_base);
-+ ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
-+ ath79_eth1_data.speed = SPEED_100;
-+ ath79_eth1_data.duplex = DUPLEX_FULL;
-+
-+ ath79_register_eth(0);
-+ ath79_register_eth(1);
-+
-+ ath79_register_usb();
-+
-+ ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_rs_leds_gpio),
-+ ubnt_rs_leds_gpio);
-+}
-+
-+MIPS_MACHINE(ATH79_MACH_UBNT_RS, "UBNT-RS", "Ubiquiti RouterStation",
-+ ubnt_rs_setup);
-+
-+#define UBNT_RSPRO_WAN_PHYMASK BIT(4)
-+#define UBNT_RSPRO_LAN_PHYMASK (BIT(0) | BIT(1) | BIT(2) | BIT(3))
-+
-+static void __init ubnt_rspro_setup(void)
-+{
-+ ubnt_generic_setup();
-+
-+ ath79_register_mdio(0, ~(UBNT_RSPRO_WAN_PHYMASK |
-+ UBNT_RSPRO_LAN_PHYMASK));
-+
-+ ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
-+ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
-+ ath79_eth0_data.phy_mask = UBNT_RSPRO_WAN_PHYMASK;
-+
-+ /*
-+ * There is Secondary MAC address duplicate problem with some
-+ * UBNT HW batches. Do not increase Secondary MAC address by 1
-+ * but do workaround with 'Locally Administrated' bit.
-+ */
-+ ath79_init_local_mac(ath79_eth1_data.mac_addr, ath79_mac_base);
-+ ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
-+ ath79_eth1_data.phy_mask = UBNT_RSPRO_LAN_PHYMASK;
-+ ath79_eth1_data.speed = SPEED_1000;
-+ ath79_eth1_data.duplex = DUPLEX_FULL;
-+
-+ ath79_register_eth(0);
-+ ath79_register_eth(1);
-+
-+ ath79_register_usb();
-+
-+ ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_rs_leds_gpio),
-+ ubnt_rs_leds_gpio);
-+}
-+
-+MIPS_MACHINE(ATH79_MACH_UBNT_RSPRO, "UBNT-RSPRO", "Ubiquiti RouterStation Pro",
-+ ubnt_rspro_setup);
-+
-+static void __init ubnt_lsx_setup(void)
-+{
-+ ubnt_generic_setup();
-+}
-+
-+MIPS_MACHINE(ATH79_MACH_UBNT_LSX, "UBNT-LSX", "Ubiquiti LSX", ubnt_lsx_setup);
-+
-+#define UBNT_LSSR71_PHY_MASK BIT(1)
-+
-+static void __init ubnt_lssr71_setup(void)
-+{
-+ ubnt_generic_setup();
-+
-+ ath79_register_mdio(0, ~UBNT_LSSR71_PHY_MASK);
-+
-+ ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
-+ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
-+ ath79_eth0_data.phy_mask = UBNT_LSSR71_PHY_MASK;
-+
-+ ath79_register_eth(0);
-+
-+ ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_ls_sr71_leds_gpio),
-+ ubnt_ls_sr71_leds_gpio);
-+}
-+
-+MIPS_MACHINE(ATH79_MACH_UBNT_LSSR71, "UBNT-LS-SR71", "Ubiquiti LS-SR71",
-+ ubnt_lssr71_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ubnt-xm.c linux-4.1.13/arch/mips/ath79/mach-ubnt-xm.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-ubnt-xm.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-ubnt-xm.c 2015-12-04 19:57:04.386077932 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-ubnt-xm.c linux-4.1.43/arch/mips/ath79/mach-ubnt-xm.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-ubnt-xm.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/mach-ubnt-xm.c 2017-08-06 20:02:15.000000000 +0200
@@ -12,15 +12,26 @@
#include <linux/init.h>
@@ -25585,9 +25345,218 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-ubnt-xm.c linux-4.1.13/arch/mip
+
+MIPS_MACHINE(ATH79_MACH_UBNT_AIRGWP, "UBNT-AGWP", "Ubiquiti AirGateway Pro",
+ ubnt_airgateway_pro_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-weio.c linux-4.1.13/arch/mips/ath79/mach-weio.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-weio.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-weio.c 2015-11-21 17:22:11.759223549 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-ubnt.c linux-4.1.43/arch/mips/ath79/mach-ubnt.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-ubnt.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-ubnt.c 2017-08-06 20:02:15.000000000 +0200
+@@ -0,0 +1,205 @@
++/*
++ * Ubiquiti RouterStation support
++ *
++ * Copyright (C) 2008-2012 Gabor Juhos <juhosg@openwrt.org>
++ * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
++ * Copyright (C) 2008 Ubiquiti <support@ubnt.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 <asm/mach-ath79/ath79.h>
++
++#include "dev-eth.h"
++#include "dev-gpio-buttons.h"
++#include "dev-leds-gpio.h"
++#include "dev-m25p80.h"
++#include "dev-usb.h"
++#include "machtypes.h"
++#include "pci.h"
++
++#define UBNT_RS_GPIO_LED_RF 2
++#define UBNT_RS_GPIO_SW4 8
++
++#define UBNT_LS_SR71_GPIO_LED_D25 0
++#define UBNT_LS_SR71_GPIO_LED_D26 1
++#define UBNT_LS_SR71_GPIO_LED_D24 2
++#define UBNT_LS_SR71_GPIO_LED_D23 4
++#define UBNT_LS_SR71_GPIO_LED_D22 5
++#define UBNT_LS_SR71_GPIO_LED_D27 6
++#define UBNT_LS_SR71_GPIO_LED_D28 7
++
++#define UBNT_KEYS_POLL_INTERVAL 20 /* msecs */
++#define UBNT_KEYS_DEBOUNCE_INTERVAL (3 * UBNT_KEYS_POLL_INTERVAL)
++
++static struct gpio_led ubnt_rs_leds_gpio[] __initdata = {
++ {
++ .name = "ubnt:green:rf",
++ .gpio = UBNT_RS_GPIO_LED_RF,
++ .active_low = 0,
++ }
++};
++
++static struct gpio_led ubnt_ls_sr71_leds_gpio[] __initdata = {
++ {
++ .name = "ubnt:green:d22",
++ .gpio = UBNT_LS_SR71_GPIO_LED_D22,
++ .active_low = 0,
++ }, {
++ .name = "ubnt:green:d23",
++ .gpio = UBNT_LS_SR71_GPIO_LED_D23,
++ .active_low = 0,
++ }, {
++ .name = "ubnt:green:d24",
++ .gpio = UBNT_LS_SR71_GPIO_LED_D24,
++ .active_low = 0,
++ }, {
++ .name = "ubnt:red:d25",
++ .gpio = UBNT_LS_SR71_GPIO_LED_D25,
++ .active_low = 0,
++ }, {
++ .name = "ubnt:red:d26",
++ .gpio = UBNT_LS_SR71_GPIO_LED_D26,
++ .active_low = 0,
++ }, {
++ .name = "ubnt:green:d27",
++ .gpio = UBNT_LS_SR71_GPIO_LED_D27,
++ .active_low = 0,
++ }, {
++ .name = "ubnt:green:d28",
++ .gpio = UBNT_LS_SR71_GPIO_LED_D28,
++ .active_low = 0,
++ }
++};
++
++static struct gpio_keys_button ubnt_gpio_keys[] __initdata = {
++ {
++ .desc = "sw4",
++ .type = EV_KEY,
++ .code = KEY_RESTART,
++ .debounce_interval = UBNT_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = UBNT_RS_GPIO_SW4,
++ .active_low = 1,
++ }
++};
++
++static const char *ubnt_part_probes[] = {
++ "RedBoot",
++ NULL,
++};
++
++static struct flash_platform_data ubnt_flash_data = {
++ .part_probes = ubnt_part_probes,
++};
++
++static void __init ubnt_generic_setup(void)
++{
++ ath79_register_m25p80(&ubnt_flash_data);
++
++ ath79_register_gpio_keys_polled(-1, UBNT_KEYS_POLL_INTERVAL,
++ ARRAY_SIZE(ubnt_gpio_keys),
++ ubnt_gpio_keys);
++ ath79_register_pci();
++}
++
++#define UBNT_RS_WAN_PHYMASK BIT(20)
++#define UBNT_RS_LAN_PHYMASK (BIT(16) | BIT(17) | BIT(18) | BIT(19))
++
++static void __init ubnt_rs_setup(void)
++{
++ ubnt_generic_setup();
++
++ ath79_register_mdio(0, ~(UBNT_RS_WAN_PHYMASK | UBNT_RS_LAN_PHYMASK));
++
++ ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
++ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
++ ath79_eth0_data.phy_mask = UBNT_RS_WAN_PHYMASK;
++
++ /*
++ * There is Secondary MAC address duplicate problem with some
++ * UBNT HW batches. Do not increase Secondary MAC address by 1
++ * but do workaround with 'Locally Administrated' bit.
++ */
++ ath79_init_local_mac(ath79_eth1_data.mac_addr, ath79_mac_base);
++ ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
++ ath79_eth1_data.speed = SPEED_100;
++ ath79_eth1_data.duplex = DUPLEX_FULL;
++
++ ath79_register_eth(0);
++ ath79_register_eth(1);
++
++ ath79_register_usb();
++
++ ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_rs_leds_gpio),
++ ubnt_rs_leds_gpio);
++}
++
++MIPS_MACHINE(ATH79_MACH_UBNT_RS, "UBNT-RS", "Ubiquiti RouterStation",
++ ubnt_rs_setup);
++
++#define UBNT_RSPRO_WAN_PHYMASK BIT(4)
++#define UBNT_RSPRO_LAN_PHYMASK (BIT(0) | BIT(1) | BIT(2) | BIT(3))
++
++static void __init ubnt_rspro_setup(void)
++{
++ ubnt_generic_setup();
++
++ ath79_register_mdio(0, ~(UBNT_RSPRO_WAN_PHYMASK |
++ UBNT_RSPRO_LAN_PHYMASK));
++
++ ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
++ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
++ ath79_eth0_data.phy_mask = UBNT_RSPRO_WAN_PHYMASK;
++
++ /*
++ * There is Secondary MAC address duplicate problem with some
++ * UBNT HW batches. Do not increase Secondary MAC address by 1
++ * but do workaround with 'Locally Administrated' bit.
++ */
++ ath79_init_local_mac(ath79_eth1_data.mac_addr, ath79_mac_base);
++ ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
++ ath79_eth1_data.phy_mask = UBNT_RSPRO_LAN_PHYMASK;
++ ath79_eth1_data.speed = SPEED_1000;
++ ath79_eth1_data.duplex = DUPLEX_FULL;
++
++ ath79_register_eth(0);
++ ath79_register_eth(1);
++
++ ath79_register_usb();
++
++ ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_rs_leds_gpio),
++ ubnt_rs_leds_gpio);
++}
++
++MIPS_MACHINE(ATH79_MACH_UBNT_RSPRO, "UBNT-RSPRO", "Ubiquiti RouterStation Pro",
++ ubnt_rspro_setup);
++
++static void __init ubnt_lsx_setup(void)
++{
++ ubnt_generic_setup();
++}
++
++MIPS_MACHINE(ATH79_MACH_UBNT_LSX, "UBNT-LSX", "Ubiquiti LSX", ubnt_lsx_setup);
++
++#define UBNT_LSSR71_PHY_MASK BIT(1)
++
++static void __init ubnt_lssr71_setup(void)
++{
++ ubnt_generic_setup();
++
++ ath79_register_mdio(0, ~UBNT_LSSR71_PHY_MASK);
++
++ ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0);
++ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
++ ath79_eth0_data.phy_mask = UBNT_LSSR71_PHY_MASK;
++
++ ath79_register_eth(0);
++
++ ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_ls_sr71_leds_gpio),
++ ubnt_ls_sr71_leds_gpio);
++}
++
++MIPS_MACHINE(ATH79_MACH_UBNT_LSSR71, "UBNT-LS-SR71", "Ubiquiti LS-SR71",
++ ubnt_lssr71_setup);
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-weio.c linux-4.1.43/arch/mips/ath79/mach-weio.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-weio.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-weio.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,140 @@
+/**
+ * WEIO Web Of Things Platform
@@ -25729,9 +25698,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-weio.c linux-4.1.13/arch/mips/a
+}
+
+MIPS_MACHINE(ATH79_MACH_WEIO, "WEIO", "WeIO board", weio_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-whr-hp-g300n.c linux-4.1.13/arch/mips/ath79/mach-whr-hp-g300n.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-whr-hp-g300n.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-whr-hp-g300n.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-whr-hp-g300n.c linux-4.1.43/arch/mips/ath79/mach-whr-hp-g300n.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-whr-hp-g300n.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-whr-hp-g300n.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,155 @@
+/*
+ * Buffalo WHR-HP-G300N board support
@@ -25888,9 +25857,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-whr-hp-g300n.c linux-4.1.13/arc
+
+MIPS_MACHINE(ATH79_MACH_WHR_HP_GN, "WHR-HP-GN", "Buffalo WHR-HP-GN",
+ whrhpg300n_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wlae-ag300n.c linux-4.1.13/arch/mips/ath79/mach-wlae-ag300n.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wlae-ag300n.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wlae-ag300n.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wlae-ag300n.c linux-4.1.43/arch/mips/ath79/mach-wlae-ag300n.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wlae-ag300n.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wlae-ag300n.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,114 @@
+/*
+ * Buffalo WLAE-AG300N board support
@@ -26006,9 +25975,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wlae-ag300n.c linux-4.1.13/arch
+
+MIPS_MACHINE(ATH79_MACH_WLAE_AG300N, "WLAE-AG300N",
+ "Buffalo WLAE-AG300N", wlaeag300n_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wlr8100.c linux-4.1.13/arch/mips/ath79/mach-wlr8100.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wlr8100.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wlr8100.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wlr8100.c linux-4.1.43/arch/mips/ath79/mach-wlr8100.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wlr8100.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wlr8100.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,206 @@
+/*
+ * Sitecom X8 AC1750 WLR-8100 board support
@@ -26216,9 +26185,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wlr8100.c linux-4.1.13/arch/mip
+ "Sitecom WLR-8100",
+ wlr8100_010_setup);
+
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wndap360.c linux-4.1.13/arch/mips/ath79/mach-wndap360.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wndap360.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wndap360.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wndap360.c linux-4.1.43/arch/mips/ath79/mach-wndap360.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wndap360.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wndap360.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,105 @@
+/*
+ * Netgear WNDAP360 board support (proper leds / button support missing)
@@ -26325,9 +26294,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wndap360.c linux-4.1.13/arch/mi
+}
+
+MIPS_MACHINE(ATH79_MACH_WNDAP360, "WNDAP360", "Netgear WNDAP360", wndap360_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wndr3700.c linux-4.1.13/arch/mips/ath79/mach-wndr3700.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wndr3700.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wndr3700.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wndr3700.c linux-4.1.43/arch/mips/ath79/mach-wndr3700.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wndr3700.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wndr3700.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,172 @@
+/*
+ * Netgear WNDR3700 board support
@@ -26501,9 +26470,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wndr3700.c linux-4.1.13/arch/mi
+MIPS_MACHINE(ATH79_MACH_WNDR3700, "WNDR3700",
+ "NETGEAR WNDR3700/WNDR3800/WNDRMAC",
+ wndr3700_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wndr4300.c linux-4.1.13/arch/mips/ath79/mach-wndr4300.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wndr4300.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wndr4300.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wndr4300.c linux-4.1.43/arch/mips/ath79/mach-wndr4300.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wndr4300.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wndr4300.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,210 @@
+/*
+ * NETGEAR WNDR3700v4/WNDR4300 board support
@@ -26715,158 +26684,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wndr4300.c linux-4.1.13/arch/mi
+ wndr4300_setup);
+MIPS_MACHINE(ATH79_MACH_WNDR4300, "WNDR4300", "NETGEAR WNDR4300",
+ wndr4300_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wnr2000.c linux-4.1.13/arch/mips/ath79/mach-wnr2000.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wnr2000.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wnr2000.c 2015-09-13 20:04:35.072523889 +0200
-@@ -0,0 +1,145 @@
-+/*
-+ * NETGEAR WNR2000 board support
-+ *
-+ * Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
-+ * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
-+ * Copyright (C) 2008-2009 Andy Boyett <agb@openwrt.org>
-+ *
-+ * 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/mtd/mtd.h>
-+#include <linux/mtd/partitions.h>
-+
-+#include <asm/mach-ath79/ath79.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"
-+
-+#define WNR2000_GPIO_LED_PWR_GREEN 14
-+#define WNR2000_GPIO_LED_PWR_AMBER 7
-+#define WNR2000_GPIO_LED_WPS 4
-+#define WNR2000_GPIO_LED_WLAN 6
-+#define WNR2000_GPIO_BTN_RESET 21
-+#define WNR2000_GPIO_BTN_WPS 8
-+
-+#define WNR2000_KEYS_POLL_INTERVAL 20 /* msecs */
-+#define WNR2000_KEYS_DEBOUNCE_INTERVAL (3 * WNR2000_KEYS_POLL_INTERVAL)
-+
-+static struct mtd_partition wnr2000_partitions[] = {
-+ {
-+ .name = "u-boot",
-+ .offset = 0,
-+ .size = 0x040000,
-+ .mask_flags = MTD_WRITEABLE,
-+ }, {
-+ .name = "u-boot-env",
-+ .offset = 0x040000,
-+ .size = 0x010000,
-+ }, {
-+ .name = "rootfs",
-+ .offset = 0x050000,
-+ .size = 0x240000,
-+ }, {
-+ .name = "user-config",
-+ .offset = 0x290000,
-+ .size = 0x010000,
-+ }, {
-+ .name = "uImage",
-+ .offset = 0x2a0000,
-+ .size = 0x120000,
-+ }, {
-+ .name = "language_table",
-+ .offset = 0x3c0000,
-+ .size = 0x020000,
-+ }, {
-+ .name = "rootfs_checksum",
-+ .offset = 0x3e0000,
-+ .size = 0x010000,
-+ }, {
-+ .name = "art",
-+ .offset = 0x3f0000,
-+ .size = 0x010000,
-+ .mask_flags = MTD_WRITEABLE,
-+ }
-+};
-+
-+static struct flash_platform_data wnr2000_flash_data = {
-+ .parts = wnr2000_partitions,
-+ .nr_parts = ARRAY_SIZE(wnr2000_partitions),
-+};
-+
-+static struct gpio_led wnr2000_leds_gpio[] __initdata = {
-+ {
-+ .name = "netgear:green:power",
-+ .gpio = WNR2000_GPIO_LED_PWR_GREEN,
-+ .active_low = 1,
-+ }, {
-+ .name = "netgear:amber:power",
-+ .gpio = WNR2000_GPIO_LED_PWR_AMBER,
-+ .active_low = 1,
-+ }, {
-+ .name = "netgear:green:wps",
-+ .gpio = WNR2000_GPIO_LED_WPS,
-+ .active_low = 1,
-+ }, {
-+ .name = "netgear:blue:wlan",
-+ .gpio = WNR2000_GPIO_LED_WLAN,
-+ .active_low = 1,
-+ }
-+};
-+
-+static struct gpio_keys_button wnr2000_gpio_keys[] __initdata = {
-+ {
-+ .desc = "reset",
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = WNR2000_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = WNR2000_GPIO_BTN_RESET,
-+ }, {
-+ .desc = "wps",
-+ .type = EV_KEY,
-+ .code = KEY_WPS_BUTTON,
-+ .debounce_interval = WNR2000_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = WNR2000_GPIO_BTN_WPS,
-+ }
-+};
-+
-+static void __init wnr2000_setup(void)
-+{
-+ u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
-+
-+ ath79_register_mdio(0, 0x0);
-+
-+ ath79_init_mac(ath79_eth0_data.mac_addr, eeprom, 0);
-+ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
-+ ath79_eth0_data.speed = SPEED_100;
-+ ath79_eth0_data.duplex = DUPLEX_FULL;
-+ ath79_eth0_data.has_ar8216 = 1;
-+
-+ ath79_init_mac(ath79_eth1_data.mac_addr, eeprom, 1);
-+ ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
-+ ath79_eth1_data.phy_mask = 0x10;
-+
-+ ath79_register_eth(0);
-+ ath79_register_eth(1);
-+
-+ ath79_register_m25p80(&wnr2000_flash_data);
-+
-+ ath79_register_leds_gpio(-1, ARRAY_SIZE(wnr2000_leds_gpio),
-+ wnr2000_leds_gpio);
-+
-+ ath79_register_gpio_keys_polled(-1, WNR2000_KEYS_POLL_INTERVAL,
-+ ARRAY_SIZE(wnr2000_gpio_keys),
-+ wnr2000_gpio_keys);
-+
-+ ath79_register_wmac(eeprom, NULL);
-+}
-+
-+MIPS_MACHINE(ATH79_MACH_WNR2000, "WNR2000", "NETGEAR WNR2000", wnr2000_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wnr2000-v3.c linux-4.1.13/arch/mips/ath79/mach-wnr2000-v3.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wnr2000-v3.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wnr2000-v3.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wnr2000-v3.c linux-4.1.43/arch/mips/ath79/mach-wnr2000-v3.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wnr2000-v3.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wnr2000-v3.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,140 @@
+/*
+ * NETGEAR WNR2000v3/WNR612v2/WNR1000v2 board support
@@ -27008,9 +26828,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wnr2000-v3.c linux-4.1.13/arch/
+}
+
+MIPS_MACHINE(ATH79_MACH_WNR1000_V2, "WNR1000V2", "NETGEAR WNR1000 V2", wnr1000v2_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wnr2000-v4.c linux-4.1.13/arch/mips/ath79/mach-wnr2000-v4.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wnr2000-v4.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wnr2000-v4.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wnr2000-v4.c linux-4.1.43/arch/mips/ath79/mach-wnr2000-v4.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wnr2000-v4.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wnr2000-v4.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,214 @@
+/*
+ * NETGEAR WNR2000v4 board support
@@ -27226,9 +27046,158 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wnr2000-v4.c linux-4.1.13/arch/
+}
+
+MIPS_MACHINE(ATH79_MACH_WNR2000_V4, "WNR2000V4", "NETGEAR WNR2000 V4", wnr2000v4_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wnr2200.c linux-4.1.13/arch/mips/ath79/mach-wnr2200.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wnr2200.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wnr2200.c 2015-11-21 17:22:11.759223549 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wnr2000.c linux-4.1.43/arch/mips/ath79/mach-wnr2000.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wnr2000.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wnr2000.c 2017-08-06 20:02:15.000000000 +0200
+@@ -0,0 +1,145 @@
++/*
++ * NETGEAR WNR2000 board support
++ *
++ * Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
++ * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
++ * Copyright (C) 2008-2009 Andy Boyett <agb@openwrt.org>
++ *
++ * 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/mtd/mtd.h>
++#include <linux/mtd/partitions.h>
++
++#include <asm/mach-ath79/ath79.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"
++
++#define WNR2000_GPIO_LED_PWR_GREEN 14
++#define WNR2000_GPIO_LED_PWR_AMBER 7
++#define WNR2000_GPIO_LED_WPS 4
++#define WNR2000_GPIO_LED_WLAN 6
++#define WNR2000_GPIO_BTN_RESET 21
++#define WNR2000_GPIO_BTN_WPS 8
++
++#define WNR2000_KEYS_POLL_INTERVAL 20 /* msecs */
++#define WNR2000_KEYS_DEBOUNCE_INTERVAL (3 * WNR2000_KEYS_POLL_INTERVAL)
++
++static struct mtd_partition wnr2000_partitions[] = {
++ {
++ .name = "u-boot",
++ .offset = 0,
++ .size = 0x040000,
++ .mask_flags = MTD_WRITEABLE,
++ }, {
++ .name = "u-boot-env",
++ .offset = 0x040000,
++ .size = 0x010000,
++ }, {
++ .name = "rootfs",
++ .offset = 0x050000,
++ .size = 0x240000,
++ }, {
++ .name = "user-config",
++ .offset = 0x290000,
++ .size = 0x010000,
++ }, {
++ .name = "uImage",
++ .offset = 0x2a0000,
++ .size = 0x120000,
++ }, {
++ .name = "language_table",
++ .offset = 0x3c0000,
++ .size = 0x020000,
++ }, {
++ .name = "rootfs_checksum",
++ .offset = 0x3e0000,
++ .size = 0x010000,
++ }, {
++ .name = "art",
++ .offset = 0x3f0000,
++ .size = 0x010000,
++ .mask_flags = MTD_WRITEABLE,
++ }
++};
++
++static struct flash_platform_data wnr2000_flash_data = {
++ .parts = wnr2000_partitions,
++ .nr_parts = ARRAY_SIZE(wnr2000_partitions),
++};
++
++static struct gpio_led wnr2000_leds_gpio[] __initdata = {
++ {
++ .name = "netgear:green:power",
++ .gpio = WNR2000_GPIO_LED_PWR_GREEN,
++ .active_low = 1,
++ }, {
++ .name = "netgear:amber:power",
++ .gpio = WNR2000_GPIO_LED_PWR_AMBER,
++ .active_low = 1,
++ }, {
++ .name = "netgear:green:wps",
++ .gpio = WNR2000_GPIO_LED_WPS,
++ .active_low = 1,
++ }, {
++ .name = "netgear:blue:wlan",
++ .gpio = WNR2000_GPIO_LED_WLAN,
++ .active_low = 1,
++ }
++};
++
++static struct gpio_keys_button wnr2000_gpio_keys[] __initdata = {
++ {
++ .desc = "reset",
++ .type = EV_KEY,
++ .code = KEY_RESTART,
++ .debounce_interval = WNR2000_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = WNR2000_GPIO_BTN_RESET,
++ }, {
++ .desc = "wps",
++ .type = EV_KEY,
++ .code = KEY_WPS_BUTTON,
++ .debounce_interval = WNR2000_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = WNR2000_GPIO_BTN_WPS,
++ }
++};
++
++static void __init wnr2000_setup(void)
++{
++ u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff1000);
++
++ ath79_register_mdio(0, 0x0);
++
++ ath79_init_mac(ath79_eth0_data.mac_addr, eeprom, 0);
++ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
++ ath79_eth0_data.speed = SPEED_100;
++ ath79_eth0_data.duplex = DUPLEX_FULL;
++ ath79_eth0_data.has_ar8216 = 1;
++
++ ath79_init_mac(ath79_eth1_data.mac_addr, eeprom, 1);
++ ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
++ ath79_eth1_data.phy_mask = 0x10;
++
++ ath79_register_eth(0);
++ ath79_register_eth(1);
++
++ ath79_register_m25p80(&wnr2000_flash_data);
++
++ ath79_register_leds_gpio(-1, ARRAY_SIZE(wnr2000_leds_gpio),
++ wnr2000_leds_gpio);
++
++ ath79_register_gpio_keys_polled(-1, WNR2000_KEYS_POLL_INTERVAL,
++ ARRAY_SIZE(wnr2000_gpio_keys),
++ wnr2000_gpio_keys);
++
++ ath79_register_wmac(eeprom, NULL);
++}
++
++MIPS_MACHINE(ATH79_MACH_WNR2000, "WNR2000", "NETGEAR WNR2000", wnr2000_setup);
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wnr2200.c linux-4.1.43/arch/mips/ath79/mach-wnr2200.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wnr2200.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wnr2200.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,137 @@
+/*
+ * NETGEAR WNR2200 board support
@@ -27367,9 +27336,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wnr2200.c linux-4.1.13/arch/mip
+}
+
+MIPS_MACHINE(ATH79_MACH_WNR2200, "WNR2200", "NETGEAR WNR2200", wnr2200_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wp543.c linux-4.1.13/arch/mips/ath79/mach-wp543.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wp543.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wp543.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wp543.c linux-4.1.43/arch/mips/ath79/mach-wp543.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wp543.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wp543.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,109 @@
+/*
+ * Compex WP543/WPJ543 board support
@@ -27480,9 +27449,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wp543.c linux-4.1.13/arch/mips/
+}
+
+MIPS_MACHINE(ATH79_MACH_WP543, "WP543", "Compex WP543", wp543_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wpe72.c linux-4.1.13/arch/mips/ath79/mach-wpe72.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wpe72.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wpe72.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wpe72.c linux-4.1.43/arch/mips/ath79/mach-wpe72.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wpe72.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wpe72.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,97 @@
+/*
+ * Compex WPE72 board support
@@ -27581,9 +27550,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wpe72.c linux-4.1.13/arch/mips/
+}
+
+MIPS_MACHINE(ATH79_MACH_WPE72, "WPE72", "Compex WPE72", wpe72_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wpj344.c linux-4.1.13/arch/mips/ath79/mach-wpj344.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wpj344.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wpj344.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wpj344.c linux-4.1.43/arch/mips/ath79/mach-wpj344.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wpj344.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wpj344.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,175 @@
+/*
+ * Compex WPJ344 board support
@@ -27760,9 +27729,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wpj344.c linux-4.1.13/arch/mips
+}
+
+MIPS_MACHINE(ATH79_MACH_WPJ344, "WPJ344", "Compex WPJ344", wpj344_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wpj531.c linux-4.1.13/arch/mips/ath79/mach-wpj531.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wpj531.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wpj531.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wpj531.c linux-4.1.43/arch/mips/ath79/mach-wpj531.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wpj531.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wpj531.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,143 @@
+/*
+ * Compex WPJ531 board support
@@ -27907,9 +27876,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wpj531.c linux-4.1.13/arch/mips
+}
+
+MIPS_MACHINE(ATH79_MACH_WPJ531, "WPJ531", "Compex WPJ531", wpj531_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wpj558.c linux-4.1.13/arch/mips/ath79/mach-wpj558.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wpj558.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wpj558.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wpj558.c linux-4.1.43/arch/mips/ath79/mach-wpj558.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wpj558.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wpj558.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,177 @@
+/*
+ * Compex WPJ558 board support
@@ -28088,9 +28057,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wpj558.c linux-4.1.13/arch/mips
+}
+
+MIPS_MACHINE(ATH79_MACH_WPJ558, "WPJ558", "Compex WPJ558", wpj558_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wrt160nl.c linux-4.1.13/arch/mips/ath79/mach-wrt160nl.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wrt160nl.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wrt160nl.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wrt160nl.c linux-4.1.43/arch/mips/ath79/mach-wrt160nl.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wrt160nl.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wrt160nl.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,126 @@
+/*
+ * Linksys WRT160NL board support
@@ -28218,9 +28187,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wrt160nl.c linux-4.1.13/arch/mi
+
+MIPS_MACHINE(ATH79_MACH_WRT160NL, "WRT160NL", "Linksys WRT160NL",
+ wrt160nl_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wrt400n.c linux-4.1.13/arch/mips/ath79/mach-wrt400n.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wrt400n.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wrt400n.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wrt400n.c linux-4.1.43/arch/mips/ath79/mach-wrt400n.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wrt400n.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wrt400n.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,161 @@
+/*
+ * Linksys WRT400N board support
@@ -28383,9 +28352,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wrt400n.c linux-4.1.13/arch/mip
+}
+
+MIPS_MACHINE(ATH79_MACH_WRT400N, "WRT400N", "Linksys WRT400N", wrt400n_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wzr-450hp2.c linux-4.1.13/arch/mips/ath79/mach-wzr-450hp2.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wzr-450hp2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wzr-450hp2.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wzr-450hp2.c linux-4.1.43/arch/mips/ath79/mach-wzr-450hp2.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wzr-450hp2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wzr-450hp2.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,221 @@
+/*
+ * Buffalo WZR-450HP2 board support
@@ -28608,9 +28577,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wzr-450hp2.c linux-4.1.13/arch/
+MIPS_MACHINE(ATH79_MACH_WZR_450HP2, "WZR-450HP2",
+ "Buffalo WZR-450HP2", wzr_450hp2_setup);
+
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wzr-hp-ag300h.c linux-4.1.13/arch/mips/ath79/mach-wzr-hp-ag300h.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wzr-hp-ag300h.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wzr-hp-ag300h.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wzr-hp-ag300h.c linux-4.1.43/arch/mips/ath79/mach-wzr-hp-ag300h.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wzr-hp-ag300h.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wzr-hp-ag300h.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,205 @@
+/*
+ * Buffalo WZR-HP-AG300H board support
@@ -28817,183 +28786,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wzr-hp-ag300h.c linux-4.1.13/ar
+
+MIPS_MACHINE(ATH79_MACH_WZR_HP_AG300H, "WZR-HP-AG300H",
+ "Buffalo WZR-HP-AG300H/WZR-600DHP", wzrhpag300h_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wzr-hp-g300nh2.c linux-4.1.13/arch/mips/ath79/mach-wzr-hp-g300nh2.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wzr-hp-g300nh2.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wzr-hp-g300nh2.c 2015-09-13 20:04:35.072523889 +0200
-@@ -0,0 +1,170 @@
-+/*
-+ * Buffalo WZR-HP-G300NH2 board support
-+ *
-+ * Copyright (C) 2011 Felix Fietkau <nbd@openwrt.org>
-+ * Copyright (C) 2011 Mark Deneen <mdeneen@gmail.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 <asm/mach-ath79/ath79.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-usb.h"
-+#include "machtypes.h"
-+
-+#define WZRHPG300NH2_MAC_OFFSET 0x20c
-+#define WZRHPG300NH2_KEYS_POLL_INTERVAL 20 /* msecs */
-+#define WZRHPG300NH2_KEYS_DEBOUNCE_INTERVAL (3 * WZRHPG300NH2_KEYS_POLL_INTERVAL)
-+
-+static struct mtd_partition wzrhpg300nh2_flash_partitions[] = {
-+ {
-+ .name = "u-boot",
-+ .offset = 0,
-+ .size = 0x0040000,
-+ .mask_flags = MTD_WRITEABLE,
-+ }, {
-+ .name = "u-boot-env",
-+ .offset = 0x0040000,
-+ .size = 0x0010000,
-+ .mask_flags = MTD_WRITEABLE,
-+ }, {
-+ .name = "art",
-+ .offset = 0x0050000,
-+ .size = 0x0010000,
-+ .mask_flags = MTD_WRITEABLE,
-+ }, {
-+ .name = "firmware",
-+ .offset = 0x0060000,
-+ .size = 0x1f90000,
-+ }, {
-+ .name = "user_property",
-+ .offset = 0x1ff0000,
-+ .size = 0x0010000,
-+ .mask_flags = MTD_WRITEABLE,
-+ }
-+};
-+
-+static struct flash_platform_data wzrhpg300nh2_flash_data = {
-+ .parts = wzrhpg300nh2_flash_partitions,
-+ .nr_parts = ARRAY_SIZE(wzrhpg300nh2_flash_partitions),
-+};
-+
-+static struct gpio_led wzrhpg300nh2_leds_gpio[] __initdata = {
-+ {
-+ .name = "buffalo:red:diag",
-+ .gpio = 16,
-+ .active_low = 1,
-+ },
-+};
-+
-+static struct gpio_led wzrhpg300nh2_wmac_leds_gpio[] = {
-+ {
-+ .name = "buffalo:blue:usb",
-+ .gpio = 4,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "buffalo:orange:security",
-+ .gpio = 6,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "buffalo:green:router",
-+ .gpio = 7,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "buffalo:blue:movie_engine_on",
-+ .gpio = 8,
-+ .active_low = 1,
-+ },
-+ {
-+ .name = "buffalo:blue:movie_engine_off",
-+ .gpio = 9,
-+ .active_low = 1,
-+ },
-+};
-+
-+/* The AOSS button is wmac gpio 12 */
-+static struct gpio_keys_button wzrhpg300nh2_gpio_keys[] __initdata = {
-+ {
-+ .desc = "reset",
-+ .type = EV_KEY,
-+ .code = KEY_RESTART,
-+ .debounce_interval = WZRHPG300NH2_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = 1,
-+ .active_low = 1,
-+ }, {
-+ .desc = "usb",
-+ .type = EV_KEY,
-+ .code = BTN_2,
-+ .debounce_interval = WZRHPG300NH2_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = 7,
-+ .active_low = 1,
-+ }, {
-+ .desc = "qos",
-+ .type = EV_KEY,
-+ .code = BTN_3,
-+ .debounce_interval = WZRHPG300NH2_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = 11,
-+ .active_low = 0,
-+ }, {
-+ .desc = "router_on",
-+ .type = EV_KEY,
-+ .code = BTN_5,
-+ .debounce_interval = WZRHPG300NH2_KEYS_DEBOUNCE_INTERVAL,
-+ .gpio = 8,
-+ .active_low = 0,
-+ },
-+};
-+
-+static void __init wzrhpg300nh2_setup(void)
-+{
-+
-+ u8 *eeprom = (u8 *) KSEG1ADDR(0x1f051000);
-+ u8 *mac0 = eeprom + WZRHPG300NH2_MAC_OFFSET;
-+ /* There is an eth1 but it is not connected to the switch */
-+
-+ ath79_register_m25p80_multi(&wzrhpg300nh2_flash_data);
-+
-+ ath79_init_mac(ath79_eth0_data.mac_addr, mac0, 0);
-+ ath79_register_mdio(0, ~(BIT(0)));
-+
-+ ath79_init_mac(ath79_eth0_data.mac_addr, mac0, 0);
-+ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
-+ ath79_eth0_data.speed = SPEED_1000;
-+ ath79_eth0_data.duplex = DUPLEX_FULL;
-+ ath79_eth0_data.phy_mask = BIT(0);
-+
-+ ath79_register_eth(0);
-+
-+ /* gpio13 is usb power. Turn it on. */
-+ gpio_request_one(13, GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
-+ "USB power");
-+ ath79_register_usb();
-+
-+ ath79_register_leds_gpio(-1, ARRAY_SIZE(wzrhpg300nh2_leds_gpio),
-+ wzrhpg300nh2_leds_gpio);
-+ ath79_register_gpio_keys_polled(-1, WZRHPG300NH2_KEYS_POLL_INTERVAL,
-+ ARRAY_SIZE(wzrhpg300nh2_gpio_keys),
-+ wzrhpg300nh2_gpio_keys);
-+ ap9x_pci_setup_wmac_led_pin(0, 5);
-+ ap9x_pci_setup_wmac_leds(0, wzrhpg300nh2_wmac_leds_gpio,
-+ ARRAY_SIZE(wzrhpg300nh2_wmac_leds_gpio));
-+
-+ ap91_pci_init(eeprom, mac0);
-+}
-+
-+MIPS_MACHINE(ATH79_MACH_WZR_HP_G300NH2, "WZR-HP-G300NH2",
-+ "Buffalo WZR-HP-G300NH2", wzrhpg300nh2_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wzr-hp-g300nh.c linux-4.1.13/arch/mips/ath79/mach-wzr-hp-g300nh.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wzr-hp-g300nh.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wzr-hp-g300nh.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wzr-hp-g300nh.c linux-4.1.43/arch/mips/ath79/mach-wzr-hp-g300nh.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wzr-hp-g300nh.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wzr-hp-g300nh.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,279 @@
+/*
+ * Buffalo WZR-HP-G300NH board support
@@ -29274,9 +29069,183 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wzr-hp-g300nh.c linux-4.1.13/ar
+
+MIPS_MACHINE(ATH79_MACH_WZR_HP_G300NH, "WZR-HP-G300NH",
+ "Buffalo WZR-HP-G300NH", wzrhpg300nh_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wzr-hp-g450h.c linux-4.1.13/arch/mips/ath79/mach-wzr-hp-g450h.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-wzr-hp-g450h.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-wzr-hp-g450h.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wzr-hp-g300nh2.c linux-4.1.43/arch/mips/ath79/mach-wzr-hp-g300nh2.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wzr-hp-g300nh2.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wzr-hp-g300nh2.c 2017-08-06 20:02:15.000000000 +0200
+@@ -0,0 +1,170 @@
++/*
++ * Buffalo WZR-HP-G300NH2 board support
++ *
++ * Copyright (C) 2011 Felix Fietkau <nbd@openwrt.org>
++ * Copyright (C) 2011 Mark Deneen <mdeneen@gmail.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 <asm/mach-ath79/ath79.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-usb.h"
++#include "machtypes.h"
++
++#define WZRHPG300NH2_MAC_OFFSET 0x20c
++#define WZRHPG300NH2_KEYS_POLL_INTERVAL 20 /* msecs */
++#define WZRHPG300NH2_KEYS_DEBOUNCE_INTERVAL (3 * WZRHPG300NH2_KEYS_POLL_INTERVAL)
++
++static struct mtd_partition wzrhpg300nh2_flash_partitions[] = {
++ {
++ .name = "u-boot",
++ .offset = 0,
++ .size = 0x0040000,
++ .mask_flags = MTD_WRITEABLE,
++ }, {
++ .name = "u-boot-env",
++ .offset = 0x0040000,
++ .size = 0x0010000,
++ .mask_flags = MTD_WRITEABLE,
++ }, {
++ .name = "art",
++ .offset = 0x0050000,
++ .size = 0x0010000,
++ .mask_flags = MTD_WRITEABLE,
++ }, {
++ .name = "firmware",
++ .offset = 0x0060000,
++ .size = 0x1f90000,
++ }, {
++ .name = "user_property",
++ .offset = 0x1ff0000,
++ .size = 0x0010000,
++ .mask_flags = MTD_WRITEABLE,
++ }
++};
++
++static struct flash_platform_data wzrhpg300nh2_flash_data = {
++ .parts = wzrhpg300nh2_flash_partitions,
++ .nr_parts = ARRAY_SIZE(wzrhpg300nh2_flash_partitions),
++};
++
++static struct gpio_led wzrhpg300nh2_leds_gpio[] __initdata = {
++ {
++ .name = "buffalo:red:diag",
++ .gpio = 16,
++ .active_low = 1,
++ },
++};
++
++static struct gpio_led wzrhpg300nh2_wmac_leds_gpio[] = {
++ {
++ .name = "buffalo:blue:usb",
++ .gpio = 4,
++ .active_low = 1,
++ },
++ {
++ .name = "buffalo:orange:security",
++ .gpio = 6,
++ .active_low = 1,
++ },
++ {
++ .name = "buffalo:green:router",
++ .gpio = 7,
++ .active_low = 1,
++ },
++ {
++ .name = "buffalo:blue:movie_engine_on",
++ .gpio = 8,
++ .active_low = 1,
++ },
++ {
++ .name = "buffalo:blue:movie_engine_off",
++ .gpio = 9,
++ .active_low = 1,
++ },
++};
++
++/* The AOSS button is wmac gpio 12 */
++static struct gpio_keys_button wzrhpg300nh2_gpio_keys[] __initdata = {
++ {
++ .desc = "reset",
++ .type = EV_KEY,
++ .code = KEY_RESTART,
++ .debounce_interval = WZRHPG300NH2_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = 1,
++ .active_low = 1,
++ }, {
++ .desc = "usb",
++ .type = EV_KEY,
++ .code = BTN_2,
++ .debounce_interval = WZRHPG300NH2_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = 7,
++ .active_low = 1,
++ }, {
++ .desc = "qos",
++ .type = EV_KEY,
++ .code = BTN_3,
++ .debounce_interval = WZRHPG300NH2_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = 11,
++ .active_low = 0,
++ }, {
++ .desc = "router_on",
++ .type = EV_KEY,
++ .code = BTN_5,
++ .debounce_interval = WZRHPG300NH2_KEYS_DEBOUNCE_INTERVAL,
++ .gpio = 8,
++ .active_low = 0,
++ },
++};
++
++static void __init wzrhpg300nh2_setup(void)
++{
++
++ u8 *eeprom = (u8 *) KSEG1ADDR(0x1f051000);
++ u8 *mac0 = eeprom + WZRHPG300NH2_MAC_OFFSET;
++ /* There is an eth1 but it is not connected to the switch */
++
++ ath79_register_m25p80_multi(&wzrhpg300nh2_flash_data);
++
++ ath79_init_mac(ath79_eth0_data.mac_addr, mac0, 0);
++ ath79_register_mdio(0, ~(BIT(0)));
++
++ ath79_init_mac(ath79_eth0_data.mac_addr, mac0, 0);
++ ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
++ ath79_eth0_data.speed = SPEED_1000;
++ ath79_eth0_data.duplex = DUPLEX_FULL;
++ ath79_eth0_data.phy_mask = BIT(0);
++
++ ath79_register_eth(0);
++
++ /* gpio13 is usb power. Turn it on. */
++ gpio_request_one(13, GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
++ "USB power");
++ ath79_register_usb();
++
++ ath79_register_leds_gpio(-1, ARRAY_SIZE(wzrhpg300nh2_leds_gpio),
++ wzrhpg300nh2_leds_gpio);
++ ath79_register_gpio_keys_polled(-1, WZRHPG300NH2_KEYS_POLL_INTERVAL,
++ ARRAY_SIZE(wzrhpg300nh2_gpio_keys),
++ wzrhpg300nh2_gpio_keys);
++ ap9x_pci_setup_wmac_led_pin(0, 5);
++ ap9x_pci_setup_wmac_leds(0, wzrhpg300nh2_wmac_leds_gpio,
++ ARRAY_SIZE(wzrhpg300nh2_wmac_leds_gpio));
++
++ ap91_pci_init(eeprom, mac0);
++}
++
++MIPS_MACHINE(ATH79_MACH_WZR_HP_G300NH2, "WZR-HP-G300NH2",
++ "Buffalo WZR-HP-G300NH2", wzrhpg300nh2_setup);
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-wzr-hp-g450h.c linux-4.1.43/arch/mips/ath79/mach-wzr-hp-g450h.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-wzr-hp-g450h.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-wzr-hp-g450h.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,165 @@
+/*
+ * Buffalo WZR-HP-G450G board support
@@ -29443,9 +29412,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-wzr-hp-g450h.c linux-4.1.13/arc
+
+MIPS_MACHINE(ATH79_MACH_WZR_HP_G450H, "WZR-HP-G450H", "Buffalo WZR-HP-G450H",
+ wzrhpg450h_init);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-zcn-1523h.c linux-4.1.13/arch/mips/ath79/mach-zcn-1523h.c
---- linux-4.1.13.orig/arch/mips/ath79/mach-zcn-1523h.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/mach-zcn-1523h.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/mach-zcn-1523h.c linux-4.1.43/arch/mips/ath79/mach-zcn-1523h.c
+--- linux-4.1.43.orig/arch/mips/ath79/mach-zcn-1523h.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/mach-zcn-1523h.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,154 @@
+/*
+ * Zcomax ZCN-1523H-2-8/5-16 board support
@@ -29601,182 +29570,237 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/mach-zcn-1523h.c linux-4.1.13/arch/m
+
+MIPS_MACHINE(ATH79_MACH_ZCN_1523H_5, "ZCN-1523H-5", "Zcomax ZCN-1523H-5",
+ zcn_1523h_5_setup);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/Makefile linux-4.1.13/arch/mips/ath79/Makefile
---- linux-4.1.13.orig/arch/mips/ath79/Makefile 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/Makefile 2015-12-04 19:57:05.957975089 +0100
-@@ -17,18 +17,169 @@
- # Devices
- #
- obj-y += dev-common.o
-+obj-$(CONFIG_ATH79_DEV_AP9X_PCI) += dev-ap9x-pci.o
-+obj-$(CONFIG_ATH79_DEV_DSA) += dev-dsa.o
-+obj-$(CONFIG_ATH79_DEV_ETH) += dev-eth.o
- obj-$(CONFIG_ATH79_DEV_GPIO_BUTTONS) += dev-gpio-buttons.o
- obj-$(CONFIG_ATH79_DEV_LEDS_GPIO) += dev-leds-gpio.o
-+obj-$(CONFIG_ATH79_DEV_M25P80) += dev-m25p80.o
-+obj-$(CONFIG_ATH79_DEV_NFC) += dev-nfc.o
- obj-$(CONFIG_ATH79_DEV_SPI) += dev-spi.o
- obj-$(CONFIG_ATH79_DEV_USB) += dev-usb.o
- obj-$(CONFIG_ATH79_DEV_WMAC) += dev-wmac.o
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/machtypes.h linux-4.1.43/arch/mips/ath79/machtypes.h
+--- linux-4.1.43.orig/arch/mips/ath79/machtypes.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/machtypes.h 2017-08-06 20:02:15.000000000 +0200
+@@ -16,12 +16,224 @@
- #
-+# Miscellaneous objects
-+#
-+obj-$(CONFIG_ATH79_NVRAM) += nvram.o
-+obj-$(CONFIG_ATH79_PCI_ATH9K_FIXUP) += pci-ath9k-fixup.o
-+obj-$(CONFIG_ATH79_ROUTERBOOT) += routerboot.o
-+
-+#
- # Machines
- #
-+obj-$(CONFIG_ATH79_MACH_ALFA_AP96) += mach-alfa-ap96.o
-+obj-$(CONFIG_ATH79_MACH_ALFA_NX) += mach-alfa-nx.o
-+obj-$(CONFIG_ATH79_MACH_ALL0258N) += mach-all0258n.o
-+obj-$(CONFIG_ATH79_MACH_ALL0315N) += mach-all0315n.o
-+obj-$(CONFIG_ATH79_MACH_ANTMINER_S1)+= mach-antminer-s1.o
-+obj-$(CONFIG_ATH79_MACH_ANTMINER_S3)+= mach-antminer-s3.o
-+obj-$(CONFIG_ATH79_MACH_ARDUINO_YUN) += mach-arduino-yun.o
-+obj-$(CONFIG_ATH79_MACH_AP113) += mach-ap113.o
- obj-$(CONFIG_ATH79_MACH_AP121) += mach-ap121.o
-+obj-$(CONFIG_ATH79_MACH_AP132) += mach-ap132.o
- obj-$(CONFIG_ATH79_MACH_AP136) += mach-ap136.o
-+obj-$(CONFIG_ATH79_MACH_AP143) += mach-ap143.o
-+obj-$(CONFIG_ATH79_MACH_AP147) += mach-ap147.o
-+obj-$(CONFIG_ATH79_MACH_AP152) += mach-ap152.o
- obj-$(CONFIG_ATH79_MACH_AP81) += mach-ap81.o
-+obj-$(CONFIG_ATH79_MACH_AP83) += mach-ap83.o
-+obj-$(CONFIG_ATH79_MACH_AP96) += mach-ap96.o
-+obj-$(CONFIG_ATH79_MACH_ARCHER_C7) += mach-archer-c7.o
-+obj-$(CONFIG_ATH79_MACH_AW_NR580) += mach-aw-nr580.o
-+obj-$(CONFIG_ATH79_MACH_BHU_BXU2000N2_A)+= mach-bhu-bxu2000n2-a.o
-+obj-$(CONFIG_ATH79_MACH_BSB) += mach-bsb.o
-+obj-$(CONFIG_ATH79_MACH_CAP4200AG) += mach-cap4200ag.o
-+obj-$(CONFIG_ATH79_MACH_CF_E316N_V2) += mach-cf-e316n-v2.o
-+obj-$(CONFIG_ATH79_MACH_CPE510) += mach-cpe510.o
- obj-$(CONFIG_ATH79_MACH_DB120) += mach-db120.o
-+obj-$(CONFIG_ATH79_MACH_DLAN_HOTSPOT) += mach-dlan-hotspot.o
-+obj-$(CONFIG_ATH79_MACH_DLAN_PRO_500_WP) += mach-dlan-pro-500-wp.o
-+obj-$(CONFIG_ATH79_MACH_DLAN_PRO_1200_AC) += mach-dlan-pro-1200-ac.o
-+obj-$(CONFIG_ATH79_MACH_DGL_5500_A1) += mach-dgl-5500-a1.o
-+obj-$(CONFIG_ATH79_MACH_DHP_1565_A1) += mach-dhp-1565-a1.o
-+obj-$(CONFIG_ATH79_MACH_DIR_505_A1) += mach-dir-505-a1.o
-+obj-$(CONFIG_ATH79_MACH_DIR_600_A1) += mach-dir-600-a1.o
-+obj-$(CONFIG_ATH79_MACH_DIR_615_C1) += mach-dir-615-c1.o
-+obj-$(CONFIG_ATH79_MACH_DIR_615_I1) += mach-dir-615-i1.o
-+obj-$(CONFIG_ATH79_MACH_DIR_825_B1) += mach-dir-825-b1.o
-+obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += mach-dir-825-c1.o
-+obj-$(CONFIG_ATH79_MACH_DRAGINO2) += mach-dragino2.o
-+obj-$(CONFIG_ATH79_MACH_ESR900) += mach-esr900.o
-+obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mach-ew-dorin.o
-+obj-$(CONFIG_ATH79_MACH_EAP300V2) += mach-eap300v2.o
-+obj-$(CONFIG_ATH79_MACH_EAP7660D) += mach-eap7660d.o
-+obj-$(CONFIG_ATH79_MACH_EL_M150) += mach-el-m150.o
-+obj-$(CONFIG_ATH79_MACH_EL_MINI) += mach-el-mini.o
-+obj-$(CONFIG_ATH79_MACH_EPG5000) += mach-epg5000.o
-+obj-$(CONFIG_ATH79_MACH_ESR1750) += mach-esr1750.o
-+obj-$(CONFIG_ATH79_MACH_F9K1115V2) += mach-f9k1115v2.o
-+obj-$(CONFIG_ATH79_MACH_GL_AR150) += mach-gl-ar150.o
-+obj-$(CONFIG_ATH79_MACH_GL_AR300) += mach-gl-ar300.o
-+obj-$(CONFIG_ATH79_MACH_GL_DOMINO) += mach-gl-domino.o
-+obj-$(CONFIG_ATH79_MACH_GL_INET) += mach-gl-inet.o
-+obj-$(CONFIG_ATH79_MACH_GS_MINIBOX_V1) += mach-gs-minibox-v1.o
-+obj-$(CONFIG_ATH79_MACH_GS_OOLITE) += mach-gs-oolite.o
-+obj-$(CONFIG_ATH79_MACH_HIWIFI_HC6361) += mach-hiwifi-hc6361.o
-+obj-$(CONFIG_ATH79_MACH_JA76PF) += mach-ja76pf.o
-+obj-$(CONFIG_ATH79_MACH_JWAP003) += mach-jwap003.o
-+obj-$(CONFIG_ATH79_MACH_HORNET_UB) += mach-hornet-ub.o
-+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
-+obj-$(CONFIG_ATH79_MACH_MYNET_N750) += mach-mynet-n750.o
-+obj-$(CONFIG_ATH79_MACH_MYNET_REXT) += mach-mynet-rext.o
-+obj-$(CONFIG_ATH79_MACH_MZK_W04NU) += mach-mzk-w04nu.o
-+obj-$(CONFIG_ATH79_MACH_MZK_W300NH) += mach-mzk-w300nh.o
-+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_ONION_OMEGA) += mach-onion-omega.o
-+obj-$(CONFIG_ATH79_MACH_PB42) += mach-pb42.o
- obj-$(CONFIG_ATH79_MACH_PB44) += mach-pb44.o
-+obj-$(CONFIG_ATH79_MACH_PB92) += mach-pb92.o
-+obj-$(CONFIG_ATH79_MACH_QIHOO_C301) += mach-qihoo-c301.o
-+obj-$(CONFIG_ATH79_MACH_R6100) += mach-r6100.o
-+obj-$(CONFIG_ATH79_MACH_RB4XX) += mach-rb4xx.o
-+obj-$(CONFIG_ATH79_MACH_RB750) += mach-rb750.o
-+obj-$(CONFIG_ATH79_MACH_RB91X) += mach-rb91x.o
-+obj-$(CONFIG_ATH79_MACH_RB922) += mach-rb922.o
-+obj-$(CONFIG_ATH79_MACH_RB95X) += mach-rb95x.o
-+obj-$(CONFIG_ATH79_MACH_RB2011) += mach-rb2011.o
-+obj-$(CONFIG_ATH79_MACH_RBSXTLITE) += mach-rbsxtlite.o
-+obj-$(CONFIG_ATH79_MACH_RW2458N) += mach-rw2458n.o
-+obj-$(CONFIG_ATH79_MACH_SMART_300) += mach-smart-300.o
-+obj-$(CONFIG_ATH79_MACH_TEW_632BRP) += mach-tew-632brp.o
-+obj-$(CONFIG_ATH79_MACH_TEW_673GRU) += mach-tew-673gru.o
-+obj-$(CONFIG_ATH79_MACH_TEW_712BR) += mach-tew-712br.o
-+obj-$(CONFIG_ATH79_MACH_TEW_732BR) += mach-tew-732br.o
-+obj-$(CONFIG_ATH79_MACH_TL_MR11U) += mach-tl-mr11u.o
-+obj-$(CONFIG_ATH79_MACH_TL_MR13U) += mach-tl-mr13u.o
-+obj-$(CONFIG_ATH79_MACH_TL_MR3020) += mach-tl-mr3020.o
-+obj-$(CONFIG_ATH79_MACH_TL_MR3X20) += mach-tl-mr3x20.o
-+obj-$(CONFIG_ATH79_MACH_TL_WAX50RE) += mach-tl-wax50re.o
-+obj-$(CONFIG_ATH79_MACH_TL_WA701ND_V2) += mach-tl-wa701nd-v2.o
-+obj-$(CONFIG_ATH79_MACH_TL_WA7210N_V2) += mach-tl-wa7210n-v2.o
-+obj-$(CONFIG_ATH79_MACH_TL_WA830RE_V2) += mach-tl-wa830re-v2.o
-+obj-$(CONFIG_ATH79_MACH_TL_WA901ND) += mach-tl-wa901nd.o
-+obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V2) += mach-tl-wa901nd-v2.o
-+obj-$(CONFIG_ATH79_MACH_TL_WDR3320_V2) += mach-tl-wdr3320-v2.o
-+obj-$(CONFIG_ATH79_MACH_TL_WDR3500) += mach-tl-wdr3500.o
-+obj-$(CONFIG_ATH79_MACH_TL_WDR4300) += mach-tl-wdr4300.o
-+obj-$(CONFIG_ATH79_MACH_TL_WDR6500_V2) += mach-tl-wdr6500-v2.o
-+obj-$(CONFIG_ATH79_MACH_TL_WR741ND) += mach-tl-wr741nd.o
-+obj-$(CONFIG_ATH79_MACH_TL_WR741ND_V4) += mach-tl-wr741nd-v4.o
-+obj-$(CONFIG_ATH79_MACH_TL_WR841N_V1) += mach-tl-wr841n.o
-+obj-$(CONFIG_ATH79_MACH_TL_WR841N_V8) += mach-tl-wr841n-v8.o
-+obj-$(CONFIG_ATH79_MACH_TL_WR841N_V9) += mach-tl-wr841n-v9.o
-+obj-$(CONFIG_ATH79_MACH_TL_WR941ND) += mach-tl-wr941nd.o
-+obj-$(CONFIG_ATH79_MACH_TL_WR941ND_V6) += mach-tl-wr941nd-v6.o
-+obj-$(CONFIG_ATH79_MACH_TL_WR1041N_V2) += mach-tl-wr1041n-v2.o
-+obj-$(CONFIG_ATH79_MACH_TL_WR1043ND) += mach-tl-wr1043nd.o
-+obj-$(CONFIG_ATH79_MACH_TL_WR1043ND_V2) += mach-tl-wr1043nd-v2.o
-+obj-$(CONFIG_ATH79_MACH_TL_WR2543N) += mach-tl-wr2543n.o
-+obj-$(CONFIG_ATH79_MACH_TL_WR703N) += mach-tl-wr703n.o
-+obj-$(CONFIG_ATH79_MACH_TL_WR720N_V3) += mach-tl-wr720n-v3.o
-+obj-$(CONFIG_ATH79_MACH_TUBE2H) += mach-tube2h.o
-+obj-$(CONFIG_ATH79_MACH_UBNT) += mach-ubnt.o
- obj-$(CONFIG_ATH79_MACH_UBNT_XM) += mach-ubnt-xm.o
-+obj-$(CONFIG_ATH79_MACH_WEIO) += mach-weio.o
-+obj-$(CONFIG_ATH79_MACH_WHR_HP_G300N) += mach-whr-hp-g300n.o
-+obj-$(CONFIG_ATH79_MACH_WLAE_AG300N) += mach-wlae-ag300n.o
-+obj-$(CONFIG_ATH79_MACH_WLR8100) += mach-wlr8100.o
-+obj-$(CONFIG_ATH79_MACH_WNDAP360) += mach-wndap360.o
-+obj-$(CONFIG_ATH79_MACH_WNDR3700) += mach-wndr3700.o
-+obj-$(CONFIG_ATH79_MACH_WNDR4300) += mach-wndr4300.o
-+obj-$(CONFIG_ATH79_MACH_WNR2000) += mach-wnr2000.o
-+obj-$(CONFIG_ATH79_MACH_WNR2000_V3) += mach-wnr2000-v3.o
-+obj-$(CONFIG_ATH79_MACH_WNR2000_V4) += mach-wnr2000-v4.o
-+obj-$(CONFIG_ATH79_MACH_WNR2200) += mach-wnr2200.o
-+obj-$(CONFIG_ATH79_MACH_WP543) += mach-wp543.o
-+obj-$(CONFIG_ATH79_MACH_WPE72) += mach-wpe72.o
-+obj-$(CONFIG_ATH79_MACH_WPJ344) += mach-wpj344.o
-+obj-$(CONFIG_ATH79_MACH_WPJ531) += mach-wpj531.o
-+obj-$(CONFIG_ATH79_MACH_WPJ558) += mach-wpj558.o
-+obj-$(CONFIG_ATH79_MACH_WRT160NL) += mach-wrt160nl.o
-+obj-$(CONFIG_ATH79_MACH_WRT400N) += mach-wrt400n.o
-+obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH) += mach-wzr-hp-g300nh.o
-+obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH2) += mach-wzr-hp-g300nh2.o
-+obj-$(CONFIG_ATH79_MACH_WZR_HP_AG300H) += mach-wzr-hp-ag300h.o
-+obj-$(CONFIG_ATH79_MACH_WZR_HP_G450H) += mach-wzr-hp-g450h.o
-+obj-$(CONFIG_ATH79_MACH_WZR_450HP2) += mach-wzr-450hp2.o
-+obj-$(CONFIG_ATH79_MACH_ZCN_1523H) += mach-zcn-1523h.o
-+obj-$(CONFIG_ATH79_MACH_CARAMBOLA2) += mach-carambola2.o
-+obj-$(CONFIG_ATH79_MACH_NBG6716) += mach-nbg6716.o
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/nvram.c linux-4.1.13/arch/mips/ath79/nvram.c
---- linux-4.1.13.orig/arch/mips/ath79/nvram.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/nvram.c 2015-09-13 20:04:35.072523889 +0200
+ enum ath79_mach_type {
+ ATH79_MACH_GENERIC = 0,
++ ATH79_MACH_ALFA_AP96, /* ALFA Network AP96 board */
++ ATH79_MACH_ALFA_NX, /* ALFA Network N2/N5 board */
++ ATH79_MACH_ALL0258N, /* Allnet ALL0258N */
++ ATH79_MACH_ALL0305, /* Allnet ALL0305 */
++ ATH79_MACH_ALL0315N, /* Allnet ALL0315N */
++ ATH79_MACH_ANTMINER_S1, /* Antminer S1 */
++ ATH79_MACH_ANTMINER_S3, /* Antminer S3 */
++ ATH79_MACH_ARDUINO_YUN, /* Yun */
++ ATH79_MACH_AP113, /* Atheros AP113 reference board */
+ ATH79_MACH_AP121, /* Atheros AP121 reference board */
++ ATH79_MACH_AP121_MINI, /* Atheros AP121-MINI reference board */
++ ATH79_MACH_AP132, /* Atheros AP132 reference board */
++ ATH79_MACH_AP135_020, /* Atheros AP135-020 reference board */
+ ATH79_MACH_AP136_010, /* Atheros AP136-010 reference board */
++ ATH79_MACH_AP136_020, /* Atheros AP136-020 reference board */
++ ATH79_MACH_AP143, /* Atheros AP143 reference board */
++ ATH79_MACH_AP147_010, /* Atheros AP147-010 reference board */
++ ATH79_MACH_AP152, /* Atheros AP152 reference board */
+ ATH79_MACH_AP81, /* Atheros AP81 reference board */
++ ATH79_MACH_AP83, /* Atheros AP83 */
++ ATH79_MACH_AP96, /* Atheros AP96 */
++ ATH79_MACH_ARCHER_C5, /* TP-LINK Archer C5 board */
++ ATH79_MACH_ARCHER_C7, /* TP-LINK Archer C7 board */
++ ATH79_MACH_AW_NR580, /* AzureWave AW-NR580 */
++ ATH79_MACH_BHU_BXU2000N2_A1, /* BHU BXU2000n-2 A1 */
++ ATH79_MACH_BSB, /* Smart Electronics Black Swift board */
++ ATH79_MACH_CAP4200AG, /* Senao CAP4200AG */
++ ATH79_MACH_CARAMBOLA2, /* 8devices Carambola2 */
++ ATH79_MACH_CF_E316N_V2, /* COMFAST CF-E316N v2 */
++ ATH79_MACH_CPE510, /* TP-LINK CPE510 */
+ ATH79_MACH_DB120, /* Atheros DB120 reference board */
+ ATH79_MACH_PB44, /* Atheros PB44 reference board */
++ ATH79_MACH_DGL_5500_A1, /* D-link DGL-5500 rev. A1 */
++ ATH79_MACH_DHP_1565_A1, /* D-Link DHP-1565 rev. A1 */
++ ATH79_MACH_DIR_505_A1, /* D-Link DIR-505 rev. A1 */
++ ATH79_MACH_DIR_600_A1, /* D-Link DIR-600 rev. A1 */
++ ATH79_MACH_DIR_615_C1, /* D-Link DIR-615 rev. C1 */
++ ATH79_MACH_DIR_615_E1, /* D-Link DIR-615 rev. E1 */
++ ATH79_MACH_DIR_615_E4, /* D-Link DIR-615 rev. E4 */
++ ATH79_MACH_DIR_615_I1, /* D-Link DIR-615 rev. I1 */
++ ATH79_MACH_DIR_825_B1, /* D-Link DIR-825 rev. B1 */
++ ATH79_MACH_DIR_825_C1, /* D-Link DIR-825 rev. C1 */
++ ATH79_MACH_DIR_835_A1, /* D-Link DIR-835 rev. A1 */
++ ATH79_MACH_DLAN_HOTSPOT, /* devolo dLAN Hotspot */
++ ATH79_MACH_DLAN_PRO_500_WP, /* devolo dLAN pro 500 Wireless+ */
++ ATH79_MACH_DLAN_PRO_1200_AC, /* devolo dLAN pro 1200+ WiFi ac*/
++ ATH79_MACH_DRAGINO2, /* Dragino Version 2 */
++ ATH79_MACH_ESR900, /* EnGenius ESR900 */
++ ATH79_MACH_EW_DORIN, /* embedded wireless Dorin Platform */
++ ATH79_MACH_EW_DORIN_ROUTER, /* embedded wireless Dorin Router Platform */
++ ATH79_MACH_EAP300V2, /* EnGenius EAP300 v2 */
++ ATH79_MACH_EAP7660D, /* Senao EAP7660D */
++ ATH79_MACH_EL_M150, /* EasyLink EL-M150 */
++ ATH79_MACH_EL_MINI, /* EasyLink EL-MINI */
++ ATH79_MACH_ESR1750, /* EnGenius ESR1750 */
++ ATH79_MACH_EPG5000, /* EnGenius EPG5000 */
++ ATH79_MACH_F9K1115V2, /* Belkin AC1750DB */
++ ATH79_MACH_GL_AR150, /* GL-AR150 support */
++ ATH79_MACH_GL_AR300, /* GL-AR300 */
++ ATH79_MACH_GL_DOMINO, /* Domino */
++ ATH79_MACH_GL_INET, /* GL-CONNECT GL-INET */
++ ATH79_MACH_GS_MINIBOX_V1, /* Gainstrong MiniBox V1.0 */
++ ATH79_MACH_GS_OOLITE, /* GS OOLITE V1.0 */
++ ATH79_MACH_HIWIFI_HC6361, /* HiWiFi HC6361 */
++ ATH79_MACH_JA76PF, /* jjPlus JA76PF */
++ ATH79_MACH_JA76PF2, /* jjPlus JA76PF2 */
++ ATH79_MACH_JWAP003, /* jjPlus JWAP003 */
++ 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 */
++ ATH79_MACH_MR900v2, /* OpenMesh MR900v2 */
++ ATH79_MACH_MYNET_N600, /* WD My Net N600 */
++ ATH79_MACH_MYNET_N750, /* WD My Net N750 */
++ ATH79_MACH_MYNET_REXT, /* WD My Net Wi-Fi Range Extender */
++ ATH79_MACH_MZK_W04NU, /* Planex MZK-W04NU */
++ ATH79_MACH_MZK_W300NH, /* Planex MZK-W300NH */
++ ATH79_MACH_NBG460N, /* Zyxel NBG460N/550N/550NH */
++ ATH79_MACH_NBG6616, /* Zyxel NBG6616 */
++ ATH79_MACH_NBG6716, /* Zyxel NBG6716 */
++ ATH79_MACH_OM2P_HSv2, /* OpenMesh OM2P-HSv2 */
++ ATH79_MACH_OM2P_HS, /* OpenMesh OM2P-HS */
++ ATH79_MACH_OM2P_LC, /* OpenMesh OM2P-LC */
++ ATH79_MACH_OM2Pv2, /* OpenMesh OM2Pv2 */
++ ATH79_MACH_OM2P, /* OpenMesh OM2P */
++ ATH79_MACH_OM5P_AN, /* OpenMesh OM5P-AN */
++ ATH79_MACH_OM5P, /* OpenMesh OM5P */
++ ATH79_MACH_ONION_OMEGA, /* ONION OMEGA */
++ ATH79_MACH_PB42, /* Atheros PB42 */
++ ATH79_MACH_PB92, /* Atheros PB92 */
++ ATH79_MACH_QIHOO_C301, /* Qihoo 360 C301 */
++ ATH79_MACH_R6100, /* NETGEAR R6100 */
++ ATH79_MACH_RB_411, /* MikroTik RouterBOARD 411/411A/411AH */
++ ATH79_MACH_RB_411U, /* MikroTik RouterBOARD 411U */
++ ATH79_MACH_RB_433, /* MikroTik RouterBOARD 433/433AH */
++ ATH79_MACH_RB_433U, /* MikroTik RouterBOARD 433UAH */
++ ATH79_MACH_RB_435G, /* MikroTik RouterBOARD 435G */
++ ATH79_MACH_RB_450G, /* MikroTik RouterBOARD 450G */
++ ATH79_MACH_RB_450, /* MikroTik RouterBOARD 450 */
++ ATH79_MACH_RB_493, /* Mikrotik RouterBOARD 493/493AH */
++ ATH79_MACH_RB_493G, /* Mikrotik RouterBOARD 493G */
++ ATH79_MACH_RB_711GR100, /* Mikrotik RouterBOARD 911/912 boards */
++ ATH79_MACH_RB_750, /* MikroTik RouterBOARD 750 */
++ ATH79_MACH_RB_750G_R3, /* MikroTik RouterBOARD 750GL */
++ ATH79_MACH_RB_751, /* MikroTik RouterBOARD 751 */
++ ATH79_MACH_RB_751G, /* Mikrotik RouterBOARD 751G */
++ ATH79_MACH_RB_922GS, /* Mikrotik RouterBOARD 911/922GS boards */
++ ATH79_MACH_RB_951G, /* Mikrotik RouterBOARD 951G */
++ ATH79_MACH_RB_951U, /* Mikrotik RouterBOARD 951Ui-2HnD */
++ ATH79_MACH_RB_2011G, /* Mikrotik RouterBOARD 2011UAS-2HnD */
++ ATH79_MACH_RB_2011L, /* Mikrotik RouterBOARD 2011L */
++ ATH79_MACH_RB_2011US, /* Mikrotik RouterBOARD 2011UAS */
++ ATH79_MACH_RB_2011R5, /* Mikrotik RouterBOARD 2011UiAS(-2Hnd) */
++ ATH79_MACH_RB_SXTLITE2ND, /* Mikrotik RouterBOARD SXT Lite 2nD */
++ ATH79_MACH_RB_SXTLITE5ND, /* Mikrotik RouterBOARD SXT Lite 5nD */
++ ATH79_MACH_RW2458N, /* Redwave RW2458N */
++ ATH79_MACH_SMART_300, /* NC-LINK SMART-300 */
++ ATH79_MACH_TEW_632BRP, /* TRENDnet TEW-632BRP */
++ ATH79_MACH_TEW_673GRU, /* TRENDnet TEW-673GRU */
++ ATH79_MACH_TEW_712BR, /* TRENDnet TEW-712BR */
++ ATH79_MACH_TEW_732BR, /* TRENDnet TEW-732BR */
++ ATH79_MACH_MC_MAC1200R, /* MERCURY MAC1200R*/
++ ATH79_MACH_TL_MR10U, /* TP-LINK TL-MR10U */
++ ATH79_MACH_TL_MR11U, /* TP-LINK TL-MR11U */
++ ATH79_MACH_TL_MR13U, /* TP-LINK TL-MR13U */
++ ATH79_MACH_TL_MR3020, /* TP-LINK TL-MR3020 */
++ ATH79_MACH_TL_MR3040, /* TP-LINK TL-MR3040 */
++ ATH79_MACH_TL_MR3040_V2, /* TP-LINK TL-MR3040 v2 */
++ ATH79_MACH_TL_MR3220, /* TP-LINK TL-MR3220 */
++ ATH79_MACH_TL_MR3220_V2, /* TP-LINK TL-MR3220 v2 */
++ ATH79_MACH_TL_MR3420, /* TP-LINK TL-MR3420 */
++ ATH79_MACH_TL_MR3420_V2, /* TP-LINK TL-MR3420 v2 */
++ ATH79_MACH_TL_WA701ND_V2, /* TP-LINK TL-WA701ND v2 */
++ ATH79_MACH_TL_WA750RE, /* TP-LINK TL-WA750RE */
++ ATH79_MACH_TL_WA7210N_V2, /* TP-LINK TL-WA7210N v2 */
++ ATH79_MACH_TL_WA7510N_V1, /* TP-LINK TL-WA7510N v1*/
++ ATH79_MACH_TL_WA850RE, /* TP-LINK TL-WA850RE */
++ ATH79_MACH_TL_WA860RE, /* TP-LINK TL-WA860RE */
++ ATH79_MACH_TL_WA801ND_V2, /* TP-LINK TL-WA801ND v2 */
++ ATH79_MACH_TL_WA830RE_V2, /* TP-LINK TL-WA830RE v2 */
++ ATH79_MACH_TL_WA901ND, /* TP-LINK TL-WA901ND */
++ ATH79_MACH_TL_WA901ND_V2, /* TP-LINK TL-WA901ND v2 */
++ ATH79_MACH_TL_WA901ND_V3, /* TP-LINK TL-WA901ND v3 */
++ ATH79_MACH_TL_WDR3320_V2, /* TP-LINK TL-WDR3320 v2 */
++ ATH79_MACH_TL_WDR3500, /* TP-LINK TL-WDR3500 */
++ ATH79_MACH_TL_WDR4300, /* TP-LINK TL-WDR4300 */
++ ATH79_MACH_TL_WDR6500_V2, /* TP-LINK TL-WDR6500 v2 */
++ ATH79_MACH_TL_WDR4900_V2, /* TP-LINK TL-WDR4900 v2 */
++ ATH79_MACH_TL_WR1041N_V2, /* TP-LINK TL-WR1041N v2 */
++ ATH79_MACH_TL_WR1043ND, /* TP-LINK TL-WR1043ND */
++ ATH79_MACH_TL_WR1043ND_V2, /* TP-LINK TL-WR1043ND v2 */
++ ATH79_MACH_TL_WR2543N, /* TP-LINK TL-WR2543N/ND */
++ ATH79_MACH_TL_WR703N, /* TP-LINK TL-WR703N */
++ ATH79_MACH_TL_WR710N, /* TP-LINK TL-WR710N */
++ ATH79_MACH_TL_WR720N_V3, /* TP-LINK TL-WR720N v3/v4 */
++ ATH79_MACH_TL_WR741ND, /* TP-LINK TL-WR741ND */
++ ATH79_MACH_TL_WR741ND_V4, /* TP-LINK TL-WR741ND v4*/
++ ATH79_MACH_TL_WR841N_V1, /* TP-LINK TL-WR841N v1 */
++ ATH79_MACH_TL_WR841N_V7, /* TP-LINK TL-WR841N/ND v7 */
++ ATH79_MACH_TL_WR841N_V8, /* TP-LINK TL-WR841N/ND v8 */
++ ATH79_MACH_TL_WR841N_V9, /* TP-LINK TL-WR841N/ND v9 */
++ ATH79_MACH_TL_WR842N_V2, /* TP-LINK TL-WR842N/ND v2 */
++ ATH79_MACH_TL_WR941ND, /* TP-LINK TL-WR941ND */
++ ATH79_MACH_TL_WR941ND_V5, /* TP-LINK TL-WR941ND v5 */
++ ATH79_MACH_TL_WR941ND_V6, /* TP-LINK TL-WR941ND v6 */
++ ATH79_MACH_TUBE2H, /* Alfa Network Tube2H */
++ ATH79_MACH_UBNT_AIRGW, /* Ubiquiti AirGateway */
++ ATH79_MACH_UBNT_AIRGWP, /* Ubiquiti AirGateway Pro */
++ ATH79_MACH_UBNT_AIRROUTER, /* Ubiquiti AirRouter */
++ ATH79_MACH_UBNT_BULLET_M, /* Ubiquiti Bullet M */
++ ATH79_MACH_UBNT_LOCO_M_XW, /* Ubiquiti Loco M XW */
++ ATH79_MACH_UBNT_LSSR71, /* Ubiquiti LS-SR71 */
++ ATH79_MACH_UBNT_LSX, /* Ubiquiti LSX */
++ ATH79_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */
++ ATH79_MACH_UBNT_NANO_M_XW, /* Ubiquiti NanoStation M XW */
++ ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
++ ATH79_MACH_UBNT_ROCKET_M_XW, /* Ubiquiti Rocket M XW*/
++ ATH79_MACH_UBNT_ROCKET_M_TI, /* Ubiquiti Rocket M TI*/
++ ATH79_MACH_UBNT_RSPRO, /* Ubiquiti RouterStation Pro */
++ ATH79_MACH_UBNT_RS, /* Ubiquiti RouterStation */
++ ATH79_MACH_UBNT_UAP_PRO, /* Ubiquiti UniFi AP Pro */
++ ATH79_MACH_UBNT_UNIFI, /* Ubiquiti Unifi */
++ ATH79_MACH_UBNT_UNIFI_OUTDOOR, /* Ubiquiti UnifiAP Outdoor */
++ ATH79_MACH_UBNT_UNIFI_OUTDOOR_PLUS, /* Ubiquiti UnifiAP Outdoor+ */
+ ATH79_MACH_UBNT_XM, /* Ubiquiti Networks XM board rev 1.0 */
++ ATH79_MACH_WEIO, /* WeIO board */
++ ATH79_MACH_WHR_G301N, /* Buffalo WHR-G301N */
++ ATH79_MACH_WHR_HP_G300N, /* Buffalo WHR-HP-G300N */
++ ATH79_MACH_WHR_HP_GN, /* Buffalo WHR-HP-GN */
++ ATH79_MACH_WLAE_AG300N, /* Buffalo WLAE-AG300N */
++ ATH79_MACH_WLR8100, /* SITECOM WLR-8100 */
++ ATH79_MACH_WNDAP360, /* NETGEAR WNDAP360 */
++ ATH79_MACH_WNDR3700, /* NETGEAR WNDR3700/WNDR3800/WNDRMAC */
++ ATH79_MACH_WNDR3700_V4, /* NETGEAR WNDR3700v4 */
++ ATH79_MACH_WNDR4300, /* NETGEAR WNDR4300 */
++ ATH79_MACH_WNR2000, /* NETGEAR WNR2000 */
++ ATH79_MACH_WNR2000_V3, /* NETGEAR WNR2000 v3 */
++ ATH79_MACH_WNR2000_V4, /* NETGEAR WNR2000 v4 */
++ ATH79_MACH_WNR2200, /* NETGEAR WNR2200 */
++ ATH79_MACH_WNR612_V2, /* NETGEAR WNR612 v2 */
++ ATH79_MACH_WNR1000_V2, /* NETGEAR WNR1000 v2 */
++ ATH79_MACH_WP543, /* Compex WP543 */
++ ATH79_MACH_WPE72, /* Compex WPE72 */
++ ATH79_MACH_WPJ344, /* Compex WPJ344 */
++ ATH79_MACH_WPJ531, /* Compex WPJ531 */
++ ATH79_MACH_WPJ558, /* Compex WPJ558 */
++ ATH79_MACH_WRT160NL, /* Linksys WRT160NL */
++ ATH79_MACH_WRT400N, /* Linksys WRT400N */
++ ATH79_MACH_WZR_HP_AG300H, /* Buffalo WZR-HP-AG300H */
++ ATH79_MACH_WZR_HP_G300NH, /* Buffalo WZR-HP-G300NH */
++ ATH79_MACH_WZR_HP_G300NH2, /* Buffalo WZR-HP-G300NH2 */
++ ATH79_MACH_WZR_HP_G450H, /* Buffalo WZR-HP-G450H */
++ ATH79_MACH_WZR_450HP2, /* Buffalo WZR-450HP2 */
++ ATH79_MACH_ZCN_1523H_2, /* Zcomax ZCN-1523H-2-xx */
++ ATH79_MACH_ZCN_1523H_5, /* Zcomax ZCN-1523H-5-xx */
+ };
+
+ #endif /* _ATH79_MACHTYPE_H */
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/nvram.c linux-4.1.43/arch/mips/ath79/nvram.c
+--- linux-4.1.43.orig/arch/mips/ath79/nvram.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/nvram.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,80 @@
+/*
+ * Atheros AR71xx minimal nvram support
@@ -29858,9 +29882,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/nvram.c linux-4.1.13/arch/mips/ath79
+ vfree(buf);
+ return ret;
+}
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/nvram.h linux-4.1.13/arch/mips/ath79/nvram.h
---- linux-4.1.13.orig/arch/mips/ath79/nvram.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/nvram.h 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/nvram.h linux-4.1.43/arch/mips/ath79/nvram.h
+--- linux-4.1.43.orig/arch/mips/ath79/nvram.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/nvram.h 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,19 @@
+/*
+ * Atheros AR71xx minimal nvram support
@@ -29881,9 +29905,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/nvram.h linux-4.1.13/arch/mips/ath79
+ const char *name, char *mac);
+
+#endif /* _ATH79_NVRAM_H */
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/pci-ath9k-fixup.c linux-4.1.13/arch/mips/ath79/pci-ath9k-fixup.c
---- linux-4.1.13.orig/arch/mips/ath79/pci-ath9k-fixup.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/pci-ath9k-fixup.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/pci-ath9k-fixup.c linux-4.1.43/arch/mips/ath79/pci-ath9k-fixup.c
+--- linux-4.1.43.orig/arch/mips/ath79/pci-ath9k-fixup.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/pci-ath9k-fixup.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,126 @@
+/*
+ * Atheros AP94 reference board PCI initialization
@@ -30011,9 +30035,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/pci-ath9k-fixup.c linux-4.1.13/arch/
+ ath9k_fixups[ath9k_num_fixups].cal_data = cal_data;
+ ath9k_num_fixups++;
+}
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/pci-ath9k-fixup.h linux-4.1.13/arch/mips/ath79/pci-ath9k-fixup.h
---- linux-4.1.13.orig/arch/mips/ath79/pci-ath9k-fixup.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/pci-ath9k-fixup.h 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/pci-ath9k-fixup.h linux-4.1.43/arch/mips/ath79/pci-ath9k-fixup.h
+--- linux-4.1.43.orig/arch/mips/ath79/pci-ath9k-fixup.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/pci-ath9k-fixup.h 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,6 @@
+#ifndef _PCI_ATH9K_FIXUP
+#define _PCI_ATH9K_FIXUP
@@ -30021,9 +30045,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/pci-ath9k-fixup.h linux-4.1.13/arch/
+void pci_enable_ath9k_fixup(unsigned slot, u16 *cal_data) __init;
+
+#endif /* _PCI_ATH9K_FIXUP */
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/pci.c linux-4.1.13/arch/mips/ath79/pci.c
---- linux-4.1.13.orig/arch/mips/ath79/pci.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/pci.c 2015-12-04 19:57:05.593998902 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/pci.c linux-4.1.43/arch/mips/ath79/pci.c
+--- linux-4.1.43.orig/arch/mips/ath79/pci.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/pci.c 2017-08-06 20:02:15.000000000 +0200
@@ -13,6 +13,7 @@
*/
@@ -30179,9 +30203,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/pci.c linux-4.1.13/arch/mips/ath79/p
} else {
/* No PCI support */
return -ENODEV;
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/prom.c linux-4.1.13/arch/mips/ath79/prom.c
---- linux-4.1.13.orig/arch/mips/ath79/prom.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/prom.c 2015-12-04 19:57:05.482006229 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/prom.c linux-4.1.43/arch/mips/ath79/prom.c
+--- linux-4.1.43.orig/arch/mips/ath79/prom.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/prom.c 2017-08-06 20:02:15.000000000 +0200
@@ -19,12 +19,114 @@
#include <asm/bootinfo.h>
#include <asm/addrspace.h>
@@ -30312,9 +30336,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/prom.c linux-4.1.13/arch/mips/ath79/
}
void __init prom_free_prom_memory(void)
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/routerboot.c linux-4.1.13/arch/mips/ath79/routerboot.c
---- linux-4.1.13.orig/arch/mips/ath79/routerboot.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/routerboot.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/routerboot.c linux-4.1.43/arch/mips/ath79/routerboot.c
+--- linux-4.1.43.orig/arch/mips/ath79/routerboot.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/routerboot.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,358 @@
+/*
+ * RouterBoot helper routines
@@ -30674,9 +30698,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/routerboot.c linux-4.1.13/arch/mips/
+}
+
+late_initcall(rb_sysfs_init);
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/routerboot.h linux-4.1.13/arch/mips/ath79/routerboot.h
---- linux-4.1.13.orig/arch/mips/ath79/routerboot.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/routerboot.h 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/routerboot.h linux-4.1.43/arch/mips/ath79/routerboot.h
+--- linux-4.1.43.orig/arch/mips/ath79/routerboot.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/ath79/routerboot.h 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,63 @@
+/*
+ * RouterBoot definitions
@@ -30741,9 +30765,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/routerboot.h linux-4.1.13/arch/mips/
+#endif
+
+#endif /* _ATH79_ROUTERBOOT_H_ */
-diff -Nur linux-4.1.13.orig/arch/mips/ath79/setup.c linux-4.1.13/arch/mips/ath79/setup.c
---- linux-4.1.13.orig/arch/mips/ath79/setup.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/ath79/setup.c 2015-12-04 19:57:04.482071652 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/ath79/setup.c linux-4.1.43/arch/mips/ath79/setup.c
+--- linux-4.1.43.orig/arch/mips/ath79/setup.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/ath79/setup.c 2017-08-06 20:02:15.000000000 +0200
@@ -40,6 +40,7 @@
static void ath79_restart(char *command)
@@ -30821,9 +30845,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/ath79/setup.c linux-4.1.13/arch/mips/ath79
static int __init ath79_setup(void)
{
ath79_gpio_init();
-diff -Nur linux-4.1.13.orig/arch/mips/fw/lib/cmdline.c linux-4.1.13/arch/mips/fw/lib/cmdline.c
---- linux-4.1.13.orig/arch/mips/fw/lib/cmdline.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/fw/lib/cmdline.c 2015-12-04 19:57:04.014102269 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/fw/lib/cmdline.c linux-4.1.43/arch/mips/fw/lib/cmdline.c
+--- linux-4.1.43.orig/arch/mips/fw/lib/cmdline.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/fw/lib/cmdline.c 2017-08-06 20:02:15.000000000 +0200
@@ -35,6 +35,7 @@
else
_fw_envp = (int *)fw_arg2;
@@ -30832,9 +30856,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/fw/lib/cmdline.c linux-4.1.13/arch/mips/fw
for (i = 1; i < fw_argc; i++) {
strlcat(arcs_cmdline, fw_argv(i), COMMAND_LINE_SIZE);
if (i < (fw_argc - 1))
-diff -Nur linux-4.1.13.orig/arch/mips/include/asm/checksum.h linux-4.1.13/arch/mips/include/asm/checksum.h
---- linux-4.1.13.orig/arch/mips/include/asm/checksum.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/include/asm/checksum.h 2015-12-04 19:57:05.913977967 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/include/asm/checksum.h linux-4.1.43/arch/mips/include/asm/checksum.h
+--- linux-4.1.43.orig/arch/mips/include/asm/checksum.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/include/asm/checksum.h 2017-08-06 20:02:15.000000000 +0200
@@ -134,26 +134,30 @@
const unsigned int *stop = word + ihl;
unsigned int csum;
@@ -30877,7 +30901,7 @@ diff -Nur linux-4.1.13.orig/arch/mips/include/asm/checksum.h linux-4.1.13/arch/m
} while (word != stop);
return csum_fold(csum);
-@@ -212,73 +216,6 @@
+@@ -214,73 +218,6 @@
return csum_fold(csum_partial(buff, len, 0));
}
@@ -30951,9 +30975,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/include/asm/checksum.h linux-4.1.13/arch/m
#include <asm-generic/checksum.h>
#endif /* CONFIG_GENERIC_CSUM */
-diff -Nur linux-4.1.13.orig/arch/mips/include/asm/fw/myloader/myloader.h linux-4.1.13/arch/mips/include/asm/fw/myloader/myloader.h
---- linux-4.1.13.orig/arch/mips/include/asm/fw/myloader/myloader.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/include/asm/fw/myloader/myloader.h 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/include/asm/fw/myloader/myloader.h linux-4.1.43/arch/mips/include/asm/fw/myloader/myloader.h
+--- linux-4.1.43.orig/arch/mips/include/asm/fw/myloader/myloader.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/include/asm/fw/myloader/myloader.h 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,34 @@
+/*
+ * Compex's MyLoader specific definitions
@@ -30989,9 +31013,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/include/asm/fw/myloader/myloader.h linux-4
+#endif /* CONFIG_MYLOADER */
+
+#endif /* _ASM_MIPS_FW_MYLOADER_H */
-diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/ag71xx_platform.h linux-4.1.13/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
---- linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/ag71xx_platform.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/include/asm/mach-ath79/ag71xx_platform.h 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/ag71xx_platform.h linux-4.1.43/arch/mips/include/asm/mach-ath79/ag71xx_platform.h
+--- linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/ag71xx_platform.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/include/asm/mach-ath79/ag71xx_platform.h 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,65 @@
+/*
+ * Atheros AR71xx SoC specific platform data definitions
@@ -31058,9 +31082,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/ag71xx_platform.h l
+};
+
+#endif /* __ASM_MACH_ATH79_PLATFORM_H */
-diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/ar71xx_regs.h linux-4.1.13/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
---- linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/ar71xx_regs.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/include/asm/mach-ath79/ar71xx_regs.h 2015-12-04 19:57:05.893979276 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/ar71xx_regs.h linux-4.1.43/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
+--- linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/ar71xx_regs.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/include/asm/mach-ath79/ar71xx_regs.h 2017-08-06 20:02:15.000000000 +0200
@@ -20,6 +20,10 @@
#include <linux/bitops.h>
@@ -31799,9 +31823,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/ar71xx_regs.h linux
+#define QCA955X_ETH_CFG_GE0_SGMII BIT(6)
+
#endif /* __ASM_MACH_AR71XX_REGS_H */
-diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/ath79.h linux-4.1.13/arch/mips/include/asm/mach-ath79/ath79.h
---- linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/ath79.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/include/asm/mach-ath79/ath79.h 2015-12-04 19:57:04.482071652 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/ath79.h linux-4.1.43/arch/mips/include/asm/mach-ath79/ath79.h
+--- linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/ath79.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/include/asm/mach-ath79/ath79.h 2017-08-06 20:02:15.000000000 +0200
@@ -32,8 +32,11 @@
ATH79_SOC_AR9341,
ATH79_SOC_AR9342,
@@ -31873,9 +31897,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/ath79.h linux-4.1.1
+void ath79_flash_release(void);
#endif /* __ASM_MACH_ATH79_H */
-diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/ath79_spi_platform.h linux-4.1.13/arch/mips/include/asm/mach-ath79/ath79_spi_platform.h
---- linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/ath79_spi_platform.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/include/asm/mach-ath79/ath79_spi_platform.h 2015-12-04 19:57:03.962105671 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/ath79_spi_platform.h linux-4.1.43/arch/mips/include/asm/mach-ath79/ath79_spi_platform.h
+--- linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/ath79_spi_platform.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/include/asm/mach-ath79/ath79_spi_platform.h 2017-08-06 20:02:15.000000000 +0200
@@ -16,8 +16,15 @@
unsigned num_chipselect;
};
@@ -31893,9 +31917,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/ath79_spi_platform.
};
#endif /* _ATH79_SPI_PLATFORM_H */
-diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h linux-4.1.13/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
---- linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h 2015-12-04 19:57:03.826114569 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h linux-4.1.43/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
+--- linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h 2017-08-06 20:02:15.000000000 +0200
@@ -36,6 +36,7 @@
#define cpu_has_mdmx 0
#define cpu_has_mips3d 0
@@ -31922,9 +31946,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/cpu-feature-overrid
+#define cpu_has_pindexed_dcache 0
#endif /* __ASM_MACH_ATH79_CPU_FEATURE_OVERRIDES_H */
-diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/irq.h linux-4.1.13/arch/mips/include/asm/mach-ath79/irq.h
---- linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/irq.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/include/asm/mach-ath79/irq.h 2015-12-04 19:57:05.370013557 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/irq.h linux-4.1.43/arch/mips/include/asm/mach-ath79/irq.h
+--- linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/irq.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/include/asm/mach-ath79/irq.h 2017-08-06 20:02:15.000000000 +0200
@@ -10,7 +10,7 @@
#define __ASM_MACH_ATH79_IRQ_H
@@ -31945,9 +31969,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/irq.h linux-4.1.13/
#include_next <irq.h>
#endif /* __ASM_MACH_ATH79_IRQ_H */
-diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/mach-rb750.h linux-4.1.13/arch/mips/include/asm/mach-ath79/mach-rb750.h
---- linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/mach-rb750.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/include/asm/mach-ath79/mach-rb750.h 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/mach-rb750.h linux-4.1.43/arch/mips/include/asm/mach-ath79/mach-rb750.h
+--- linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/mach-rb750.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/include/asm/mach-ath79/mach-rb750.h 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,84 @@
+/*
+ * MikroTik RouterBOARD 750 definitions
@@ -32034,9 +32058,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/mach-rb750.h linux-
+
+#endif /* _MACH_RB750_H */
\ No newline at end of file
-diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/mangle-port.h linux-4.1.13/arch/mips/include/asm/mach-ath79/mangle-port.h
---- linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/mangle-port.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/include/asm/mach-ath79/mangle-port.h 2015-12-04 19:57:03.970105148 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/mangle-port.h linux-4.1.43/arch/mips/include/asm/mach-ath79/mangle-port.h
+--- linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/mangle-port.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/include/asm/mach-ath79/mangle-port.h 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
@@ -32075,9 +32099,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/mangle-port.h linux
+# define __mem_ioswabq(a, x) cpu_to_le64(x)
+
+#endif /* __ASM_MACH_ATH79_MANGLE_PORT_H */
-diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/rb4xx_cpld.h linux-4.1.13/arch/mips/include/asm/mach-ath79/rb4xx_cpld.h
---- linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/rb4xx_cpld.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/arch/mips/include/asm/mach-ath79/rb4xx_cpld.h 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/rb4xx_cpld.h linux-4.1.43/arch/mips/include/asm/mach-ath79/rb4xx_cpld.h
+--- linux-4.1.43.orig/arch/mips/include/asm/mach-ath79/rb4xx_cpld.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/arch/mips/include/asm/mach-ath79/rb4xx_cpld.h 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,48 @@
+/*
+ * SPI driver definitions for the CPLD chip on the Mikrotik RB4xx boards
@@ -32127,9 +32151,9 @@ diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mach-ath79/rb4xx_cpld.h linux-
+ const unsigned char *verify_buf,
+ unsigned cnt);
+extern int rb4xx_cpld_write(const unsigned char *buf, unsigned count);
-diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mips_machine.h linux-4.1.13/arch/mips/include/asm/mips_machine.h
---- linux-4.1.13.orig/arch/mips/include/asm/mips_machine.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/include/asm/mips_machine.h 2015-12-04 19:57:03.826114569 +0100
+diff -Nur linux-4.1.43.orig/arch/mips/include/asm/mips_machine.h linux-4.1.43/arch/mips/include/asm/mips_machine.h
+--- linux-4.1.43.orig/arch/mips/include/asm/mips_machine.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/arch/mips/include/asm/mips_machine.h 2017-08-06 20:02:15.000000000 +0200
@@ -36,6 +36,18 @@
.mach_setup = _setup, \
};
@@ -32149,33 +32173,71 @@ diff -Nur linux-4.1.13.orig/arch/mips/include/asm/mips_machine.h linux-4.1.13/ar
extern long __mips_machines_start;
extern long __mips_machines_end;
-diff -Nur linux-4.1.13.orig/arch/mips/Kconfig linux-4.1.13/arch/mips/Kconfig
---- linux-4.1.13.orig/arch/mips/Kconfig 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/Kconfig 2015-12-04 19:57:03.986104101 +0100
-@@ -1070,6 +1070,9 @@
- config MIPS_NILE4
- bool
+diff -Nur linux-4.1.43.orig/drivers/Makefile linux-4.1.43/drivers/Makefile
+--- linux-4.1.43.orig/drivers/Makefile 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/Makefile 2017-08-06 20:02:16.000000000 +0200
+@@ -71,8 +71,8 @@
+ obj-$(CONFIG_SCSI) += scsi/
+ obj-$(CONFIG_ATA) += ata/
+ obj-$(CONFIG_TARGET_CORE) += target/
+-obj-$(CONFIG_MTD) += mtd/
+ obj-$(CONFIG_SPI) += spi/
++obj-$(CONFIG_MTD) += mtd/
+ obj-$(CONFIG_SPMI) += spmi/
+ obj-y += hsi/
+ obj-y += net/
+diff -Nur linux-4.1.43.orig/drivers/gpio/Kconfig linux-4.1.43/drivers/gpio/Kconfig
+--- linux-4.1.43.orig/drivers/gpio/Kconfig 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/gpio/Kconfig 2017-08-06 20:02:15.000000000 +0200
+@@ -942,7 +942,7 @@
-+config MYLOADER
-+ bool
-+
- config SYNC_R4K
- bool
+ config GPIO_74X164
+ tristate "74x164 serial-in/parallel-out 8-bits shift register"
+- depends on SPI_MASTER && OF
++ depends on SPI_MASTER
+ help
+ Driver for 74x164 compatible serial-in/parallel-out 8-outputs
+ shift registers. This driver can be used to provide access
+@@ -989,4 +989,17 @@
-diff -Nur linux-4.1.13.orig/arch/mips/Makefile linux-4.1.13/arch/mips/Makefile
---- linux-4.1.13.orig/arch/mips/Makefile 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/arch/mips/Makefile 2015-12-04 19:57:03.982104363 +0100
-@@ -216,6 +216,7 @@
- #
- libs-$(CONFIG_FW_ARC) += arch/mips/fw/arc/
- libs-$(CONFIG_FW_CFE) += arch/mips/fw/cfe/
-+libs-$(CONFIG_MYLOADER) += arch/mips/fw/myloader/
- libs-$(CONFIG_FW_SNIPROM) += arch/mips/fw/sni/
- libs-y += arch/mips/fw/lib/
+ endmenu
-diff -Nur linux-4.1.13.orig/drivers/gpio/gpio-74x164.c linux-4.1.13/drivers/gpio/gpio-74x164.c
---- linux-4.1.13.orig/drivers/gpio/gpio-74x164.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/gpio/gpio-74x164.c 2015-12-04 19:57:03.930107765 +0100
++comment "Other GPIO expanders"
++
++config GPIO_NXP_74HC153
++ tristate "NXP 74HC153 Dual 4-input multiplexer"
++ help
++ Platform driver for NXP 74HC153 Dual 4-input Multiplexer. This
++ provides a GPIO interface supporting input mode only.
++
++config GPIO_LATCH
++ tristate "GPIO latch driver"
++ help
++ Say yes here to enable a GPIO latch driver.
++
+ endif
+diff -Nur linux-4.1.43.orig/drivers/gpio/Makefile linux-4.1.43/drivers/gpio/Makefile
+--- linux-4.1.43.orig/drivers/gpio/Makefile 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/gpio/Makefile 2017-08-06 20:02:16.000000000 +0200
+@@ -42,6 +42,7 @@
+ obj-$(CONFIG_GPIO_KEMPLD) += gpio-kempld.o
+ obj-$(CONFIG_ARCH_KS8695) += gpio-ks8695.o
+ obj-$(CONFIG_GPIO_INTEL_MID) += gpio-intel-mid.o
++obj-$(CONFIG_GPIO_LATCH) += gpio-latch.o
+ obj-$(CONFIG_GPIO_LOONGSON) += gpio-loongson.o
+ obj-$(CONFIG_GPIO_LP3943) += gpio-lp3943.o
+ obj-$(CONFIG_ARCH_LPC32XX) += gpio-lpc32xx.o
+@@ -64,6 +65,7 @@
+ obj-$(CONFIG_GPIO_MVEBU) += gpio-mvebu.o
+ obj-$(CONFIG_GPIO_MXC) += gpio-mxc.o
+ obj-$(CONFIG_GPIO_MXS) += gpio-mxs.o
++obj-$(CONFIG_GPIO_NXP_74HC153) += gpio-nxp-74hc153.o
+ obj-$(CONFIG_GPIO_OCTEON) += gpio-octeon.o
+ obj-$(CONFIG_GPIO_OMAP) += gpio-omap.o
+ obj-$(CONFIG_GPIO_PCA953X) += gpio-pca953x.o
+diff -Nur linux-4.1.43.orig/drivers/gpio/gpio-74x164.c linux-4.1.43/drivers/gpio/gpio-74x164.c
+--- linux-4.1.43.orig/drivers/gpio/gpio-74x164.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/gpio/gpio-74x164.c 2017-08-06 20:02:15.000000000 +0200
@@ -12,6 +12,7 @@
#include <linux/init.h>
#include <linux/mutex.h>
@@ -32258,9 +32320,9 @@ diff -Nur linux-4.1.13.orig/drivers/gpio/gpio-74x164.c linux-4.1.13/drivers/gpio
},
.probe = gen_74x164_probe,
.remove = gen_74x164_remove,
-diff -Nur linux-4.1.13.orig/drivers/gpio/gpio-latch.c linux-4.1.13/drivers/gpio/gpio-latch.c
---- linux-4.1.13.orig/drivers/gpio/gpio-latch.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/gpio/gpio-latch.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/drivers/gpio/gpio-latch.c linux-4.1.43/drivers/gpio/gpio-latch.c
+--- linux-4.1.43.orig/drivers/gpio/gpio-latch.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/gpio/gpio-latch.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,220 @@
+/*
+ * GPIO latch driver
@@ -32482,9 +32544,9 @@ diff -Nur linux-4.1.13.orig/drivers/gpio/gpio-latch.c linux-4.1.13/drivers/gpio/
+MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:" GPIO_LATCH_DRIVER_NAME);
-diff -Nur linux-4.1.13.orig/drivers/gpio/gpio-nxp-74hc153.c linux-4.1.13/drivers/gpio/gpio-nxp-74hc153.c
---- linux-4.1.13.orig/drivers/gpio/gpio-nxp-74hc153.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/gpio/gpio-nxp-74hc153.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/drivers/gpio/gpio-nxp-74hc153.c linux-4.1.43/drivers/gpio/gpio-nxp-74hc153.c
+--- linux-4.1.43.orig/drivers/gpio/gpio-nxp-74hc153.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/gpio/gpio-nxp-74hc153.c 2017-08-06 20:02:15.000000000 +0200
@@ -0,0 +1,251 @@
+/*
+ * NXP 74HC153 - Dual 4-input multiplexer GPIO driver
@@ -32737,58 +32799,9 @@ diff -Nur linux-4.1.13.orig/drivers/gpio/gpio-nxp-74hc153.c linux-4.1.13/drivers
+MODULE_DESCRIPTION("GPIO expander driver for NXP 74HC153");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:" NXP_74HC153_DRIVER_NAME);
-diff -Nur linux-4.1.13.orig/drivers/gpio/Kconfig linux-4.1.13/drivers/gpio/Kconfig
---- linux-4.1.13.orig/drivers/gpio/Kconfig 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/gpio/Kconfig 2015-12-04 19:57:03.934107503 +0100
-@@ -941,7 +941,7 @@
-
- config GPIO_74X164
- tristate "74x164 serial-in/parallel-out 8-bits shift register"
-- depends on SPI_MASTER && OF
-+ depends on SPI_MASTER
- help
- Driver for 74x164 compatible serial-in/parallel-out 8-outputs
- shift registers. This driver can be used to provide access
-@@ -988,4 +988,17 @@
-
- endmenu
-
-+comment "Other GPIO expanders"
-+
-+config GPIO_NXP_74HC153
-+ tristate "NXP 74HC153 Dual 4-input multiplexer"
-+ help
-+ Platform driver for NXP 74HC153 Dual 4-input Multiplexer. This
-+ provides a GPIO interface supporting input mode only.
-+
-+config GPIO_LATCH
-+ tristate "GPIO latch driver"
-+ help
-+ Say yes here to enable a GPIO latch driver.
-+
- endif
-diff -Nur linux-4.1.13.orig/drivers/gpio/Makefile linux-4.1.13/drivers/gpio/Makefile
---- linux-4.1.13.orig/drivers/gpio/Makefile 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/gpio/Makefile 2015-12-04 19:57:03.934107503 +0100
-@@ -42,6 +42,7 @@
- obj-$(CONFIG_GPIO_KEMPLD) += gpio-kempld.o
- obj-$(CONFIG_ARCH_KS8695) += gpio-ks8695.o
- obj-$(CONFIG_GPIO_INTEL_MID) += gpio-intel-mid.o
-+obj-$(CONFIG_GPIO_LATCH) += gpio-latch.o
- obj-$(CONFIG_GPIO_LOONGSON) += gpio-loongson.o
- obj-$(CONFIG_GPIO_LP3943) += gpio-lp3943.o
- obj-$(CONFIG_ARCH_LPC32XX) += gpio-lpc32xx.o
-@@ -64,6 +65,7 @@
- obj-$(CONFIG_GPIO_MVEBU) += gpio-mvebu.o
- obj-$(CONFIG_GPIO_MXC) += gpio-mxc.o
- obj-$(CONFIG_GPIO_MXS) += gpio-mxs.o
-+obj-$(CONFIG_GPIO_NXP_74HC153) += gpio-nxp-74hc153.o
- obj-$(CONFIG_GPIO_OCTEON) += gpio-octeon.o
- obj-$(CONFIG_GPIO_OMAP) += gpio-omap.o
- obj-$(CONFIG_GPIO_PCA953X) += gpio-pca953x.o
-diff -Nur linux-4.1.13.orig/drivers/leds/Kconfig linux-4.1.13/drivers/leds/Kconfig
---- linux-4.1.13.orig/drivers/leds/Kconfig 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/leds/Kconfig 2015-12-04 19:57:03.926108026 +0100
+diff -Nur linux-4.1.43.orig/drivers/leds/Kconfig linux-4.1.43/drivers/leds/Kconfig
+--- linux-4.1.43.orig/drivers/leds/Kconfig 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/leds/Kconfig 2017-08-06 20:02:16.000000000 +0200
@@ -534,6 +534,17 @@
This option enables support for the 'White' LED block
on Qualcomm PM8941 PMICs.
@@ -32807,9 +32820,27 @@ diff -Nur linux-4.1.13.orig/drivers/leds/Kconfig linux-4.1.13/drivers/leds/Kconf
comment "LED Triggers"
source "drivers/leds/trigger/Kconfig"
-diff -Nur linux-4.1.13.orig/drivers/leds/leds-rb750.c linux-4.1.13/drivers/leds/leds-rb750.c
---- linux-4.1.13.orig/drivers/leds/leds-rb750.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/leds/leds-rb750.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/drivers/leds/Makefile linux-4.1.43/drivers/leds/Makefile
+--- linux-4.1.43.orig/drivers/leds/Makefile 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/leds/Makefile 2017-08-06 20:02:16.000000000 +0200
+@@ -43,12 +43,14 @@
+ obj-$(CONFIG_LEDS_WM831X_STATUS) += leds-wm831x-status.o
+ obj-$(CONFIG_LEDS_WM8350) += leds-wm8350.o
+ obj-$(CONFIG_LEDS_PWM) += leds-pwm.o
++obj-${CONFIG_LEDS_WNDR3700_USB} += leds-wndr3700-usb.o
+ obj-$(CONFIG_LEDS_REGULATOR) += leds-regulator.o
+ obj-$(CONFIG_LEDS_INTEL_SS4200) += leds-ss4200.o
+ obj-$(CONFIG_LEDS_LT3593) += leds-lt3593.o
+ obj-$(CONFIG_LEDS_ADP5520) += leds-adp5520.o
+ obj-$(CONFIG_LEDS_DELL_NETBOOKS) += dell-led.o
+ obj-$(CONFIG_LEDS_MC13783) += leds-mc13783.o
++obj-$(CONFIG_LEDS_RB750) += leds-rb750.o
+ obj-$(CONFIG_LEDS_NS2) += leds-ns2.o
+ obj-$(CONFIG_LEDS_NETXBIG) += leds-netxbig.o
+ obj-$(CONFIG_LEDS_ASIC3) += leds-asic3.o
+diff -Nur linux-4.1.43.orig/drivers/leds/leds-rb750.c linux-4.1.43/drivers/leds/leds-rb750.c
+--- linux-4.1.43.orig/drivers/leds/leds-rb750.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/leds/leds-rb750.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,144 @@
+/*
+ * LED driver for the RouterBOARD 750
@@ -32955,9 +32986,9 @@ diff -Nur linux-4.1.13.orig/drivers/leds/leds-rb750.c linux-4.1.13/drivers/leds/
+MODULE_DESCRIPTION("LED driver for the RouterBOARD 750");
+MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
+MODULE_LICENSE("GPL v2");
-diff -Nur linux-4.1.13.orig/drivers/leds/leds-wndr3700-usb.c linux-4.1.13/drivers/leds/leds-wndr3700-usb.c
---- linux-4.1.13.orig/drivers/leds/leds-wndr3700-usb.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/leds/leds-wndr3700-usb.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/drivers/leds/leds-wndr3700-usb.c linux-4.1.43/drivers/leds/leds-wndr3700-usb.c
+--- linux-4.1.43.orig/drivers/leds/leds-wndr3700-usb.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/leds/leds-wndr3700-usb.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,76 @@
+/*
+ * USB LED driver for the NETGEAR WNDR3700
@@ -33035,40 +33066,25 @@ diff -Nur linux-4.1.13.orig/drivers/leds/leds-wndr3700-usb.c linux-4.1.13/driver
+MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:" DRIVER_NAME);
-diff -Nur linux-4.1.13.orig/drivers/leds/Makefile linux-4.1.13/drivers/leds/Makefile
---- linux-4.1.13.orig/drivers/leds/Makefile 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/leds/Makefile 2015-12-04 19:57:03.926108026 +0100
-@@ -43,12 +43,14 @@
- obj-$(CONFIG_LEDS_WM831X_STATUS) += leds-wm831x-status.o
- obj-$(CONFIG_LEDS_WM8350) += leds-wm8350.o
- obj-$(CONFIG_LEDS_PWM) += leds-pwm.o
-+obj-${CONFIG_LEDS_WNDR3700_USB} += leds-wndr3700-usb.o
- obj-$(CONFIG_LEDS_REGULATOR) += leds-regulator.o
- obj-$(CONFIG_LEDS_INTEL_SS4200) += leds-ss4200.o
- obj-$(CONFIG_LEDS_LT3593) += leds-lt3593.o
- obj-$(CONFIG_LEDS_ADP5520) += leds-adp5520.o
- obj-$(CONFIG_LEDS_DELL_NETBOOKS) += dell-led.o
- obj-$(CONFIG_LEDS_MC13783) += leds-mc13783.o
-+obj-$(CONFIG_LEDS_RB750) += leds-rb750.o
- obj-$(CONFIG_LEDS_NS2) += leds-ns2.o
- obj-$(CONFIG_LEDS_NETXBIG) += leds-netxbig.o
- obj-$(CONFIG_LEDS_ASIC3) += leds-asic3.o
-diff -Nur linux-4.1.13.orig/drivers/Makefile linux-4.1.13/drivers/Makefile
---- linux-4.1.13.orig/drivers/Makefile 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/Makefile 2015-12-04 19:57:03.890110382 +0100
-@@ -71,8 +71,8 @@
- obj-$(CONFIG_SCSI) += scsi/
- obj-$(CONFIG_ATA) += ata/
- obj-$(CONFIG_TARGET_CORE) += target/
--obj-$(CONFIG_MTD) += mtd/
- obj-$(CONFIG_SPI) += spi/
-+obj-$(CONFIG_MTD) += mtd/
- obj-$(CONFIG_SPMI) += spmi/
- obj-y += hsi/
- obj-y += net/
-diff -Nur linux-4.1.13.orig/drivers/mtd/chips/cfi_cmdset_0002.c linux-4.1.13/drivers/mtd/chips/cfi_cmdset_0002.c
---- linux-4.1.13.orig/drivers/mtd/chips/cfi_cmdset_0002.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/mtd/chips/cfi_cmdset_0002.c 2015-12-04 19:57:03.878111167 +0100
+diff -Nur linux-4.1.43.orig/drivers/mtd/Kconfig linux-4.1.43/drivers/mtd/Kconfig
+--- linux-4.1.43.orig/drivers/mtd/Kconfig 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/mtd/Kconfig 2017-08-06 20:02:16.000000000 +0200
+@@ -155,6 +155,12 @@
+ This provides partitions parser for devices based on BCM47xx
+ boards.
+
++config MTD_TPLINK_PARTS
++ tristate "TP-Link AR7XXX/AR9XXX partitioning support"
++ depends on ATH79
++ ---help---
++ TBD.
++
+ comment "User Modules And Translation Layers"
+
+ #
+diff -Nur linux-4.1.43.orig/drivers/mtd/chips/cfi_cmdset_0002.c linux-4.1.43/drivers/mtd/chips/cfi_cmdset_0002.c
+--- linux-4.1.43.orig/drivers/mtd/chips/cfi_cmdset_0002.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/mtd/chips/cfi_cmdset_0002.c 2017-08-06 20:02:16.000000000 +0200
@@ -40,7 +40,7 @@
#include <linux/mtd/xip.h>
@@ -33195,9 +33211,9 @@ diff -Nur linux-4.1.13.orig/drivers/mtd/chips/cfi_cmdset_0002.c linux-4.1.13/dri
chip->state = FL_READY;
DISABLE_VPP(map);
put_chip(map, chip, adr);
-diff -Nur linux-4.1.13.orig/drivers/mtd/chips/jedec_probe.c linux-4.1.13/drivers/mtd/chips/jedec_probe.c
---- linux-4.1.13.orig/drivers/mtd/chips/jedec_probe.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/mtd/chips/jedec_probe.c 2015-12-04 19:57:03.834114045 +0100
+diff -Nur linux-4.1.43.orig/drivers/mtd/chips/jedec_probe.c linux-4.1.43/drivers/mtd/chips/jedec_probe.c
+--- linux-4.1.43.orig/drivers/mtd/chips/jedec_probe.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/mtd/chips/jedec_probe.c 2017-08-06 20:02:16.000000000 +0200
@@ -148,6 +148,7 @@
#define SST39LF160 0x2782
#define SST39VF1601 0x234b
@@ -33225,9 +33241,9 @@ diff -Nur linux-4.1.13.orig/drivers/mtd/chips/jedec_probe.c linux-4.1.13/drivers
.mfr_id = CFI_MFR_ST,
.dev_id = M29F800AB,
.name = "ST M29F800AB",
-diff -Nur linux-4.1.13.orig/drivers/mtd/cybertan_part.c linux-4.1.13/drivers/mtd/cybertan_part.c
---- linux-4.1.13.orig/drivers/mtd/cybertan_part.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/mtd/cybertan_part.c 2015-09-13 20:04:35.072523889 +0200
+diff -Nur linux-4.1.43.orig/drivers/mtd/cybertan_part.c linux-4.1.43/drivers/mtd/cybertan_part.c
+--- linux-4.1.43.orig/drivers/mtd/cybertan_part.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/mtd/cybertan_part.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,201 @@
+/*
+ * Copyright (C) 2009 Christian Daniel <cd@maintech.de>
@@ -33430,9 +33446,9 @@ diff -Nur linux-4.1.13.orig/drivers/mtd/cybertan_part.c linux-4.1.13/drivers/mtd
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Christian Daniel <cd@maintech.de>");
-diff -Nur linux-4.1.13.orig/drivers/mtd/devices/m25p80.c linux-4.1.13/drivers/mtd/devices/m25p80.c
---- linux-4.1.13.orig/drivers/mtd/devices/m25p80.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/mtd/devices/m25p80.c 2015-12-04 19:57:03.966105410 +0100
+diff -Nur linux-4.1.43.orig/drivers/mtd/devices/m25p80.c linux-4.1.43/drivers/mtd/devices/m25p80.c
+--- linux-4.1.43.orig/drivers/mtd/devices/m25p80.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/mtd/devices/m25p80.c 2017-08-06 20:02:16.000000000 +0200
@@ -139,10 +139,15 @@
flash->command[0] = nor->read_opcode;
m25p_addr2cmd(nor, from, flash->command);
@@ -33457,25 +33473,9 @@ diff -Nur linux-4.1.13.orig/drivers/mtd/devices/m25p80.c linux-4.1.13/drivers/mt
ppdata.of_node = spi->dev.of_node;
return mtd_device_parse_register(&flash->mtd, NULL, &ppdata,
-diff -Nur linux-4.1.13.orig/drivers/mtd/Kconfig linux-4.1.13/drivers/mtd/Kconfig
---- linux-4.1.13.orig/drivers/mtd/Kconfig 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/mtd/Kconfig 2015-12-04 19:57:03.850112998 +0100
-@@ -155,6 +155,12 @@
- This provides partitions parser for devices based on BCM47xx
- boards.
-
-+config MTD_TPLINK_PARTS
-+ tristate "TP-Link AR7XXX/AR9XXX partitioning support"
-+ depends on ATH79
-+ ---help---
-+ TBD.
-+
- comment "User Modules And Translation Layers"
-
- #
-diff -Nur linux-4.1.13.orig/drivers/mtd/maps/physmap.c linux-4.1.13/drivers/mtd/maps/physmap.c
---- linux-4.1.13.orig/drivers/mtd/maps/physmap.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/mtd/maps/physmap.c 2015-12-04 19:57:03.830114307 +0100
+diff -Nur linux-4.1.43.orig/drivers/mtd/maps/physmap.c linux-4.1.43/drivers/mtd/maps/physmap.c
+--- linux-4.1.43.orig/drivers/mtd/maps/physmap.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/mtd/maps/physmap.c 2017-08-06 20:02:16.000000000 +0200
@@ -31,6 +31,66 @@
int vpp_refcnt;
};
@@ -33557,9 +33557,58 @@ diff -Nur linux-4.1.13.orig/drivers/mtd/maps/physmap.c linux-4.1.13/drivers/mtd/
probe_type = rom_probe_types;
if (physmap_data->probe_type == NULL) {
for (; info->mtd[i] == NULL && *probe_type != NULL; probe_type++)
-diff -Nur linux-4.1.13.orig/drivers/mtd/nand/ar934x_nfc.c linux-4.1.13/drivers/mtd/nand/ar934x_nfc.c
---- linux-4.1.13.orig/drivers/mtd/nand/ar934x_nfc.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/mtd/nand/ar934x_nfc.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/drivers/mtd/nand/Kconfig linux-4.1.43/drivers/mtd/nand/Kconfig
+--- linux-4.1.43.orig/drivers/mtd/nand/Kconfig 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/mtd/nand/Kconfig 2017-08-06 20:02:16.000000000 +0200
+@@ -530,4 +530,24 @@
+ help
+ Enables support for NAND controller on Hisilicon SoC Hip04.
+
++config MTD_NAND_RB4XX
++ tristate "NAND flash driver for RouterBoard 4xx series"
++ depends on MTD_NAND && ATH79_MACH_RB4XX
++
++config MTD_NAND_RB750
++ tristate "NAND flash driver for the RouterBoard 750"
++ depends on MTD_NAND && ATH79_MACH_RB750
++
++config MTD_NAND_RB91X
++ tristate "NAND flash driver for the RouterBOARD 91x series"
++ depends on MTD_NAND && ATH79_MACH_RB91X
++
++config MTD_NAND_AR934X
++ tristate "NAND flash driver for the Qualcomm Atheros AR934x/QCA955x SoCs"
++ depends on (SOC_AR934X || SOC_QCA955X)
++
++config MTD_NAND_AR934X_HW_ECC
++ bool "Hardware ECC support for the AR934X NAND Controller (EXPERIMENTAL)"
++ depends on MTD_NAND_AR934X
++
+ endif # MTD_NAND
+diff -Nur linux-4.1.43.orig/drivers/mtd/nand/Makefile linux-4.1.43/drivers/mtd/nand/Makefile
+--- linux-4.1.43.orig/drivers/mtd/nand/Makefile 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/mtd/nand/Makefile 2017-08-06 20:02:16.000000000 +0200
+@@ -13,6 +13,7 @@
+ obj-$(CONFIG_MTD_NAND_DENALI) += denali.o
+ obj-$(CONFIG_MTD_NAND_DENALI_PCI) += denali_pci.o
+ obj-$(CONFIG_MTD_NAND_DENALI_DT) += denali_dt.o
++obj-$(CONFIG_MTD_NAND_AR934X) += ar934x_nfc.o
+ obj-$(CONFIG_MTD_NAND_AU1550) += au1550nd.o
+ obj-$(CONFIG_MTD_NAND_BF5XX) += bf5xx_nand.o
+ obj-$(CONFIG_MTD_NAND_S3C2410) += s3c2410.o
+@@ -32,6 +33,9 @@
+ obj-$(CONFIG_MTD_NAND_PXA3xx) += pxa3xx_nand.o
+ obj-$(CONFIG_MTD_NAND_TMIO) += tmio_nand.o
+ obj-$(CONFIG_MTD_NAND_PLATFORM) += plat_nand.o
++obj-$(CONFIG_MTD_NAND_RB4XX) += rb4xx_nand.o
++obj-$(CONFIG_MTD_NAND_RB750) += rb750_nand.o
++obj-$(CONFIG_MTD_NAND_RB91X) += rb91x_nand.o
+ obj-$(CONFIG_MTD_NAND_PASEMI) += pasemi_nand.o
+ obj-$(CONFIG_MTD_NAND_ORION) += orion_nand.o
+ obj-$(CONFIG_MTD_NAND_FSL_ELBC) += fsl_elbc_nand.o
+diff -Nur linux-4.1.43.orig/drivers/mtd/nand/ar934x_nfc.c linux-4.1.43/drivers/mtd/nand/ar934x_nfc.c
+--- linux-4.1.43.orig/drivers/mtd/nand/ar934x_nfc.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/mtd/nand/ar934x_nfc.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,1508 @@
+/*
+ * Driver for the built-in NAND controller of the Atheros AR934x SoCs
@@ -35069,58 +35118,9 @@ diff -Nur linux-4.1.13.orig/drivers/mtd/nand/ar934x_nfc.c linux-4.1.13/drivers/m
+MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
+MODULE_DESCRIPTION("Atheros AR934x NAND Flash Controller driver");
+MODULE_ALIAS("platform:" AR934X_NFC_DRIVER_NAME);
-diff -Nur linux-4.1.13.orig/drivers/mtd/nand/Kconfig linux-4.1.13/drivers/mtd/nand/Kconfig
---- linux-4.1.13.orig/drivers/mtd/nand/Kconfig 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/mtd/nand/Kconfig 2015-12-04 19:57:03.882110905 +0100
-@@ -530,4 +530,24 @@
- help
- Enables support for NAND controller on Hisilicon SoC Hip04.
-
-+config MTD_NAND_RB4XX
-+ tristate "NAND flash driver for RouterBoard 4xx series"
-+ depends on MTD_NAND && ATH79_MACH_RB4XX
-+
-+config MTD_NAND_RB750
-+ tristate "NAND flash driver for the RouterBoard 750"
-+ depends on MTD_NAND && ATH79_MACH_RB750
-+
-+config MTD_NAND_RB91X
-+ tristate "NAND flash driver for the RouterBOARD 91x series"
-+ depends on MTD_NAND && ATH79_MACH_RB91X
-+
-+config MTD_NAND_AR934X
-+ tristate "NAND flash driver for the Qualcomm Atheros AR934x/QCA955x SoCs"
-+ depends on (SOC_AR934X || SOC_QCA955X)
-+
-+config MTD_NAND_AR934X_HW_ECC
-+ bool "Hardware ECC support for the AR934X NAND Controller (EXPERIMENTAL)"
-+ depends on MTD_NAND_AR934X
-+
- endif # MTD_NAND
-diff -Nur linux-4.1.13.orig/drivers/mtd/nand/Makefile linux-4.1.13/drivers/mtd/nand/Makefile
---- linux-4.1.13.orig/drivers/mtd/nand/Makefile 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/mtd/nand/Makefile 2015-12-04 19:57:03.882110905 +0100
-@@ -13,6 +13,7 @@
- obj-$(CONFIG_MTD_NAND_DENALI) += denali.o
- obj-$(CONFIG_MTD_NAND_DENALI_PCI) += denali_pci.o
- obj-$(CONFIG_MTD_NAND_DENALI_DT) += denali_dt.o
-+obj-$(CONFIG_MTD_NAND_AR934X) += ar934x_nfc.o
- obj-$(CONFIG_MTD_NAND_AU1550) += au1550nd.o
- obj-$(CONFIG_MTD_NAND_BF5XX) += bf5xx_nand.o
- obj-$(CONFIG_MTD_NAND_S3C2410) += s3c2410.o
-@@ -32,6 +33,9 @@
- obj-$(CONFIG_MTD_NAND_PXA3xx) += pxa3xx_nand.o
- obj-$(CONFIG_MTD_NAND_TMIO) += tmio_nand.o
- obj-$(CONFIG_MTD_NAND_PLATFORM) += plat_nand.o
-+obj-$(CONFIG_MTD_NAND_RB4XX) += rb4xx_nand.o
-+obj-$(CONFIG_MTD_NAND_RB750) += rb750_nand.o
-+obj-$(CONFIG_MTD_NAND_RB91X) += rb91x_nand.o
- obj-$(CONFIG_MTD_NAND_PASEMI) += pasemi_nand.o
- obj-$(CONFIG_MTD_NAND_ORION) += orion_nand.o
- obj-$(CONFIG_MTD_NAND_FSL_ELBC) += fsl_elbc_nand.o
-diff -Nur linux-4.1.13.orig/drivers/mtd/nand/rb4xx_nand.c linux-4.1.13/drivers/mtd/nand/rb4xx_nand.c
---- linux-4.1.13.orig/drivers/mtd/nand/rb4xx_nand.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/mtd/nand/rb4xx_nand.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/drivers/mtd/nand/rb4xx_nand.c linux-4.1.43/drivers/mtd/nand/rb4xx_nand.c
+--- linux-4.1.43.orig/drivers/mtd/nand/rb4xx_nand.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/mtd/nand/rb4xx_nand.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,305 @@
+/*
+ * NAND flash driver for the MikroTik RouterBoard 4xx series
@@ -35427,9 +35427,9 @@ diff -Nur linux-4.1.13.orig/drivers/mtd/nand/rb4xx_nand.c linux-4.1.13/drivers/m
+MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
+MODULE_AUTHOR("Imre Kaloz <kaloz@openwrt.org>");
+MODULE_LICENSE("GPL v2");
-diff -Nur linux-4.1.13.orig/drivers/mtd/nand/rb750_nand.c linux-4.1.13/drivers/mtd/nand/rb750_nand.c
---- linux-4.1.13.orig/drivers/mtd/nand/rb750_nand.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/mtd/nand/rb750_nand.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/drivers/mtd/nand/rb750_nand.c linux-4.1.43/drivers/mtd/nand/rb750_nand.c
+--- linux-4.1.43.orig/drivers/mtd/nand/rb750_nand.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/mtd/nand/rb750_nand.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,354 @@
+/*
+ * NAND flash driver for the MikroTik RouterBOARD 750
@@ -35785,9 +35785,9 @@ diff -Nur linux-4.1.13.orig/drivers/mtd/nand/rb750_nand.c linux-4.1.13/drivers/m
+MODULE_VERSION(DRV_VERSION);
+MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
+MODULE_LICENSE("GPL v2");
-diff -Nur linux-4.1.13.orig/drivers/mtd/nand/rb91x_nand.c linux-4.1.13/drivers/mtd/nand/rb91x_nand.c
---- linux-4.1.13.orig/drivers/mtd/nand/rb91x_nand.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/mtd/nand/rb91x_nand.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/drivers/mtd/nand/rb91x_nand.c linux-4.1.43/drivers/mtd/nand/rb91x_nand.c
+--- linux-4.1.43.orig/drivers/mtd/nand/rb91x_nand.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/mtd/nand/rb91x_nand.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,377 @@
+/*
+ * NAND flash driver for the MikroTik RouterBOARD 91x series
@@ -36166,9 +36166,9 @@ diff -Nur linux-4.1.13.orig/drivers/mtd/nand/rb91x_nand.c linux-4.1.13/drivers/m
+MODULE_VERSION(DRV_VERSION);
+MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
+MODULE_LICENSE("GPL v2");
-diff -Nur linux-4.1.13.orig/drivers/mtd/redboot.c linux-4.1.13/drivers/mtd/redboot.c
---- linux-4.1.13.orig/drivers/mtd/redboot.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/mtd/redboot.c 2015-12-04 19:57:03.870111690 +0100
+diff -Nur linux-4.1.43.orig/drivers/mtd/redboot.c linux-4.1.43/drivers/mtd/redboot.c
+--- linux-4.1.43.orig/drivers/mtd/redboot.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/mtd/redboot.c 2017-08-06 20:02:16.000000000 +0200
@@ -76,12 +76,18 @@
static char nullstring[] = "unallocated";
#endif
@@ -36211,9 +36211,9 @@ diff -Nur linux-4.1.13.orig/drivers/mtd/redboot.c linux-4.1.13/drivers/mtd/redbo
printk(KERN_NOTICE "No RedBoot partition table detected in %s\n",
master->name);
ret = 0;
-diff -Nur linux-4.1.13.orig/drivers/mtd/tplinkpart.c linux-4.1.13/drivers/mtd/tplinkpart.c
---- linux-4.1.13.orig/drivers/mtd/tplinkpart.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/mtd/tplinkpart.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/drivers/mtd/tplinkpart.c linux-4.1.43/drivers/mtd/tplinkpart.c
+--- linux-4.1.43.orig/drivers/mtd/tplinkpart.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/mtd/tplinkpart.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,222 @@
+/*
+ * Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
@@ -36437,9 +36437,9 @@ diff -Nur linux-4.1.13.orig/drivers/mtd/tplinkpart.c linux-4.1.13/drivers/mtd/tp
+
+MODULE_LICENSE("GPL v2");
+MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
-diff -Nur linux-4.1.13.orig/drivers/net/dsa/Kconfig linux-4.1.13/drivers/net/dsa/Kconfig
---- linux-4.1.13.orig/drivers/net/dsa/Kconfig 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/net/dsa/Kconfig 2015-12-04 19:57:03.886110643 +0100
+diff -Nur linux-4.1.43.orig/drivers/net/dsa/Kconfig linux-4.1.43/drivers/net/dsa/Kconfig
+--- linux-4.1.43.orig/drivers/net/dsa/Kconfig 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/net/dsa/Kconfig 2017-08-06 20:02:16.000000000 +0200
@@ -13,6 +13,13 @@
This enables support for the Marvell 88E6060 ethernet switch
chip.
@@ -36454,18 +36454,18 @@ diff -Nur linux-4.1.13.orig/drivers/net/dsa/Kconfig linux-4.1.13/drivers/net/dsa
config NET_DSA_MV88E6XXX_NEED_PPU
bool
default n
-diff -Nur linux-4.1.13.orig/drivers/net/dsa/Makefile linux-4.1.13/drivers/net/dsa/Makefile
---- linux-4.1.13.orig/drivers/net/dsa/Makefile 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/net/dsa/Makefile 2015-12-04 19:57:03.886110643 +0100
+diff -Nur linux-4.1.43.orig/drivers/net/dsa/Makefile linux-4.1.43/drivers/net/dsa/Makefile
+--- linux-4.1.43.orig/drivers/net/dsa/Makefile 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/net/dsa/Makefile 2017-08-06 20:02:16.000000000 +0200
@@ -1,4 +1,5 @@
obj-$(CONFIG_NET_DSA_MV88E6060) += mv88e6060.o
+obj-$(CONFIG_NET_DSA_MV88E6063) += mv88e6063.o
obj-$(CONFIG_NET_DSA_MV88E6XXX) += mv88e6xxx_drv.o
mv88e6xxx_drv-y += mv88e6xxx.o
ifdef CONFIG_NET_DSA_MV88E6123_61_65
-diff -Nur linux-4.1.13.orig/drivers/net/dsa/mv88e6063.c linux-4.1.13/drivers/net/dsa/mv88e6063.c
---- linux-4.1.13.orig/drivers/net/dsa/mv88e6063.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/net/dsa/mv88e6063.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/drivers/net/dsa/mv88e6063.c linux-4.1.43/drivers/net/dsa/mv88e6063.c
+--- linux-4.1.43.orig/drivers/net/dsa/mv88e6063.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/net/dsa/mv88e6063.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,311 @@
+/*
+ * net/dsa/mv88e6063.c - Driver for Marvell 88e6063 switch chips
@@ -36778,9 +36778,584 @@ diff -Nur linux-4.1.13.orig/drivers/net/dsa/mv88e6063.c linux-4.1.13/drivers/net
+ unregister_switch_driver(&mv88e6063_switch_driver);
+}
+module_exit(mv88e6063_cleanup);
-diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c
---- linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/drivers/net/ethernet/atheros/Kconfig linux-4.1.43/drivers/net/ethernet/atheros/Kconfig
+--- linux-4.1.43.orig/drivers/net/ethernet/atheros/Kconfig 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/net/ethernet/atheros/Kconfig 2017-08-06 20:02:16.000000000 +0200
+@@ -5,7 +5,7 @@
+ config NET_VENDOR_ATHEROS
+ bool "Atheros devices"
+ default y
+- depends on PCI
++ depends on (PCI || ATH79)
+ ---help---
+ If you have a network (Ethernet) card belonging to this class, say Y
+ and read the Ethernet-HOWTO, available from
+@@ -80,4 +80,6 @@
+ To compile this driver as a module, choose M here. The module
+ will be called alx.
+
++source drivers/net/ethernet/atheros/ag71xx/Kconfig
++
+ endif # NET_VENDOR_ATHEROS
+diff -Nur linux-4.1.43.orig/drivers/net/ethernet/atheros/Makefile linux-4.1.43/drivers/net/ethernet/atheros/Makefile
+--- linux-4.1.43.orig/drivers/net/ethernet/atheros/Makefile 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/net/ethernet/atheros/Makefile 2017-08-06 20:02:16.000000000 +0200
+@@ -2,6 +2,7 @@
+ # Makefile for the Atheros network device drivers.
+ #
+
++obj-$(CONFIG_AG71XX) += ag71xx/
+ obj-$(CONFIG_ATL1) += atlx/
+ obj-$(CONFIG_ATL2) += atlx/
+ obj-$(CONFIG_ATL1E) += atl1e/
+diff -Nur linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/Kconfig linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/Kconfig
+--- linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/Kconfig 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/Kconfig 2017-08-06 20:02:16.000000000 +0200
+@@ -0,0 +1,33 @@
++config AG71XX
++ tristate "Atheros AR7XXX/AR9XXX built-in ethernet mac support"
++ depends on ATH79
++ select PHYLIB
++ help
++ If you wish to compile a kernel for AR7XXX/91XXX and enable
++ ethernet support, then you should always answer Y to this.
++
++if AG71XX
++
++config AG71XX_DEBUG
++ bool "Atheros AR71xx built-in ethernet driver debugging"
++ default n
++ help
++ Atheros AR71xx built-in ethernet driver debugging messages.
++
++config AG71XX_DEBUG_FS
++ bool "Atheros AR71xx built-in ethernet driver debugfs support"
++ depends on DEBUG_FS
++ default n
++ help
++ Say Y, if you need access to various statistics provided by
++ the ag71xx driver.
++
++config AG71XX_AR8216_SUPPORT
++ bool "special support for the Atheros AR8216 switch"
++ default n
++ default y if ATH79_MACH_WNR2000 || ATH79_MACH_MZK_W04NU
++ help
++ Say 'y' here if you want to enable special support for the
++ Atheros AR8216 switch found on some boards.
++
++endif
+diff -Nur linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/Makefile linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/Makefile
+--- linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/Makefile 2017-08-06 20:02:16.000000000 +0200
+@@ -0,0 +1,15 @@
++#
++# Makefile for the Atheros AR71xx built-in ethernet macs
++#
++
++ag71xx-y += ag71xx_main.o
++ag71xx-y += ag71xx_ethtool.o
++ag71xx-y += ag71xx_phy.o
++ag71xx-y += ag71xx_mdio.o
++ag71xx-y += ag71xx_ar7240.o
++
++ag71xx-$(CONFIG_AG71XX_DEBUG_FS) += ag71xx_debugfs.o
++ag71xx-$(CONFIG_AG71XX_AR8216_SUPPORT) += ag71xx_ar8216.o
++
++obj-$(CONFIG_AG71XX) += ag71xx.o
++
+diff -Nur linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx.h linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
+--- linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/ag71xx.h 2017-08-06 20:02:16.000000000 +0200
+@@ -0,0 +1,485 @@
++/*
++ * Atheros AR71xx built-in ethernet mac driver
++ *
++ * Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
++ * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
++ *
++ * Based on Atheros' AG7100 driver
++ *
++ * 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.
++ */
++
++#ifndef __AG71XX_H
++#define __AG71XX_H
++
++#include <linux/kernel.h>
++#include <linux/version.h>
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/types.h>
++#include <linux/random.h>
++#include <linux/spinlock.h>
++#include <linux/interrupt.h>
++#include <linux/platform_device.h>
++#include <linux/ethtool.h>
++#include <linux/etherdevice.h>
++#include <linux/if_vlan.h>
++#include <linux/phy.h>
++#include <linux/skbuff.h>
++#include <linux/dma-mapping.h>
++#include <linux/workqueue.h>
++
++#include <linux/bitops.h>
++
++#include <asm/mach-ath79/ar71xx_regs.h>
++#include <asm/mach-ath79/ath79.h>
++#include <asm/mach-ath79/ag71xx_platform.h>
++
++#define AG71XX_DRV_NAME "ag71xx"
++#define AG71XX_DRV_VERSION "0.5.35"
++
++#define AG71XX_NAPI_WEIGHT 64
++#define AG71XX_OOM_REFILL (1 + HZ/10)
++
++#define AG71XX_INT_ERR (AG71XX_INT_RX_BE | AG71XX_INT_TX_BE)
++#define AG71XX_INT_TX (AG71XX_INT_TX_PS)
++#define AG71XX_INT_RX (AG71XX_INT_RX_PR | AG71XX_INT_RX_OF)
++
++#define AG71XX_INT_POLL (AG71XX_INT_RX | AG71XX_INT_TX)
++#define AG71XX_INT_INIT (AG71XX_INT_ERR | AG71XX_INT_POLL)
++
++#define AG71XX_TX_MTU_LEN 1540
++
++#define AG71XX_TX_RING_SPLIT 512
++#define AG71XX_TX_RING_DS_PER_PKT DIV_ROUND_UP(AG71XX_TX_MTU_LEN, \
++ AG71XX_TX_RING_SPLIT)
++#define AG71XX_TX_RING_SIZE_DEFAULT 48
++#define AG71XX_RX_RING_SIZE_DEFAULT 128
++
++#define AG71XX_TX_RING_SIZE_MAX 48
++#define AG71XX_RX_RING_SIZE_MAX 128
++
++#ifdef CONFIG_AG71XX_DEBUG
++#define DBG(fmt, args...) pr_debug(fmt, ## args)
++#else
++#define DBG(fmt, args...) do {} while (0)
++#endif
++
++#define ag71xx_assert(_cond) \
++do { \
++ if (_cond) \
++ break; \
++ printk("%s,%d: assertion failed\n", __FILE__, __LINE__); \
++ BUG(); \
++} while (0)
++
++struct ag71xx_desc {
++ u32 data;
++ u32 ctrl;
++#define DESC_EMPTY BIT(31)
++#define DESC_MORE BIT(24)
++#define DESC_PKTLEN_M 0xfff
++ u32 next;
++ u32 pad;
++} __attribute__((aligned(4)));
++
++struct ag71xx_buf {
++ union {
++ struct sk_buff *skb;
++ void *rx_buf;
++ };
++ union {
++ dma_addr_t dma_addr;
++ unsigned long timestamp;
++ };
++ unsigned int len;
++};
++
++struct ag71xx_ring {
++ struct ag71xx_buf *buf;
++ u8 *descs_cpu;
++ dma_addr_t descs_dma;
++ u16 desc_split;
++ u16 desc_size;
++ unsigned int curr;
++ unsigned int dirty;
++ unsigned int size;
++};
++
++struct ag71xx_mdio {
++ struct mii_bus *mii_bus;
++ int mii_irq[PHY_MAX_ADDR];
++ void __iomem *mdio_base;
++ struct ag71xx_mdio_platform_data *pdata;
++};
++
++struct ag71xx_int_stats {
++ unsigned long rx_pr;
++ unsigned long rx_be;
++ unsigned long rx_of;
++ unsigned long tx_ps;
++ unsigned long tx_be;
++ unsigned long tx_ur;
++ unsigned long total;
++};
++
++struct ag71xx_napi_stats {
++ unsigned long napi_calls;
++ unsigned long rx_count;
++ unsigned long rx_packets;
++ unsigned long rx_packets_max;
++ unsigned long tx_count;
++ unsigned long tx_packets;
++ unsigned long tx_packets_max;
++
++ unsigned long rx[AG71XX_NAPI_WEIGHT + 1];
++ unsigned long tx[AG71XX_NAPI_WEIGHT + 1];
++};
++
++struct ag71xx_debug {
++ struct dentry *debugfs_dir;
++
++ struct ag71xx_int_stats int_stats;
++ struct ag71xx_napi_stats napi_stats;
++};
++
++struct ag71xx {
++ void __iomem *mac_base;
++
++ spinlock_t lock;
++ struct platform_device *pdev;
++ struct net_device *dev;
++ struct napi_struct napi;
++ u32 msg_enable;
++
++ struct ag71xx_desc *stop_desc;
++ dma_addr_t stop_desc_dma;
++
++ struct ag71xx_ring rx_ring;
++ struct ag71xx_ring tx_ring;
++
++ struct mii_bus *mii_bus;
++ struct phy_device *phy_dev;
++ void *phy_priv;
++
++ unsigned int link;
++ unsigned int speed;
++ int duplex;
++
++ unsigned int max_frame_len;
++ unsigned int desc_pktlen_mask;
++ unsigned int rx_buf_size;
++
++ struct work_struct restart_work;
++ struct delayed_work link_work;
++ struct timer_list oom_timer;
++
++#ifdef CONFIG_AG71XX_DEBUG_FS
++ struct ag71xx_debug debug;
++#endif
++};
++
++extern struct ethtool_ops ag71xx_ethtool_ops;
++void ag71xx_link_adjust(struct ag71xx *ag);
++
++int ag71xx_mdio_driver_init(void) __init;
++void ag71xx_mdio_driver_exit(void);
++
++int ag71xx_phy_connect(struct ag71xx *ag);
++void ag71xx_phy_disconnect(struct ag71xx *ag);
++void ag71xx_phy_start(struct ag71xx *ag);
++void ag71xx_phy_stop(struct ag71xx *ag);
++
++static inline struct ag71xx_platform_data *ag71xx_get_pdata(struct ag71xx *ag)
++{
++ return ag->pdev->dev.platform_data;
++}
++
++static inline int ag71xx_desc_empty(struct ag71xx_desc *desc)
++{
++ return (desc->ctrl & DESC_EMPTY) != 0;
++}
++
++static inline struct ag71xx_desc *
++ag71xx_ring_desc(struct ag71xx_ring *ring, int idx)
++{
++ return (struct ag71xx_desc *) &ring->descs_cpu[idx * ring->desc_size];
++}
++
++/* Register offsets */
++#define AG71XX_REG_MAC_CFG1 0x0000
++#define AG71XX_REG_MAC_CFG2 0x0004
++#define AG71XX_REG_MAC_IPG 0x0008
++#define AG71XX_REG_MAC_HDX 0x000c
++#define AG71XX_REG_MAC_MFL 0x0010
++#define AG71XX_REG_MII_CFG 0x0020
++#define AG71XX_REG_MII_CMD 0x0024
++#define AG71XX_REG_MII_ADDR 0x0028
++#define AG71XX_REG_MII_CTRL 0x002c
++#define AG71XX_REG_MII_STATUS 0x0030
++#define AG71XX_REG_MII_IND 0x0034
++#define AG71XX_REG_MAC_IFCTL 0x0038
++#define AG71XX_REG_MAC_ADDR1 0x0040
++#define AG71XX_REG_MAC_ADDR2 0x0044
++#define AG71XX_REG_FIFO_CFG0 0x0048
++#define AG71XX_REG_FIFO_CFG1 0x004c
++#define AG71XX_REG_FIFO_CFG2 0x0050
++#define AG71XX_REG_FIFO_CFG3 0x0054
++#define AG71XX_REG_FIFO_CFG4 0x0058
++#define AG71XX_REG_FIFO_CFG5 0x005c
++#define AG71XX_REG_FIFO_RAM0 0x0060
++#define AG71XX_REG_FIFO_RAM1 0x0064
++#define AG71XX_REG_FIFO_RAM2 0x0068
++#define AG71XX_REG_FIFO_RAM3 0x006c
++#define AG71XX_REG_FIFO_RAM4 0x0070
++#define AG71XX_REG_FIFO_RAM5 0x0074
++#define AG71XX_REG_FIFO_RAM6 0x0078
++#define AG71XX_REG_FIFO_RAM7 0x007c
++
++#define AG71XX_REG_TX_CTRL 0x0180
++#define AG71XX_REG_TX_DESC 0x0184
++#define AG71XX_REG_TX_STATUS 0x0188
++#define AG71XX_REG_RX_CTRL 0x018c
++#define AG71XX_REG_RX_DESC 0x0190
++#define AG71XX_REG_RX_STATUS 0x0194
++#define AG71XX_REG_INT_ENABLE 0x0198
++#define AG71XX_REG_INT_STATUS 0x019c
++
++#define AG71XX_REG_FIFO_DEPTH 0x01a8
++#define AG71XX_REG_RX_SM 0x01b0
++#define AG71XX_REG_TX_SM 0x01b4
++
++#define MAC_CFG1_TXE BIT(0) /* Tx Enable */
++#define MAC_CFG1_STX BIT(1) /* Synchronize Tx Enable */
++#define MAC_CFG1_RXE BIT(2) /* Rx Enable */
++#define MAC_CFG1_SRX BIT(3) /* Synchronize Rx Enable */
++#define MAC_CFG1_TFC BIT(4) /* Tx Flow Control Enable */
++#define MAC_CFG1_RFC BIT(5) /* Rx Flow Control Enable */
++#define MAC_CFG1_LB BIT(8) /* Loopback mode */
++#define MAC_CFG1_SR BIT(31) /* Soft Reset */
++
++#define MAC_CFG2_FDX BIT(0)
++#define MAC_CFG2_CRC_EN BIT(1)
++#define MAC_CFG2_PAD_CRC_EN BIT(2)
++#define MAC_CFG2_LEN_CHECK BIT(4)
++#define MAC_CFG2_HUGE_FRAME_EN BIT(5)
++#define MAC_CFG2_IF_1000 BIT(9)
++#define MAC_CFG2_IF_10_100 BIT(8)
++
++#define FIFO_CFG0_WTM BIT(0) /* Watermark Module */
++#define FIFO_CFG0_RXS BIT(1) /* Rx System Module */
++#define FIFO_CFG0_RXF BIT(2) /* Rx Fabric Module */
++#define FIFO_CFG0_TXS BIT(3) /* Tx System Module */
++#define FIFO_CFG0_TXF BIT(4) /* Tx Fabric Module */
++#define FIFO_CFG0_ALL (FIFO_CFG0_WTM | FIFO_CFG0_RXS | FIFO_CFG0_RXF \
++ | FIFO_CFG0_TXS | FIFO_CFG0_TXF)
++
++#define FIFO_CFG0_ENABLE_SHIFT 8
++
++#define FIFO_CFG4_DE BIT(0) /* Drop Event */
++#define FIFO_CFG4_DV BIT(1) /* RX_DV Event */
++#define FIFO_CFG4_FC BIT(2) /* False Carrier */
++#define FIFO_CFG4_CE BIT(3) /* Code Error */
++#define FIFO_CFG4_CR BIT(4) /* CRC error */
++#define FIFO_CFG4_LM BIT(5) /* Length Mismatch */
++#define FIFO_CFG4_LO BIT(6) /* Length out of range */
++#define FIFO_CFG4_OK BIT(7) /* Packet is OK */
++#define FIFO_CFG4_MC BIT(8) /* Multicast Packet */
++#define FIFO_CFG4_BC BIT(9) /* Broadcast Packet */
++#define FIFO_CFG4_DR BIT(10) /* Dribble */
++#define FIFO_CFG4_LE BIT(11) /* Long Event */
++#define FIFO_CFG4_CF BIT(12) /* Control Frame */
++#define FIFO_CFG4_PF BIT(13) /* Pause Frame */
++#define FIFO_CFG4_UO BIT(14) /* Unsupported Opcode */
++#define FIFO_CFG4_VT BIT(15) /* VLAN tag detected */
++#define FIFO_CFG4_FT BIT(16) /* Frame Truncated */
++#define FIFO_CFG4_UC BIT(17) /* Unicast Packet */
++
++#define FIFO_CFG5_DE BIT(0) /* Drop Event */
++#define FIFO_CFG5_DV BIT(1) /* RX_DV Event */
++#define FIFO_CFG5_FC BIT(2) /* False Carrier */
++#define FIFO_CFG5_CE BIT(3) /* Code Error */
++#define FIFO_CFG5_LM BIT(4) /* Length Mismatch */
++#define FIFO_CFG5_LO BIT(5) /* Length Out of Range */
++#define FIFO_CFG5_OK BIT(6) /* Packet is OK */
++#define FIFO_CFG5_MC BIT(7) /* Multicast Packet */
++#define FIFO_CFG5_BC BIT(8) /* Broadcast Packet */
++#define FIFO_CFG5_DR BIT(9) /* Dribble */
++#define FIFO_CFG5_CF BIT(10) /* Control Frame */
++#define FIFO_CFG5_PF BIT(11) /* Pause Frame */
++#define FIFO_CFG5_UO BIT(12) /* Unsupported Opcode */
++#define FIFO_CFG5_VT BIT(13) /* VLAN tag detected */
++#define FIFO_CFG5_LE BIT(14) /* Long Event */
++#define FIFO_CFG5_FT BIT(15) /* Frame Truncated */
++#define FIFO_CFG5_16 BIT(16) /* unknown */
++#define FIFO_CFG5_17 BIT(17) /* unknown */
++#define FIFO_CFG5_SF BIT(18) /* Short Frame */
++#define FIFO_CFG5_BM BIT(19) /* Byte Mode */
++
++#define AG71XX_INT_TX_PS BIT(0)
++#define AG71XX_INT_TX_UR BIT(1)
++#define AG71XX_INT_TX_BE BIT(3)
++#define AG71XX_INT_RX_PR BIT(4)
++#define AG71XX_INT_RX_OF BIT(6)
++#define AG71XX_INT_RX_BE BIT(7)
++
++#define MAC_IFCTL_SPEED BIT(16)
++
++#define MII_CFG_CLK_DIV_4 0
++#define MII_CFG_CLK_DIV_6 2
++#define MII_CFG_CLK_DIV_8 3
++#define MII_CFG_CLK_DIV_10 4
++#define MII_CFG_CLK_DIV_14 5
++#define MII_CFG_CLK_DIV_20 6
++#define MII_CFG_CLK_DIV_28 7
++#define MII_CFG_CLK_DIV_34 8
++#define MII_CFG_CLK_DIV_42 9
++#define MII_CFG_CLK_DIV_50 10
++#define MII_CFG_CLK_DIV_58 11
++#define MII_CFG_CLK_DIV_66 12
++#define MII_CFG_CLK_DIV_74 13
++#define MII_CFG_CLK_DIV_82 14
++#define MII_CFG_CLK_DIV_98 15
++#define MII_CFG_RESET BIT(31)
++
++#define MII_CMD_WRITE 0x0
++#define MII_CMD_READ 0x1
++#define MII_ADDR_SHIFT 8
++#define MII_IND_BUSY BIT(0)
++#define MII_IND_INVALID BIT(2)
++
++#define TX_CTRL_TXE BIT(0) /* Tx Enable */
++
++#define TX_STATUS_PS BIT(0) /* Packet Sent */
++#define TX_STATUS_UR BIT(1) /* Tx Underrun */
++#define TX_STATUS_BE BIT(3) /* Bus Error */
++
++#define RX_CTRL_RXE BIT(0) /* Rx Enable */
++
++#define RX_STATUS_PR BIT(0) /* Packet Received */
++#define RX_STATUS_OF BIT(2) /* Rx Overflow */
++#define RX_STATUS_BE BIT(3) /* Bus Error */
++
++static inline void ag71xx_check_reg_offset(struct ag71xx *ag, unsigned reg)
++{
++ switch (reg) {
++ case AG71XX_REG_MAC_CFG1 ... AG71XX_REG_MAC_MFL:
++ case AG71XX_REG_MAC_IFCTL ... AG71XX_REG_TX_SM:
++ case AG71XX_REG_MII_CFG:
++ break;
++
++ default:
++ BUG();
++ }
++}
++
++static inline void ag71xx_wr(struct ag71xx *ag, unsigned reg, u32 value)
++{
++ ag71xx_check_reg_offset(ag, reg);
++
++ __raw_writel(value, ag->mac_base + reg);
++ /* flush write */
++ (void) __raw_readl(ag->mac_base + reg);
++}
++
++static inline u32 ag71xx_rr(struct ag71xx *ag, unsigned reg)
++{
++ ag71xx_check_reg_offset(ag, reg);
++
++ return __raw_readl(ag->mac_base + reg);
++}
++
++static inline void ag71xx_sb(struct ag71xx *ag, unsigned reg, u32 mask)
++{
++ void __iomem *r;
++
++ ag71xx_check_reg_offset(ag, reg);
++
++ r = ag->mac_base + reg;
++ __raw_writel(__raw_readl(r) | mask, r);
++ /* flush write */
++ (void)__raw_readl(r);
++}
++
++static inline void ag71xx_cb(struct ag71xx *ag, unsigned reg, u32 mask)
++{
++ void __iomem *r;
++
++ ag71xx_check_reg_offset(ag, reg);
++
++ r = ag->mac_base + reg;
++ __raw_writel(__raw_readl(r) & ~mask, r);
++ /* flush write */
++ (void) __raw_readl(r);
++}
++
++static inline void ag71xx_int_enable(struct ag71xx *ag, u32 ints)
++{
++ ag71xx_sb(ag, AG71XX_REG_INT_ENABLE, ints);
++}
++
++static inline void ag71xx_int_disable(struct ag71xx *ag, u32 ints)
++{
++ ag71xx_cb(ag, AG71XX_REG_INT_ENABLE, ints);
++}
++
++#ifdef CONFIG_AG71XX_AR8216_SUPPORT
++void ag71xx_add_ar8216_header(struct ag71xx *ag, struct sk_buff *skb);
++int ag71xx_remove_ar8216_header(struct ag71xx *ag, struct sk_buff *skb,
++ int pktlen);
++static inline int ag71xx_has_ar8216(struct ag71xx *ag)
++{
++ return ag71xx_get_pdata(ag)->has_ar8216;
++}
++#else
++static inline void ag71xx_add_ar8216_header(struct ag71xx *ag,
++ struct sk_buff *skb)
++{
++}
++
++static inline int ag71xx_remove_ar8216_header(struct ag71xx *ag,
++ struct sk_buff *skb,
++ int pktlen)
++{
++ return 0;
++}
++static inline int ag71xx_has_ar8216(struct ag71xx *ag)
++{
++ return 0;
++}
++#endif
++
++#ifdef CONFIG_AG71XX_DEBUG_FS
++int ag71xx_debugfs_root_init(void);
++void ag71xx_debugfs_root_exit(void);
++int ag71xx_debugfs_init(struct ag71xx *ag);
++void ag71xx_debugfs_exit(struct ag71xx *ag);
++void ag71xx_debugfs_update_int_stats(struct ag71xx *ag, u32 status);
++void ag71xx_debugfs_update_napi_stats(struct ag71xx *ag, int rx, int tx);
++#else
++static inline int ag71xx_debugfs_root_init(void) { return 0; }
++static inline void ag71xx_debugfs_root_exit(void) {}
++static inline int ag71xx_debugfs_init(struct ag71xx *ag) { return 0; }
++static inline void ag71xx_debugfs_exit(struct ag71xx *ag) {}
++static inline void ag71xx_debugfs_update_int_stats(struct ag71xx *ag,
++ u32 status) {}
++static inline void ag71xx_debugfs_update_napi_stats(struct ag71xx *ag,
++ int rx, int tx) {}
++#endif /* CONFIG_AG71XX_DEBUG_FS */
++
++void ag71xx_ar7240_start(struct ag71xx *ag);
++void ag71xx_ar7240_stop(struct ag71xx *ag);
++int ag71xx_ar7240_init(struct ag71xx *ag);
++void ag71xx_ar7240_cleanup(struct ag71xx *ag);
++
++int ag71xx_mdio_mii_read(struct ag71xx_mdio *am, int addr, int reg);
++void ag71xx_mdio_mii_write(struct ag71xx_mdio *am, int addr, int reg, u16 val);
++
++u16 ar7240sw_phy_read(struct mii_bus *mii, unsigned phy_addr,
++ unsigned reg_addr);
++int ar7240sw_phy_write(struct mii_bus *mii, unsigned phy_addr,
++ unsigned reg_addr, u16 reg_val);
++
++#endif /* _AG71XX_H */
+diff -Nur linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c
+--- linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,1229 @@
+/*
+ * Driver for the built-in ethernet switch of the Atheros AR7240 SoC
@@ -38011,9 +38586,9 @@ diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c
+ kfree(as);
+ ag->phy_priv = NULL;
+}
-diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar8216.c linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar8216.c
---- linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar8216.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar8216.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar8216.c linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar8216.c
+--- linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar8216.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar8216.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,44 @@
+/*
+ * Atheros AR71xx built-in ethernet mac driver
@@ -38059,9 +38634,9 @@ diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar8216.c
+ skb_pull(skb, AR8216_HEADER_LEN);
+ return 0;
+}
-diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_debugfs.c linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/ag71xx_debugfs.c
---- linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_debugfs.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/ag71xx_debugfs.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_debugfs.c linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/ag71xx_debugfs.c
+--- linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_debugfs.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/ag71xx_debugfs.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,285 @@
+/*
+ * Atheros AR71xx built-in ethernet mac driver
@@ -38348,9 +38923,9 @@ diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_debugfs.c
+ debugfs_remove(ag71xx_debugfs_root);
+ ag71xx_debugfs_root = NULL;
+}
-diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c
---- linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c
+--- linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,130 @@
+/*
+ * Atheros AR71xx built-in ethernet mac driver
@@ -38482,498 +39057,9 @@ diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c
+ .set_ringparam = ag71xx_ethtool_set_ringparam,
+ .get_link = ethtool_op_get_link,
+};
-diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx.h linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
---- linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/ag71xx.h 2015-09-13 20:04:35.076523692 +0200
-@@ -0,0 +1,485 @@
-+/*
-+ * Atheros AR71xx built-in ethernet mac driver
-+ *
-+ * Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
-+ * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
-+ *
-+ * Based on Atheros' AG7100 driver
-+ *
-+ * 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.
-+ */
-+
-+#ifndef __AG71XX_H
-+#define __AG71XX_H
-+
-+#include <linux/kernel.h>
-+#include <linux/version.h>
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/types.h>
-+#include <linux/random.h>
-+#include <linux/spinlock.h>
-+#include <linux/interrupt.h>
-+#include <linux/platform_device.h>
-+#include <linux/ethtool.h>
-+#include <linux/etherdevice.h>
-+#include <linux/if_vlan.h>
-+#include <linux/phy.h>
-+#include <linux/skbuff.h>
-+#include <linux/dma-mapping.h>
-+#include <linux/workqueue.h>
-+
-+#include <linux/bitops.h>
-+
-+#include <asm/mach-ath79/ar71xx_regs.h>
-+#include <asm/mach-ath79/ath79.h>
-+#include <asm/mach-ath79/ag71xx_platform.h>
-+
-+#define AG71XX_DRV_NAME "ag71xx"
-+#define AG71XX_DRV_VERSION "0.5.35"
-+
-+#define AG71XX_NAPI_WEIGHT 64
-+#define AG71XX_OOM_REFILL (1 + HZ/10)
-+
-+#define AG71XX_INT_ERR (AG71XX_INT_RX_BE | AG71XX_INT_TX_BE)
-+#define AG71XX_INT_TX (AG71XX_INT_TX_PS)
-+#define AG71XX_INT_RX (AG71XX_INT_RX_PR | AG71XX_INT_RX_OF)
-+
-+#define AG71XX_INT_POLL (AG71XX_INT_RX | AG71XX_INT_TX)
-+#define AG71XX_INT_INIT (AG71XX_INT_ERR | AG71XX_INT_POLL)
-+
-+#define AG71XX_TX_MTU_LEN 1540
-+
-+#define AG71XX_TX_RING_SPLIT 512
-+#define AG71XX_TX_RING_DS_PER_PKT DIV_ROUND_UP(AG71XX_TX_MTU_LEN, \
-+ AG71XX_TX_RING_SPLIT)
-+#define AG71XX_TX_RING_SIZE_DEFAULT 48
-+#define AG71XX_RX_RING_SIZE_DEFAULT 128
-+
-+#define AG71XX_TX_RING_SIZE_MAX 48
-+#define AG71XX_RX_RING_SIZE_MAX 128
-+
-+#ifdef CONFIG_AG71XX_DEBUG
-+#define DBG(fmt, args...) pr_debug(fmt, ## args)
-+#else
-+#define DBG(fmt, args...) do {} while (0)
-+#endif
-+
-+#define ag71xx_assert(_cond) \
-+do { \
-+ if (_cond) \
-+ break; \
-+ printk("%s,%d: assertion failed\n", __FILE__, __LINE__); \
-+ BUG(); \
-+} while (0)
-+
-+struct ag71xx_desc {
-+ u32 data;
-+ u32 ctrl;
-+#define DESC_EMPTY BIT(31)
-+#define DESC_MORE BIT(24)
-+#define DESC_PKTLEN_M 0xfff
-+ u32 next;
-+ u32 pad;
-+} __attribute__((aligned(4)));
-+
-+struct ag71xx_buf {
-+ union {
-+ struct sk_buff *skb;
-+ void *rx_buf;
-+ };
-+ union {
-+ dma_addr_t dma_addr;
-+ unsigned long timestamp;
-+ };
-+ unsigned int len;
-+};
-+
-+struct ag71xx_ring {
-+ struct ag71xx_buf *buf;
-+ u8 *descs_cpu;
-+ dma_addr_t descs_dma;
-+ u16 desc_split;
-+ u16 desc_size;
-+ unsigned int curr;
-+ unsigned int dirty;
-+ unsigned int size;
-+};
-+
-+struct ag71xx_mdio {
-+ struct mii_bus *mii_bus;
-+ int mii_irq[PHY_MAX_ADDR];
-+ void __iomem *mdio_base;
-+ struct ag71xx_mdio_platform_data *pdata;
-+};
-+
-+struct ag71xx_int_stats {
-+ unsigned long rx_pr;
-+ unsigned long rx_be;
-+ unsigned long rx_of;
-+ unsigned long tx_ps;
-+ unsigned long tx_be;
-+ unsigned long tx_ur;
-+ unsigned long total;
-+};
-+
-+struct ag71xx_napi_stats {
-+ unsigned long napi_calls;
-+ unsigned long rx_count;
-+ unsigned long rx_packets;
-+ unsigned long rx_packets_max;
-+ unsigned long tx_count;
-+ unsigned long tx_packets;
-+ unsigned long tx_packets_max;
-+
-+ unsigned long rx[AG71XX_NAPI_WEIGHT + 1];
-+ unsigned long tx[AG71XX_NAPI_WEIGHT + 1];
-+};
-+
-+struct ag71xx_debug {
-+ struct dentry *debugfs_dir;
-+
-+ struct ag71xx_int_stats int_stats;
-+ struct ag71xx_napi_stats napi_stats;
-+};
-+
-+struct ag71xx {
-+ void __iomem *mac_base;
-+
-+ spinlock_t lock;
-+ struct platform_device *pdev;
-+ struct net_device *dev;
-+ struct napi_struct napi;
-+ u32 msg_enable;
-+
-+ struct ag71xx_desc *stop_desc;
-+ dma_addr_t stop_desc_dma;
-+
-+ struct ag71xx_ring rx_ring;
-+ struct ag71xx_ring tx_ring;
-+
-+ struct mii_bus *mii_bus;
-+ struct phy_device *phy_dev;
-+ void *phy_priv;
-+
-+ unsigned int link;
-+ unsigned int speed;
-+ int duplex;
-+
-+ unsigned int max_frame_len;
-+ unsigned int desc_pktlen_mask;
-+ unsigned int rx_buf_size;
-+
-+ struct work_struct restart_work;
-+ struct delayed_work link_work;
-+ struct timer_list oom_timer;
-+
-+#ifdef CONFIG_AG71XX_DEBUG_FS
-+ struct ag71xx_debug debug;
-+#endif
-+};
-+
-+extern struct ethtool_ops ag71xx_ethtool_ops;
-+void ag71xx_link_adjust(struct ag71xx *ag);
-+
-+int ag71xx_mdio_driver_init(void) __init;
-+void ag71xx_mdio_driver_exit(void);
-+
-+int ag71xx_phy_connect(struct ag71xx *ag);
-+void ag71xx_phy_disconnect(struct ag71xx *ag);
-+void ag71xx_phy_start(struct ag71xx *ag);
-+void ag71xx_phy_stop(struct ag71xx *ag);
-+
-+static inline struct ag71xx_platform_data *ag71xx_get_pdata(struct ag71xx *ag)
-+{
-+ return ag->pdev->dev.platform_data;
-+}
-+
-+static inline int ag71xx_desc_empty(struct ag71xx_desc *desc)
-+{
-+ return (desc->ctrl & DESC_EMPTY) != 0;
-+}
-+
-+static inline struct ag71xx_desc *
-+ag71xx_ring_desc(struct ag71xx_ring *ring, int idx)
-+{
-+ return (struct ag71xx_desc *) &ring->descs_cpu[idx * ring->desc_size];
-+}
-+
-+/* Register offsets */
-+#define AG71XX_REG_MAC_CFG1 0x0000
-+#define AG71XX_REG_MAC_CFG2 0x0004
-+#define AG71XX_REG_MAC_IPG 0x0008
-+#define AG71XX_REG_MAC_HDX 0x000c
-+#define AG71XX_REG_MAC_MFL 0x0010
-+#define AG71XX_REG_MII_CFG 0x0020
-+#define AG71XX_REG_MII_CMD 0x0024
-+#define AG71XX_REG_MII_ADDR 0x0028
-+#define AG71XX_REG_MII_CTRL 0x002c
-+#define AG71XX_REG_MII_STATUS 0x0030
-+#define AG71XX_REG_MII_IND 0x0034
-+#define AG71XX_REG_MAC_IFCTL 0x0038
-+#define AG71XX_REG_MAC_ADDR1 0x0040
-+#define AG71XX_REG_MAC_ADDR2 0x0044
-+#define AG71XX_REG_FIFO_CFG0 0x0048
-+#define AG71XX_REG_FIFO_CFG1 0x004c
-+#define AG71XX_REG_FIFO_CFG2 0x0050
-+#define AG71XX_REG_FIFO_CFG3 0x0054
-+#define AG71XX_REG_FIFO_CFG4 0x0058
-+#define AG71XX_REG_FIFO_CFG5 0x005c
-+#define AG71XX_REG_FIFO_RAM0 0x0060
-+#define AG71XX_REG_FIFO_RAM1 0x0064
-+#define AG71XX_REG_FIFO_RAM2 0x0068
-+#define AG71XX_REG_FIFO_RAM3 0x006c
-+#define AG71XX_REG_FIFO_RAM4 0x0070
-+#define AG71XX_REG_FIFO_RAM5 0x0074
-+#define AG71XX_REG_FIFO_RAM6 0x0078
-+#define AG71XX_REG_FIFO_RAM7 0x007c
-+
-+#define AG71XX_REG_TX_CTRL 0x0180
-+#define AG71XX_REG_TX_DESC 0x0184
-+#define AG71XX_REG_TX_STATUS 0x0188
-+#define AG71XX_REG_RX_CTRL 0x018c
-+#define AG71XX_REG_RX_DESC 0x0190
-+#define AG71XX_REG_RX_STATUS 0x0194
-+#define AG71XX_REG_INT_ENABLE 0x0198
-+#define AG71XX_REG_INT_STATUS 0x019c
-+
-+#define AG71XX_REG_FIFO_DEPTH 0x01a8
-+#define AG71XX_REG_RX_SM 0x01b0
-+#define AG71XX_REG_TX_SM 0x01b4
-+
-+#define MAC_CFG1_TXE BIT(0) /* Tx Enable */
-+#define MAC_CFG1_STX BIT(1) /* Synchronize Tx Enable */
-+#define MAC_CFG1_RXE BIT(2) /* Rx Enable */
-+#define MAC_CFG1_SRX BIT(3) /* Synchronize Rx Enable */
-+#define MAC_CFG1_TFC BIT(4) /* Tx Flow Control Enable */
-+#define MAC_CFG1_RFC BIT(5) /* Rx Flow Control Enable */
-+#define MAC_CFG1_LB BIT(8) /* Loopback mode */
-+#define MAC_CFG1_SR BIT(31) /* Soft Reset */
-+
-+#define MAC_CFG2_FDX BIT(0)
-+#define MAC_CFG2_CRC_EN BIT(1)
-+#define MAC_CFG2_PAD_CRC_EN BIT(2)
-+#define MAC_CFG2_LEN_CHECK BIT(4)
-+#define MAC_CFG2_HUGE_FRAME_EN BIT(5)
-+#define MAC_CFG2_IF_1000 BIT(9)
-+#define MAC_CFG2_IF_10_100 BIT(8)
-+
-+#define FIFO_CFG0_WTM BIT(0) /* Watermark Module */
-+#define FIFO_CFG0_RXS BIT(1) /* Rx System Module */
-+#define FIFO_CFG0_RXF BIT(2) /* Rx Fabric Module */
-+#define FIFO_CFG0_TXS BIT(3) /* Tx System Module */
-+#define FIFO_CFG0_TXF BIT(4) /* Tx Fabric Module */
-+#define FIFO_CFG0_ALL (FIFO_CFG0_WTM | FIFO_CFG0_RXS | FIFO_CFG0_RXF \
-+ | FIFO_CFG0_TXS | FIFO_CFG0_TXF)
-+
-+#define FIFO_CFG0_ENABLE_SHIFT 8
-+
-+#define FIFO_CFG4_DE BIT(0) /* Drop Event */
-+#define FIFO_CFG4_DV BIT(1) /* RX_DV Event */
-+#define FIFO_CFG4_FC BIT(2) /* False Carrier */
-+#define FIFO_CFG4_CE BIT(3) /* Code Error */
-+#define FIFO_CFG4_CR BIT(4) /* CRC error */
-+#define FIFO_CFG4_LM BIT(5) /* Length Mismatch */
-+#define FIFO_CFG4_LO BIT(6) /* Length out of range */
-+#define FIFO_CFG4_OK BIT(7) /* Packet is OK */
-+#define FIFO_CFG4_MC BIT(8) /* Multicast Packet */
-+#define FIFO_CFG4_BC BIT(9) /* Broadcast Packet */
-+#define FIFO_CFG4_DR BIT(10) /* Dribble */
-+#define FIFO_CFG4_LE BIT(11) /* Long Event */
-+#define FIFO_CFG4_CF BIT(12) /* Control Frame */
-+#define FIFO_CFG4_PF BIT(13) /* Pause Frame */
-+#define FIFO_CFG4_UO BIT(14) /* Unsupported Opcode */
-+#define FIFO_CFG4_VT BIT(15) /* VLAN tag detected */
-+#define FIFO_CFG4_FT BIT(16) /* Frame Truncated */
-+#define FIFO_CFG4_UC BIT(17) /* Unicast Packet */
-+
-+#define FIFO_CFG5_DE BIT(0) /* Drop Event */
-+#define FIFO_CFG5_DV BIT(1) /* RX_DV Event */
-+#define FIFO_CFG5_FC BIT(2) /* False Carrier */
-+#define FIFO_CFG5_CE BIT(3) /* Code Error */
-+#define FIFO_CFG5_LM BIT(4) /* Length Mismatch */
-+#define FIFO_CFG5_LO BIT(5) /* Length Out of Range */
-+#define FIFO_CFG5_OK BIT(6) /* Packet is OK */
-+#define FIFO_CFG5_MC BIT(7) /* Multicast Packet */
-+#define FIFO_CFG5_BC BIT(8) /* Broadcast Packet */
-+#define FIFO_CFG5_DR BIT(9) /* Dribble */
-+#define FIFO_CFG5_CF BIT(10) /* Control Frame */
-+#define FIFO_CFG5_PF BIT(11) /* Pause Frame */
-+#define FIFO_CFG5_UO BIT(12) /* Unsupported Opcode */
-+#define FIFO_CFG5_VT BIT(13) /* VLAN tag detected */
-+#define FIFO_CFG5_LE BIT(14) /* Long Event */
-+#define FIFO_CFG5_FT BIT(15) /* Frame Truncated */
-+#define FIFO_CFG5_16 BIT(16) /* unknown */
-+#define FIFO_CFG5_17 BIT(17) /* unknown */
-+#define FIFO_CFG5_SF BIT(18) /* Short Frame */
-+#define FIFO_CFG5_BM BIT(19) /* Byte Mode */
-+
-+#define AG71XX_INT_TX_PS BIT(0)
-+#define AG71XX_INT_TX_UR BIT(1)
-+#define AG71XX_INT_TX_BE BIT(3)
-+#define AG71XX_INT_RX_PR BIT(4)
-+#define AG71XX_INT_RX_OF BIT(6)
-+#define AG71XX_INT_RX_BE BIT(7)
-+
-+#define MAC_IFCTL_SPEED BIT(16)
-+
-+#define MII_CFG_CLK_DIV_4 0
-+#define MII_CFG_CLK_DIV_6 2
-+#define MII_CFG_CLK_DIV_8 3
-+#define MII_CFG_CLK_DIV_10 4
-+#define MII_CFG_CLK_DIV_14 5
-+#define MII_CFG_CLK_DIV_20 6
-+#define MII_CFG_CLK_DIV_28 7
-+#define MII_CFG_CLK_DIV_34 8
-+#define MII_CFG_CLK_DIV_42 9
-+#define MII_CFG_CLK_DIV_50 10
-+#define MII_CFG_CLK_DIV_58 11
-+#define MII_CFG_CLK_DIV_66 12
-+#define MII_CFG_CLK_DIV_74 13
-+#define MII_CFG_CLK_DIV_82 14
-+#define MII_CFG_CLK_DIV_98 15
-+#define MII_CFG_RESET BIT(31)
-+
-+#define MII_CMD_WRITE 0x0
-+#define MII_CMD_READ 0x1
-+#define MII_ADDR_SHIFT 8
-+#define MII_IND_BUSY BIT(0)
-+#define MII_IND_INVALID BIT(2)
-+
-+#define TX_CTRL_TXE BIT(0) /* Tx Enable */
-+
-+#define TX_STATUS_PS BIT(0) /* Packet Sent */
-+#define TX_STATUS_UR BIT(1) /* Tx Underrun */
-+#define TX_STATUS_BE BIT(3) /* Bus Error */
-+
-+#define RX_CTRL_RXE BIT(0) /* Rx Enable */
-+
-+#define RX_STATUS_PR BIT(0) /* Packet Received */
-+#define RX_STATUS_OF BIT(2) /* Rx Overflow */
-+#define RX_STATUS_BE BIT(3) /* Bus Error */
-+
-+static inline void ag71xx_check_reg_offset(struct ag71xx *ag, unsigned reg)
-+{
-+ switch (reg) {
-+ case AG71XX_REG_MAC_CFG1 ... AG71XX_REG_MAC_MFL:
-+ case AG71XX_REG_MAC_IFCTL ... AG71XX_REG_TX_SM:
-+ case AG71XX_REG_MII_CFG:
-+ break;
-+
-+ default:
-+ BUG();
-+ }
-+}
-+
-+static inline void ag71xx_wr(struct ag71xx *ag, unsigned reg, u32 value)
-+{
-+ ag71xx_check_reg_offset(ag, reg);
-+
-+ __raw_writel(value, ag->mac_base + reg);
-+ /* flush write */
-+ (void) __raw_readl(ag->mac_base + reg);
-+}
-+
-+static inline u32 ag71xx_rr(struct ag71xx *ag, unsigned reg)
-+{
-+ ag71xx_check_reg_offset(ag, reg);
-+
-+ return __raw_readl(ag->mac_base + reg);
-+}
-+
-+static inline void ag71xx_sb(struct ag71xx *ag, unsigned reg, u32 mask)
-+{
-+ void __iomem *r;
-+
-+ ag71xx_check_reg_offset(ag, reg);
-+
-+ r = ag->mac_base + reg;
-+ __raw_writel(__raw_readl(r) | mask, r);
-+ /* flush write */
-+ (void)__raw_readl(r);
-+}
-+
-+static inline void ag71xx_cb(struct ag71xx *ag, unsigned reg, u32 mask)
-+{
-+ void __iomem *r;
-+
-+ ag71xx_check_reg_offset(ag, reg);
-+
-+ r = ag->mac_base + reg;
-+ __raw_writel(__raw_readl(r) & ~mask, r);
-+ /* flush write */
-+ (void) __raw_readl(r);
-+}
-+
-+static inline void ag71xx_int_enable(struct ag71xx *ag, u32 ints)
-+{
-+ ag71xx_sb(ag, AG71XX_REG_INT_ENABLE, ints);
-+}
-+
-+static inline void ag71xx_int_disable(struct ag71xx *ag, u32 ints)
-+{
-+ ag71xx_cb(ag, AG71XX_REG_INT_ENABLE, ints);
-+}
-+
-+#ifdef CONFIG_AG71XX_AR8216_SUPPORT
-+void ag71xx_add_ar8216_header(struct ag71xx *ag, struct sk_buff *skb);
-+int ag71xx_remove_ar8216_header(struct ag71xx *ag, struct sk_buff *skb,
-+ int pktlen);
-+static inline int ag71xx_has_ar8216(struct ag71xx *ag)
-+{
-+ return ag71xx_get_pdata(ag)->has_ar8216;
-+}
-+#else
-+static inline void ag71xx_add_ar8216_header(struct ag71xx *ag,
-+ struct sk_buff *skb)
-+{
-+}
-+
-+static inline int ag71xx_remove_ar8216_header(struct ag71xx *ag,
-+ struct sk_buff *skb,
-+ int pktlen)
-+{
-+ return 0;
-+}
-+static inline int ag71xx_has_ar8216(struct ag71xx *ag)
-+{
-+ return 0;
-+}
-+#endif
-+
-+#ifdef CONFIG_AG71XX_DEBUG_FS
-+int ag71xx_debugfs_root_init(void);
-+void ag71xx_debugfs_root_exit(void);
-+int ag71xx_debugfs_init(struct ag71xx *ag);
-+void ag71xx_debugfs_exit(struct ag71xx *ag);
-+void ag71xx_debugfs_update_int_stats(struct ag71xx *ag, u32 status);
-+void ag71xx_debugfs_update_napi_stats(struct ag71xx *ag, int rx, int tx);
-+#else
-+static inline int ag71xx_debugfs_root_init(void) { return 0; }
-+static inline void ag71xx_debugfs_root_exit(void) {}
-+static inline int ag71xx_debugfs_init(struct ag71xx *ag) { return 0; }
-+static inline void ag71xx_debugfs_exit(struct ag71xx *ag) {}
-+static inline void ag71xx_debugfs_update_int_stats(struct ag71xx *ag,
-+ u32 status) {}
-+static inline void ag71xx_debugfs_update_napi_stats(struct ag71xx *ag,
-+ int rx, int tx) {}
-+#endif /* CONFIG_AG71XX_DEBUG_FS */
-+
-+void ag71xx_ar7240_start(struct ag71xx *ag);
-+void ag71xx_ar7240_stop(struct ag71xx *ag);
-+int ag71xx_ar7240_init(struct ag71xx *ag);
-+void ag71xx_ar7240_cleanup(struct ag71xx *ag);
-+
-+int ag71xx_mdio_mii_read(struct ag71xx_mdio *am, int addr, int reg);
-+void ag71xx_mdio_mii_write(struct ag71xx_mdio *am, int addr, int reg, u16 val);
-+
-+u16 ar7240sw_phy_read(struct mii_bus *mii, unsigned phy_addr,
-+ unsigned reg_addr);
-+int ar7240sw_phy_write(struct mii_bus *mii, unsigned phy_addr,
-+ unsigned reg_addr, u16 reg_val);
-+
-+#endif /* _AG71XX_H */
-diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
---- linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
+--- linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,1406 @@
+/*
+ * Atheros AR71xx built-in ethernet mac driver
@@ -40381,9 +40467,9 @@ diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c li
+MODULE_AUTHOR("Imre Kaloz <kaloz@openwrt.org>");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:" AG71XX_DRV_NAME);
-diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c
---- linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c
+--- linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,318 @@
+/*
+ * Atheros AR71xx built-in ethernet mac driver
@@ -40703,9 +40789,9 @@ diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c li
+{
+ platform_driver_unregister(&ag71xx_mdio_driver);
+}
-diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c
---- linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c
+--- linux-4.1.43.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,235 @@
+/*
+ * Atheros AR71xx built-in ethernet mac driver
@@ -40942,95 +41028,40 @@ diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c lin
+ else if (ag->phy_dev)
+ phy_disconnect(ag->phy_dev);
+}
-diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/Kconfig linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/Kconfig
---- linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/Kconfig 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/Kconfig 2015-09-13 20:04:35.076523692 +0200
-@@ -0,0 +1,33 @@
-+config AG71XX
-+ tristate "Atheros AR7XXX/AR9XXX built-in ethernet mac support"
-+ depends on ATH79
-+ select PHYLIB
-+ help
-+ If you wish to compile a kernel for AR7XXX/91XXX and enable
-+ ethernet support, then you should always answer Y to this.
-+
-+if AG71XX
-+
-+config AG71XX_DEBUG
-+ bool "Atheros AR71xx built-in ethernet driver debugging"
-+ default n
-+ help
-+ Atheros AR71xx built-in ethernet driver debugging messages.
-+
-+config AG71XX_DEBUG_FS
-+ bool "Atheros AR71xx built-in ethernet driver debugfs support"
-+ depends on DEBUG_FS
-+ default n
-+ help
-+ Say Y, if you need access to various statistics provided by
-+ the ag71xx driver.
-+
-+config AG71XX_AR8216_SUPPORT
-+ bool "special support for the Atheros AR8216 switch"
-+ default n
-+ default y if ATH79_MACH_WNR2000 || ATH79_MACH_MZK_W04NU
-+ help
-+ Say 'y' here if you want to enable special support for the
-+ Atheros AR8216 switch found on some boards.
-+
-+endif
-diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/Makefile linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/Makefile
---- linux-4.1.13.orig/drivers/net/ethernet/atheros/ag71xx/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/net/ethernet/atheros/ag71xx/Makefile 2015-09-13 20:04:35.076523692 +0200
-@@ -0,0 +1,15 @@
-+#
-+# Makefile for the Atheros AR71xx built-in ethernet macs
-+#
-+
-+ag71xx-y += ag71xx_main.o
-+ag71xx-y += ag71xx_ethtool.o
-+ag71xx-y += ag71xx_phy.o
-+ag71xx-y += ag71xx_mdio.o
-+ag71xx-y += ag71xx_ar7240.o
-+
-+ag71xx-$(CONFIG_AG71XX_DEBUG_FS) += ag71xx_debugfs.o
-+ag71xx-$(CONFIG_AG71XX_AR8216_SUPPORT) += ag71xx_ar8216.o
+diff -Nur linux-4.1.43.orig/drivers/net/phy/Kconfig linux-4.1.43/drivers/net/phy/Kconfig
+--- linux-4.1.43.orig/drivers/net/phy/Kconfig 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/net/phy/Kconfig 2017-08-06 20:02:16.000000000 +0200
+@@ -12,6 +12,16 @@
+
+ if PHYLIB
+
++config SWCONFIG
++ tristate "Switch configuration API"
++ ---help---
++ Switch configuration API using netlink. This allows
++ you to configure the VLAN features of certain switches.
+
-+obj-$(CONFIG_AG71XX) += ag71xx.o
++config SWCONFIG_LEDS
++ bool "Switch LED trigger support"
++ depends on (SWCONFIG && LEDS_TRIGGERS)
+
-diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/Kconfig linux-4.1.13/drivers/net/ethernet/atheros/Kconfig
---- linux-4.1.13.orig/drivers/net/ethernet/atheros/Kconfig 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/net/ethernet/atheros/Kconfig 2015-12-04 19:57:03.882110905 +0100
-@@ -5,7 +5,7 @@
- config NET_VENDOR_ATHEROS
- bool "Atheros devices"
- default y
-- depends on PCI
-+ depends on (PCI || ATH79)
- ---help---
- If you have a network (Ethernet) card belonging to this class, say Y
- and read the Ethernet-HOWTO, available from
-@@ -80,4 +80,6 @@
- To compile this driver as a module, choose M here. The module
- will be called alx.
+ comment "MII PHY device drivers"
-+source drivers/net/ethernet/atheros/ag71xx/Kconfig
-+
- endif # NET_VENDOR_ATHEROS
-diff -Nur linux-4.1.13.orig/drivers/net/ethernet/atheros/Makefile linux-4.1.13/drivers/net/ethernet/atheros/Makefile
---- linux-4.1.13.orig/drivers/net/ethernet/atheros/Makefile 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/net/ethernet/atheros/Makefile 2015-12-04 19:57:03.882110905 +0100
-@@ -2,6 +2,7 @@
- # Makefile for the Atheros network device drivers.
- #
+ config AT803X_PHY
+diff -Nur linux-4.1.43.orig/drivers/net/phy/Makefile linux-4.1.43/drivers/net/phy/Makefile
+--- linux-4.1.43.orig/drivers/net/phy/Makefile 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/net/phy/Makefile 2017-08-06 20:02:16.000000000 +0200
+@@ -3,6 +3,7 @@
+ libphy-objs := phy.o phy_device.o mdio_bus.o
-+obj-$(CONFIG_AG71XX) += ag71xx/
- obj-$(CONFIG_ATL1) += atlx/
- obj-$(CONFIG_ATL2) += atlx/
- obj-$(CONFIG_ATL1E) += atl1e/
-diff -Nur linux-4.1.13.orig/drivers/net/phy/at803x.c linux-4.1.13/drivers/net/phy/at803x.c
---- linux-4.1.13.orig/drivers/net/phy/at803x.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/net/phy/at803x.c 2015-12-04 19:57:03.890110382 +0100
+ obj-$(CONFIG_PHYLIB) += libphy.o
++obj-$(CONFIG_SWCONFIG) += swconfig.o
+ obj-$(CONFIG_MARVELL_PHY) += marvell.o
+ obj-$(CONFIG_DAVICOM_PHY) += davicom.o
+ obj-$(CONFIG_CICADA_PHY) += cicada.o
+diff -Nur linux-4.1.43.orig/drivers/net/phy/at803x.c linux-4.1.43/drivers/net/phy/at803x.c
+--- linux-4.1.43.orig/drivers/net/phy/at803x.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/net/phy/at803x.c 2017-08-06 20:02:16.000000000 +0200
@@ -12,12 +12,14 @@
*/
@@ -41195,40 +41226,9 @@ diff -Nur linux-4.1.13.orig/drivers/net/phy/at803x.c linux-4.1.13/drivers/net/ph
}
static struct phy_driver at803x_driver[] = {
-diff -Nur linux-4.1.13.orig/drivers/net/phy/Kconfig linux-4.1.13/drivers/net/phy/Kconfig
---- linux-4.1.13.orig/drivers/net/phy/Kconfig 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/net/phy/Kconfig 2015-12-04 21:33:39.755626859 +0100
-@@ -12,6 +12,16 @@
-
- if PHYLIB
-
-+config SWCONFIG
-+ tristate "Switch configuration API"
-+ ---help---
-+ Switch configuration API using netlink. This allows
-+ you to configure the VLAN features of certain switches.
-+
-+config SWCONFIG_LEDS
-+ bool "Switch LED trigger support"
-+ depends on (SWCONFIG && LEDS_TRIGGERS)
-+
- comment "MII PHY device drivers"
-
- config AT803X_PHY
-diff -Nur linux-4.1.13.orig/drivers/net/phy/Makefile linux-4.1.13/drivers/net/phy/Makefile
---- linux-4.1.13.orig/drivers/net/phy/Makefile 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/net/phy/Makefile 2015-12-04 21:33:39.775625531 +0100
-@@ -3,6 +3,7 @@
- libphy-objs := phy.o phy_device.o mdio_bus.o
-
- obj-$(CONFIG_PHYLIB) += libphy.o
-+obj-$(CONFIG_SWCONFIG) += swconfig.o
- obj-$(CONFIG_MARVELL_PHY) += marvell.o
- obj-$(CONFIG_DAVICOM_PHY) += davicom.o
- obj-$(CONFIG_CICADA_PHY) += cicada.o
-diff -Nur linux-4.1.13.orig/drivers/net/phy/mdio-bitbang.c linux-4.1.13/drivers/net/phy/mdio-bitbang.c
---- linux-4.1.13.orig/drivers/net/phy/mdio-bitbang.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/net/phy/mdio-bitbang.c 2015-12-04 19:57:05.909978229 +0100
+diff -Nur linux-4.1.43.orig/drivers/net/phy/mdio-bitbang.c linux-4.1.43/drivers/net/phy/mdio-bitbang.c
+--- linux-4.1.43.orig/drivers/net/phy/mdio-bitbang.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/net/phy/mdio-bitbang.c 2017-08-06 20:02:16.000000000 +0200
@@ -17,6 +17,7 @@
* kind, whether express or implied.
*/
@@ -41288,9 +41288,9 @@ diff -Nur linux-4.1.13.orig/drivers/net/phy/mdio-bitbang.c linux-4.1.13/drivers/
return 0;
}
-diff -Nur linux-4.1.13.orig/drivers/net/phy/phy.c linux-4.1.13/drivers/net/phy/phy.c
---- linux-4.1.13.orig/drivers/net/phy/phy.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/net/phy/phy.c 2015-12-04 20:31:10.856994541 +0100
+diff -Nur linux-4.1.43.orig/drivers/net/phy/phy.c linux-4.1.43/drivers/net/phy/phy.c
+--- linux-4.1.43.orig/drivers/net/phy/phy.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/net/phy/phy.c 2017-08-06 20:02:16.000000000 +0200
@@ -357,6 +357,50 @@
}
EXPORT_SYMBOL(phy_ethtool_gset);
@@ -41342,9 +41342,9 @@ diff -Nur linux-4.1.13.orig/drivers/net/phy/phy.c linux-4.1.13/drivers/net/phy/p
/**
* phy_mii_ioctl - generic PHY MII ioctl interface
* @phydev: the phy_device struct
-diff -Nur linux-4.1.13.orig/drivers/net/phy/swconfig.c linux-4.1.13/drivers/net/phy/swconfig.c
---- linux-4.1.13.orig/drivers/net/phy/swconfig.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/net/phy/swconfig.c 2015-12-04 21:18:34.855186030 +0100
+diff -Nur linux-4.1.43.orig/drivers/net/phy/swconfig.c linux-4.1.43/drivers/net/phy/swconfig.c
+--- linux-4.1.43.orig/drivers/net/phy/swconfig.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/net/phy/swconfig.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,1153 @@
+/*
+ * swconfig.c: Switch configuration API
@@ -42499,9 +42499,9 @@ diff -Nur linux-4.1.13.orig/drivers/net/phy/swconfig.c linux-4.1.13/drivers/net/
+module_init(swconfig_init);
+module_exit(swconfig_exit);
+
-diff -Nur linux-4.1.13.orig/drivers/net/phy/swconfig_leds.c linux-4.1.13/drivers/net/phy/swconfig_leds.c
---- linux-4.1.13.orig/drivers/net/phy/swconfig_leds.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/net/phy/swconfig_leds.c 2015-12-04 21:45:30.824406773 +0100
+diff -Nur linux-4.1.43.orig/drivers/net/phy/swconfig_leds.c linux-4.1.43/drivers/net/phy/swconfig_leds.c
+--- linux-4.1.43.orig/drivers/net/phy/swconfig_leds.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/net/phy/swconfig_leds.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,354 @@
+/*
+ * swconfig_led.c: LED trigger support for the switch configuration API
@@ -42857,9 +42857,9 @@ diff -Nur linux-4.1.13.orig/drivers/net/phy/swconfig_leds.c linux-4.1.13/drivers
+static inline void
+swconfig_destroy_led_trigger(struct switch_dev *swdev) { }
+#endif /* CONFIG_SWCONFIG_LEDS */
-diff -Nur linux-4.1.13.orig/drivers/spi/Kconfig linux-4.1.13/drivers/spi/Kconfig
---- linux-4.1.13.orig/drivers/spi/Kconfig 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/spi/Kconfig 2015-12-04 19:57:03.922108288 +0100
+diff -Nur linux-4.1.43.orig/drivers/spi/Kconfig linux-4.1.43/drivers/spi/Kconfig
+--- linux-4.1.43.orig/drivers/spi/Kconfig 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/spi/Kconfig 2017-08-06 20:02:16.000000000 +0200
@@ -59,6 +59,14 @@
help
This is the driver for the Altera SPI Controller.
@@ -42907,9 +42907,9 @@ diff -Nur linux-4.1.13.orig/drivers/spi/Kconfig linux-4.1.13/drivers/spi/Kconfig
#
# Add new SPI protocol masters in alphabetical order above this line
#
-diff -Nur linux-4.1.13.orig/drivers/spi/Makefile linux-4.1.13/drivers/spi/Makefile
---- linux-4.1.13.orig/drivers/spi/Makefile 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/spi/Makefile 2015-12-04 19:57:03.922108288 +0100
+diff -Nur linux-4.1.43.orig/drivers/spi/Makefile linux-4.1.43/drivers/spi/Makefile
+--- linux-4.1.43.orig/drivers/spi/Makefile 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/spi/Makefile 2017-08-06 20:02:16.000000000 +0200
@@ -12,6 +12,7 @@
# SPI master controller drivers (bus)
obj-$(CONFIG_SPI_ALTERA) += spi-altera.o
@@ -42935,9 +42935,9 @@ diff -Nur linux-4.1.13.orig/drivers/spi/Makefile linux-4.1.13/drivers/spi/Makefi
obj-$(CONFIG_SPI_XCOMM) += spi-xcomm.o
obj-$(CONFIG_SPI_XILINX) += spi-xilinx.o
obj-$(CONFIG_SPI_XTENSA_XTFPGA) += spi-xtensa-xtfpga.o
-diff -Nur linux-4.1.13.orig/drivers/spi/spi-ap83.c linux-4.1.13/drivers/spi/spi-ap83.c
---- linux-4.1.13.orig/drivers/spi/spi-ap83.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/spi/spi-ap83.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/drivers/spi/spi-ap83.c linux-4.1.43/drivers/spi/spi-ap83.c
+--- linux-4.1.43.orig/drivers/spi/spi-ap83.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/spi/spi-ap83.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,283 @@
+/*
+ * Atheros AP83 board specific SPI Controller driver
@@ -43222,9 +43222,9 @@ diff -Nur linux-4.1.13.orig/drivers/spi/spi-ap83.c linux-4.1.13/drivers/spi/spi-
+MODULE_VERSION(DRV_VERSION);
+MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
+MODULE_LICENSE("GPL v2");
-diff -Nur linux-4.1.13.orig/drivers/spi/spi-ath79.c linux-4.1.13/drivers/spi/spi-ath79.c
---- linux-4.1.13.orig/drivers/spi/spi-ath79.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/spi/spi-ath79.c 2015-12-04 19:57:03.966105410 +0100
+diff -Nur linux-4.1.43.orig/drivers/spi/spi-ath79.c linux-4.1.43/drivers/spi/spi-ath79.c
+--- linux-4.1.43.orig/drivers/spi/spi-ath79.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/spi/spi-ath79.c 2017-08-06 20:02:16.000000000 +0200
@@ -33,6 +33,13 @@
#define ATH79_SPI_RRW_DELAY_FACTOR 12000
#define MHZ (1000 * 1000)
@@ -43522,9 +43522,9 @@ diff -Nur linux-4.1.13.orig/drivers/spi/spi-ath79.c linux-4.1.13/drivers/spi/spi
if (!rate) {
ret = -EINVAL;
goto err_clk_disable;
-diff -Nur linux-4.1.13.orig/drivers/spi/spi-bitbang.c linux-4.1.13/drivers/spi/spi-bitbang.c
---- linux-4.1.13.orig/drivers/spi/spi-bitbang.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/spi/spi-bitbang.c 2015-12-04 19:57:03.934107503 +0100
+diff -Nur linux-4.1.43.orig/drivers/spi/spi-bitbang.c linux-4.1.43/drivers/spi/spi-bitbang.c
+--- linux-4.1.43.orig/drivers/spi/spi-bitbang.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/spi/spi-bitbang.c 2017-08-06 20:02:16.000000000 +0200
@@ -230,13 +230,14 @@
}
EXPORT_SYMBOL_GPL(spi_bitbang_cleanup);
@@ -43541,9 +43541,454 @@ diff -Nur linux-4.1.13.orig/drivers/spi/spi-bitbang.c linux-4.1.13/drivers/spi/s
/*----------------------------------------------------------------------*/
-diff -Nur linux-4.1.13.orig/drivers/spi/spi-rb4xx.c linux-4.1.13/drivers/spi/spi-rb4xx.c
---- linux-4.1.13.orig/drivers/spi/spi-rb4xx.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/spi/spi-rb4xx.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/drivers/spi/spi-rb4xx-cpld.c linux-4.1.43/drivers/spi/spi-rb4xx-cpld.c
+--- linux-4.1.43.orig/drivers/spi/spi-rb4xx-cpld.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/spi/spi-rb4xx-cpld.c 2017-08-06 20:02:16.000000000 +0200
+@@ -0,0 +1,441 @@
++/*
++ * SPI driver for the CPLD chip on the Mikrotik RB4xx boards
++ *
++ * Copyright (C) 2010 Gabor Juhos <juhosg@openwrt.org>
++ *
++ * This file was based on the patches for Linux 2.6.27.39 published by
++ * MikroTik for their RouterBoard 4xx series devices.
++ *
++ * 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/types.h>
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/module.h>
++#include <linux/device.h>
++#include <linux/bitops.h>
++#include <linux/spi/spi.h>
++#include <linux/gpio.h>
++#include <linux/slab.h>
++
++#include <asm/mach-ath79/rb4xx_cpld.h>
++
++#define DRV_NAME "spi-rb4xx-cpld"
++#define DRV_DESC "RB4xx CPLD driver"
++#define DRV_VERSION "0.1.0"
++
++#define CPLD_CMD_WRITE_NAND 0x08 /* send cmd, n x send data, send indle */
++#define CPLD_CMD_WRITE_CFG 0x09 /* send cmd, n x send cfg */
++#define CPLD_CMD_READ_NAND 0x0a /* send cmd, send idle, n x read data */
++#define CPLD_CMD_READ_FAST 0x0b /* send cmd, 4 x idle, n x read data */
++#define CPLD_CMD_LED5_ON 0x0c /* send cmd */
++#define CPLD_CMD_LED5_OFF 0x0d /* send cmd */
++
++struct rb4xx_cpld {
++ struct spi_device *spi;
++ struct mutex lock;
++ struct gpio_chip chip;
++ unsigned int config;
++};
++
++static struct rb4xx_cpld *rb4xx_cpld;
++
++static inline struct rb4xx_cpld *gpio_to_cpld(struct gpio_chip *chip)
++{
++ return container_of(chip, struct rb4xx_cpld, chip);
++}
++
++static int rb4xx_cpld_write_cmd(struct rb4xx_cpld *cpld, unsigned char cmd)
++{
++ struct spi_transfer t[1];
++ struct spi_message m;
++ unsigned char tx_buf[1];
++ int err;
++
++ spi_message_init(&m);
++ memset(&t, 0, sizeof(t));
++
++ t[0].tx_buf = tx_buf;
++ t[0].len = sizeof(tx_buf);
++ spi_message_add_tail(&t[0], &m);
++
++ tx_buf[0] = cmd;
++
++ err = spi_sync(cpld->spi, &m);
++ return err;
++}
++
++static int rb4xx_cpld_write_cfg(struct rb4xx_cpld *cpld, unsigned char config)
++{
++ struct spi_transfer t[1];
++ struct spi_message m;
++ unsigned char cmd[2];
++ int err;
++
++ spi_message_init(&m);
++ memset(&t, 0, sizeof(t));
++
++ t[0].tx_buf = cmd;
++ t[0].len = sizeof(cmd);
++ spi_message_add_tail(&t[0], &m);
++
++ cmd[0] = CPLD_CMD_WRITE_CFG;
++ cmd[1] = config;
++
++ err = spi_sync(cpld->spi, &m);
++ return err;
++}
++
++static int __rb4xx_cpld_change_cfg(struct rb4xx_cpld *cpld, unsigned mask,
++ unsigned value)
++{
++ unsigned int config;
++ int err;
++
++ config = cpld->config & ~mask;
++ config |= value;
++
++ if ((cpld->config ^ config) & 0xff) {
++ err = rb4xx_cpld_write_cfg(cpld, config);
++ if (err)
++ return err;
++ }
++
++ if ((cpld->config ^ config) & CPLD_CFG_nLED5) {
++ err = rb4xx_cpld_write_cmd(cpld, (value) ? CPLD_CMD_LED5_ON :
++ CPLD_CMD_LED5_OFF);
++ if (err)
++ return err;
++ }
++
++ cpld->config = config;
++ return 0;
++}
++
++int rb4xx_cpld_change_cfg(unsigned mask, unsigned value)
++{
++ int ret;
++
++ if (rb4xx_cpld == NULL)
++ return -ENODEV;
++
++ mutex_lock(&rb4xx_cpld->lock);
++ ret = __rb4xx_cpld_change_cfg(rb4xx_cpld, mask, value);
++ mutex_unlock(&rb4xx_cpld->lock);
++
++ return ret;
++}
++EXPORT_SYMBOL_GPL(rb4xx_cpld_change_cfg);
++
++int rb4xx_cpld_read_from(unsigned addr, unsigned char *rx_buf,
++ const unsigned char *verify_buf, unsigned count)
++{
++ const unsigned char cmd[5] = {
++ CPLD_CMD_READ_FAST,
++ (addr >> 16) & 0xff,
++ (addr >> 8) & 0xff,
++ addr & 0xff,
++ 0
++ };
++ struct spi_transfer t[2] = {
++ {
++ .tx_buf = &cmd,
++ .len = 5,
++ },
++ {
++ .tx_buf = verify_buf,
++ .rx_buf = rx_buf,
++ .len = count,
++ .verify = (verify_buf != NULL),
++ },
++ };
++ struct spi_message m;
++
++ if (rb4xx_cpld == NULL)
++ return -ENODEV;
++
++ spi_message_init(&m);
++ m.fast_read = 1;
++ spi_message_add_tail(&t[0], &m);
++ spi_message_add_tail(&t[1], &m);
++ return spi_sync(rb4xx_cpld->spi, &m);
++}
++EXPORT_SYMBOL_GPL(rb4xx_cpld_read_from);
++
++#if 0
++int rb4xx_cpld_read(unsigned char *buf, unsigned char *verify_buf,
++ unsigned count)
++{
++ struct spi_transfer t[2];
++ struct spi_message m;
++ unsigned char cmd[2];
++
++ if (rb4xx_cpld == NULL)
++ return -ENODEV;
++
++ spi_message_init(&m);
++ memset(&t, 0, sizeof(t));
++
++ /* send command */
++ t[0].tx_buf = cmd;
++ t[0].len = sizeof(cmd);
++ spi_message_add_tail(&t[0], &m);
++
++ cmd[0] = CPLD_CMD_READ_NAND;
++ cmd[1] = 0;
++
++ /* read data */
++ t[1].rx_buf = buf;
++ t[1].len = count;
++ spi_message_add_tail(&t[1], &m);
++
++ return spi_sync(rb4xx_cpld->spi, &m);
++}
++#else
++int rb4xx_cpld_read(unsigned char *rx_buf, const unsigned char *verify_buf,
++ unsigned count)
++{
++ static const unsigned char cmd[2] = { CPLD_CMD_READ_NAND, 0 };
++ struct spi_transfer t[2] = {
++ {
++ .tx_buf = &cmd,
++ .len = 2,
++ }, {
++ .tx_buf = verify_buf,
++ .rx_buf = rx_buf,
++ .len = count,
++ .verify = (verify_buf != NULL),
++ },
++ };
++ struct spi_message m;
++
++ if (rb4xx_cpld == NULL)
++ return -ENODEV;
++
++ spi_message_init(&m);
++ spi_message_add_tail(&t[0], &m);
++ spi_message_add_tail(&t[1], &m);
++ return spi_sync(rb4xx_cpld->spi, &m);
++}
++#endif
++EXPORT_SYMBOL_GPL(rb4xx_cpld_read);
++
++int rb4xx_cpld_write(const unsigned char *buf, unsigned count)
++{
++#if 0
++ struct spi_transfer t[3];
++ struct spi_message m;
++ unsigned char cmd[1];
++
++ if (rb4xx_cpld == NULL)
++ return -ENODEV;
++
++ memset(&t, 0, sizeof(t));
++ spi_message_init(&m);
++
++ /* send command */
++ t[0].tx_buf = cmd;
++ t[0].len = sizeof(cmd);
++ spi_message_add_tail(&t[0], &m);
++
++ cmd[0] = CPLD_CMD_WRITE_NAND;
++
++ /* write data */
++ t[1].tx_buf = buf;
++ t[1].len = count;
++ spi_message_add_tail(&t[1], &m);
++
++ /* send idle */
++ t[2].len = 1;
++ spi_message_add_tail(&t[2], &m);
++
++ return spi_sync(rb4xx_cpld->spi, &m);
++#else
++ static const unsigned char cmd = CPLD_CMD_WRITE_NAND;
++ struct spi_transfer t[3] = {
++ {
++ .tx_buf = &cmd,
++ .len = 1,
++ }, {
++ .tx_buf = buf,
++ .len = count,
++ .fast_write = 1,
++ }, {
++ .len = 1,
++ .fast_write = 1,
++ },
++ };
++ struct spi_message m;
++
++ if (rb4xx_cpld == NULL)
++ return -ENODEV;
++
++ spi_message_init(&m);
++ spi_message_add_tail(&t[0], &m);
++ spi_message_add_tail(&t[1], &m);
++ spi_message_add_tail(&t[2], &m);
++ return spi_sync(rb4xx_cpld->spi, &m);
++#endif
++}
++EXPORT_SYMBOL_GPL(rb4xx_cpld_write);
++
++static int rb4xx_cpld_gpio_get(struct gpio_chip *chip, unsigned offset)
++{
++ struct rb4xx_cpld *cpld = gpio_to_cpld(chip);
++ int ret;
++
++ mutex_lock(&cpld->lock);
++ ret = (cpld->config >> offset) & 1;
++ mutex_unlock(&cpld->lock);
++
++ return ret;
++}
++
++static void rb4xx_cpld_gpio_set(struct gpio_chip *chip, unsigned offset,
++ int value)
++{
++ struct rb4xx_cpld *cpld = gpio_to_cpld(chip);
++
++ mutex_lock(&cpld->lock);
++ __rb4xx_cpld_change_cfg(cpld, (1 << offset), !!value << offset);
++ mutex_unlock(&cpld->lock);
++}
++
++static int rb4xx_cpld_gpio_direction_input(struct gpio_chip *chip,
++ unsigned offset)
++{
++ return -EOPNOTSUPP;
++}
++
++static int rb4xx_cpld_gpio_direction_output(struct gpio_chip *chip,
++ unsigned offset,
++ int value)
++{
++ struct rb4xx_cpld *cpld = gpio_to_cpld(chip);
++ int ret;
++
++ mutex_lock(&cpld->lock);
++ ret = __rb4xx_cpld_change_cfg(cpld, (1 << offset), !!value << offset);
++ mutex_unlock(&cpld->lock);
++
++ return ret;
++}
++
++static int rb4xx_cpld_gpio_init(struct rb4xx_cpld *cpld, unsigned int base)
++{
++ int err;
++
++ /* init config */
++ cpld->config = CPLD_CFG_nLED1 | CPLD_CFG_nLED2 | CPLD_CFG_nLED3 |
++ CPLD_CFG_nLED4 | CPLD_CFG_nCE;
++ rb4xx_cpld_write_cfg(cpld, cpld->config);
++
++ /* setup GPIO chip */
++ cpld->chip.label = DRV_NAME;
++
++ cpld->chip.get = rb4xx_cpld_gpio_get;
++ cpld->chip.set = rb4xx_cpld_gpio_set;
++ cpld->chip.direction_input = rb4xx_cpld_gpio_direction_input;
++ cpld->chip.direction_output = rb4xx_cpld_gpio_direction_output;
++
++ cpld->chip.base = base;
++ cpld->chip.ngpio = CPLD_NUM_GPIOS;
++ cpld->chip.can_sleep = 1;
++ cpld->chip.dev = &cpld->spi->dev;
++ cpld->chip.owner = THIS_MODULE;
++
++ err = gpiochip_add(&cpld->chip);
++ if (err)
++ dev_err(&cpld->spi->dev, "adding GPIO chip failed, err=%d\n",
++ err);
++
++ return err;
++}
++
++static int rb4xx_cpld_probe(struct spi_device *spi)
++{
++ struct rb4xx_cpld *cpld;
++ struct rb4xx_cpld_platform_data *pdata;
++ int err;
++
++ pdata = spi->dev.platform_data;
++ if (!pdata) {
++ dev_dbg(&spi->dev, "no platform data\n");
++ return -EINVAL;
++ }
++
++ cpld = kzalloc(sizeof(*cpld), GFP_KERNEL);
++ if (!cpld) {
++ dev_err(&spi->dev, "no memory for private data\n");
++ return -ENOMEM;
++ }
++
++ mutex_init(&cpld->lock);
++ cpld->spi = spi_dev_get(spi);
++ dev_set_drvdata(&spi->dev, cpld);
++
++ spi->mode = SPI_MODE_0;
++ spi->bits_per_word = 8;
++ err = spi_setup(spi);
++ if (err) {
++ dev_err(&spi->dev, "spi_setup failed, err=%d\n", err);
++ goto err_drvdata;
++ }
++
++ err = rb4xx_cpld_gpio_init(cpld, pdata->gpio_base);
++ if (err)
++ goto err_drvdata;
++
++ rb4xx_cpld = cpld;
++
++ return 0;
++
++err_drvdata:
++ dev_set_drvdata(&spi->dev, NULL);
++ kfree(cpld);
++
++ return err;
++}
++
++static int rb4xx_cpld_remove(struct spi_device *spi)
++{
++ struct rb4xx_cpld *cpld;
++
++ rb4xx_cpld = NULL;
++ cpld = dev_get_drvdata(&spi->dev);
++ dev_set_drvdata(&spi->dev, NULL);
++ kfree(cpld);
++
++ return 0;
++}
++
++static struct spi_driver rb4xx_cpld_driver = {
++ .driver = {
++ .name = DRV_NAME,
++ .bus = &spi_bus_type,
++ .owner = THIS_MODULE,
++ },
++ .probe = rb4xx_cpld_probe,
++ .remove = rb4xx_cpld_remove,
++};
++
++static int __init rb4xx_cpld_init(void)
++{
++ return spi_register_driver(&rb4xx_cpld_driver);
++}
++module_init(rb4xx_cpld_init);
++
++static void __exit rb4xx_cpld_exit(void)
++{
++ spi_unregister_driver(&rb4xx_cpld_driver);
++}
++module_exit(rb4xx_cpld_exit);
++
++MODULE_DESCRIPTION(DRV_DESC);
++MODULE_VERSION(DRV_VERSION);
++MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
++MODULE_LICENSE("GPL v2");
+diff -Nur linux-4.1.43.orig/drivers/spi/spi-rb4xx.c linux-4.1.43/drivers/spi/spi-rb4xx.c
+--- linux-4.1.43.orig/drivers/spi/spi-rb4xx.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/spi/spi-rb4xx.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,507 @@
+/*
+ * SPI controller driver for the Mikrotik RB4xx boards
@@ -44052,454 +44497,9 @@ diff -Nur linux-4.1.13.orig/drivers/spi/spi-rb4xx.c linux-4.1.13/drivers/spi/spi
+MODULE_VERSION(DRV_VERSION);
+MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
+MODULE_LICENSE("GPL v2");
-diff -Nur linux-4.1.13.orig/drivers/spi/spi-rb4xx-cpld.c linux-4.1.13/drivers/spi/spi-rb4xx-cpld.c
---- linux-4.1.13.orig/drivers/spi/spi-rb4xx-cpld.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/spi/spi-rb4xx-cpld.c 2015-09-13 20:04:35.076523692 +0200
-@@ -0,0 +1,441 @@
-+/*
-+ * SPI driver for the CPLD chip on the Mikrotik RB4xx boards
-+ *
-+ * Copyright (C) 2010 Gabor Juhos <juhosg@openwrt.org>
-+ *
-+ * This file was based on the patches for Linux 2.6.27.39 published by
-+ * MikroTik for their RouterBoard 4xx series devices.
-+ *
-+ * 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/types.h>
-+#include <linux/kernel.h>
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/module.h>
-+#include <linux/device.h>
-+#include <linux/bitops.h>
-+#include <linux/spi/spi.h>
-+#include <linux/gpio.h>
-+#include <linux/slab.h>
-+
-+#include <asm/mach-ath79/rb4xx_cpld.h>
-+
-+#define DRV_NAME "spi-rb4xx-cpld"
-+#define DRV_DESC "RB4xx CPLD driver"
-+#define DRV_VERSION "0.1.0"
-+
-+#define CPLD_CMD_WRITE_NAND 0x08 /* send cmd, n x send data, send indle */
-+#define CPLD_CMD_WRITE_CFG 0x09 /* send cmd, n x send cfg */
-+#define CPLD_CMD_READ_NAND 0x0a /* send cmd, send idle, n x read data */
-+#define CPLD_CMD_READ_FAST 0x0b /* send cmd, 4 x idle, n x read data */
-+#define CPLD_CMD_LED5_ON 0x0c /* send cmd */
-+#define CPLD_CMD_LED5_OFF 0x0d /* send cmd */
-+
-+struct rb4xx_cpld {
-+ struct spi_device *spi;
-+ struct mutex lock;
-+ struct gpio_chip chip;
-+ unsigned int config;
-+};
-+
-+static struct rb4xx_cpld *rb4xx_cpld;
-+
-+static inline struct rb4xx_cpld *gpio_to_cpld(struct gpio_chip *chip)
-+{
-+ return container_of(chip, struct rb4xx_cpld, chip);
-+}
-+
-+static int rb4xx_cpld_write_cmd(struct rb4xx_cpld *cpld, unsigned char cmd)
-+{
-+ struct spi_transfer t[1];
-+ struct spi_message m;
-+ unsigned char tx_buf[1];
-+ int err;
-+
-+ spi_message_init(&m);
-+ memset(&t, 0, sizeof(t));
-+
-+ t[0].tx_buf = tx_buf;
-+ t[0].len = sizeof(tx_buf);
-+ spi_message_add_tail(&t[0], &m);
-+
-+ tx_buf[0] = cmd;
-+
-+ err = spi_sync(cpld->spi, &m);
-+ return err;
-+}
-+
-+static int rb4xx_cpld_write_cfg(struct rb4xx_cpld *cpld, unsigned char config)
-+{
-+ struct spi_transfer t[1];
-+ struct spi_message m;
-+ unsigned char cmd[2];
-+ int err;
-+
-+ spi_message_init(&m);
-+ memset(&t, 0, sizeof(t));
-+
-+ t[0].tx_buf = cmd;
-+ t[0].len = sizeof(cmd);
-+ spi_message_add_tail(&t[0], &m);
-+
-+ cmd[0] = CPLD_CMD_WRITE_CFG;
-+ cmd[1] = config;
-+
-+ err = spi_sync(cpld->spi, &m);
-+ return err;
-+}
-+
-+static int __rb4xx_cpld_change_cfg(struct rb4xx_cpld *cpld, unsigned mask,
-+ unsigned value)
-+{
-+ unsigned int config;
-+ int err;
-+
-+ config = cpld->config & ~mask;
-+ config |= value;
-+
-+ if ((cpld->config ^ config) & 0xff) {
-+ err = rb4xx_cpld_write_cfg(cpld, config);
-+ if (err)
-+ return err;
-+ }
-+
-+ if ((cpld->config ^ config) & CPLD_CFG_nLED5) {
-+ err = rb4xx_cpld_write_cmd(cpld, (value) ? CPLD_CMD_LED5_ON :
-+ CPLD_CMD_LED5_OFF);
-+ if (err)
-+ return err;
-+ }
-+
-+ cpld->config = config;
-+ return 0;
-+}
-+
-+int rb4xx_cpld_change_cfg(unsigned mask, unsigned value)
-+{
-+ int ret;
-+
-+ if (rb4xx_cpld == NULL)
-+ return -ENODEV;
-+
-+ mutex_lock(&rb4xx_cpld->lock);
-+ ret = __rb4xx_cpld_change_cfg(rb4xx_cpld, mask, value);
-+ mutex_unlock(&rb4xx_cpld->lock);
-+
-+ return ret;
-+}
-+EXPORT_SYMBOL_GPL(rb4xx_cpld_change_cfg);
-+
-+int rb4xx_cpld_read_from(unsigned addr, unsigned char *rx_buf,
-+ const unsigned char *verify_buf, unsigned count)
-+{
-+ const unsigned char cmd[5] = {
-+ CPLD_CMD_READ_FAST,
-+ (addr >> 16) & 0xff,
-+ (addr >> 8) & 0xff,
-+ addr & 0xff,
-+ 0
-+ };
-+ struct spi_transfer t[2] = {
-+ {
-+ .tx_buf = &cmd,
-+ .len = 5,
-+ },
-+ {
-+ .tx_buf = verify_buf,
-+ .rx_buf = rx_buf,
-+ .len = count,
-+ .verify = (verify_buf != NULL),
-+ },
-+ };
-+ struct spi_message m;
-+
-+ if (rb4xx_cpld == NULL)
-+ return -ENODEV;
-+
-+ spi_message_init(&m);
-+ m.fast_read = 1;
-+ spi_message_add_tail(&t[0], &m);
-+ spi_message_add_tail(&t[1], &m);
-+ return spi_sync(rb4xx_cpld->spi, &m);
-+}
-+EXPORT_SYMBOL_GPL(rb4xx_cpld_read_from);
-+
-+#if 0
-+int rb4xx_cpld_read(unsigned char *buf, unsigned char *verify_buf,
-+ unsigned count)
-+{
-+ struct spi_transfer t[2];
-+ struct spi_message m;
-+ unsigned char cmd[2];
-+
-+ if (rb4xx_cpld == NULL)
-+ return -ENODEV;
-+
-+ spi_message_init(&m);
-+ memset(&t, 0, sizeof(t));
-+
-+ /* send command */
-+ t[0].tx_buf = cmd;
-+ t[0].len = sizeof(cmd);
-+ spi_message_add_tail(&t[0], &m);
-+
-+ cmd[0] = CPLD_CMD_READ_NAND;
-+ cmd[1] = 0;
-+
-+ /* read data */
-+ t[1].rx_buf = buf;
-+ t[1].len = count;
-+ spi_message_add_tail(&t[1], &m);
-+
-+ return spi_sync(rb4xx_cpld->spi, &m);
-+}
-+#else
-+int rb4xx_cpld_read(unsigned char *rx_buf, const unsigned char *verify_buf,
-+ unsigned count)
-+{
-+ static const unsigned char cmd[2] = { CPLD_CMD_READ_NAND, 0 };
-+ struct spi_transfer t[2] = {
-+ {
-+ .tx_buf = &cmd,
-+ .len = 2,
-+ }, {
-+ .tx_buf = verify_buf,
-+ .rx_buf = rx_buf,
-+ .len = count,
-+ .verify = (verify_buf != NULL),
-+ },
-+ };
-+ struct spi_message m;
-+
-+ if (rb4xx_cpld == NULL)
-+ return -ENODEV;
-+
-+ spi_message_init(&m);
-+ spi_message_add_tail(&t[0], &m);
-+ spi_message_add_tail(&t[1], &m);
-+ return spi_sync(rb4xx_cpld->spi, &m);
-+}
-+#endif
-+EXPORT_SYMBOL_GPL(rb4xx_cpld_read);
-+
-+int rb4xx_cpld_write(const unsigned char *buf, unsigned count)
-+{
-+#if 0
-+ struct spi_transfer t[3];
-+ struct spi_message m;
-+ unsigned char cmd[1];
-+
-+ if (rb4xx_cpld == NULL)
-+ return -ENODEV;
-+
-+ memset(&t, 0, sizeof(t));
-+ spi_message_init(&m);
-+
-+ /* send command */
-+ t[0].tx_buf = cmd;
-+ t[0].len = sizeof(cmd);
-+ spi_message_add_tail(&t[0], &m);
-+
-+ cmd[0] = CPLD_CMD_WRITE_NAND;
-+
-+ /* write data */
-+ t[1].tx_buf = buf;
-+ t[1].len = count;
-+ spi_message_add_tail(&t[1], &m);
-+
-+ /* send idle */
-+ t[2].len = 1;
-+ spi_message_add_tail(&t[2], &m);
-+
-+ return spi_sync(rb4xx_cpld->spi, &m);
-+#else
-+ static const unsigned char cmd = CPLD_CMD_WRITE_NAND;
-+ struct spi_transfer t[3] = {
-+ {
-+ .tx_buf = &cmd,
-+ .len = 1,
-+ }, {
-+ .tx_buf = buf,
-+ .len = count,
-+ .fast_write = 1,
-+ }, {
-+ .len = 1,
-+ .fast_write = 1,
-+ },
-+ };
-+ struct spi_message m;
-+
-+ if (rb4xx_cpld == NULL)
-+ return -ENODEV;
-+
-+ spi_message_init(&m);
-+ spi_message_add_tail(&t[0], &m);
-+ spi_message_add_tail(&t[1], &m);
-+ spi_message_add_tail(&t[2], &m);
-+ return spi_sync(rb4xx_cpld->spi, &m);
-+#endif
-+}
-+EXPORT_SYMBOL_GPL(rb4xx_cpld_write);
-+
-+static int rb4xx_cpld_gpio_get(struct gpio_chip *chip, unsigned offset)
-+{
-+ struct rb4xx_cpld *cpld = gpio_to_cpld(chip);
-+ int ret;
-+
-+ mutex_lock(&cpld->lock);
-+ ret = (cpld->config >> offset) & 1;
-+ mutex_unlock(&cpld->lock);
-+
-+ return ret;
-+}
-+
-+static void rb4xx_cpld_gpio_set(struct gpio_chip *chip, unsigned offset,
-+ int value)
-+{
-+ struct rb4xx_cpld *cpld = gpio_to_cpld(chip);
-+
-+ mutex_lock(&cpld->lock);
-+ __rb4xx_cpld_change_cfg(cpld, (1 << offset), !!value << offset);
-+ mutex_unlock(&cpld->lock);
-+}
-+
-+static int rb4xx_cpld_gpio_direction_input(struct gpio_chip *chip,
-+ unsigned offset)
-+{
-+ return -EOPNOTSUPP;
-+}
-+
-+static int rb4xx_cpld_gpio_direction_output(struct gpio_chip *chip,
-+ unsigned offset,
-+ int value)
-+{
-+ struct rb4xx_cpld *cpld = gpio_to_cpld(chip);
-+ int ret;
-+
-+ mutex_lock(&cpld->lock);
-+ ret = __rb4xx_cpld_change_cfg(cpld, (1 << offset), !!value << offset);
-+ mutex_unlock(&cpld->lock);
-+
-+ return ret;
-+}
-+
-+static int rb4xx_cpld_gpio_init(struct rb4xx_cpld *cpld, unsigned int base)
-+{
-+ int err;
-+
-+ /* init config */
-+ cpld->config = CPLD_CFG_nLED1 | CPLD_CFG_nLED2 | CPLD_CFG_nLED3 |
-+ CPLD_CFG_nLED4 | CPLD_CFG_nCE;
-+ rb4xx_cpld_write_cfg(cpld, cpld->config);
-+
-+ /* setup GPIO chip */
-+ cpld->chip.label = DRV_NAME;
-+
-+ cpld->chip.get = rb4xx_cpld_gpio_get;
-+ cpld->chip.set = rb4xx_cpld_gpio_set;
-+ cpld->chip.direction_input = rb4xx_cpld_gpio_direction_input;
-+ cpld->chip.direction_output = rb4xx_cpld_gpio_direction_output;
-+
-+ cpld->chip.base = base;
-+ cpld->chip.ngpio = CPLD_NUM_GPIOS;
-+ cpld->chip.can_sleep = 1;
-+ cpld->chip.dev = &cpld->spi->dev;
-+ cpld->chip.owner = THIS_MODULE;
-+
-+ err = gpiochip_add(&cpld->chip);
-+ if (err)
-+ dev_err(&cpld->spi->dev, "adding GPIO chip failed, err=%d\n",
-+ err);
-+
-+ return err;
-+}
-+
-+static int rb4xx_cpld_probe(struct spi_device *spi)
-+{
-+ struct rb4xx_cpld *cpld;
-+ struct rb4xx_cpld_platform_data *pdata;
-+ int err;
-+
-+ pdata = spi->dev.platform_data;
-+ if (!pdata) {
-+ dev_dbg(&spi->dev, "no platform data\n");
-+ return -EINVAL;
-+ }
-+
-+ cpld = kzalloc(sizeof(*cpld), GFP_KERNEL);
-+ if (!cpld) {
-+ dev_err(&spi->dev, "no memory for private data\n");
-+ return -ENOMEM;
-+ }
-+
-+ mutex_init(&cpld->lock);
-+ cpld->spi = spi_dev_get(spi);
-+ dev_set_drvdata(&spi->dev, cpld);
-+
-+ spi->mode = SPI_MODE_0;
-+ spi->bits_per_word = 8;
-+ err = spi_setup(spi);
-+ if (err) {
-+ dev_err(&spi->dev, "spi_setup failed, err=%d\n", err);
-+ goto err_drvdata;
-+ }
-+
-+ err = rb4xx_cpld_gpio_init(cpld, pdata->gpio_base);
-+ if (err)
-+ goto err_drvdata;
-+
-+ rb4xx_cpld = cpld;
-+
-+ return 0;
-+
-+err_drvdata:
-+ dev_set_drvdata(&spi->dev, NULL);
-+ kfree(cpld);
-+
-+ return err;
-+}
-+
-+static int rb4xx_cpld_remove(struct spi_device *spi)
-+{
-+ struct rb4xx_cpld *cpld;
-+
-+ rb4xx_cpld = NULL;
-+ cpld = dev_get_drvdata(&spi->dev);
-+ dev_set_drvdata(&spi->dev, NULL);
-+ kfree(cpld);
-+
-+ return 0;
-+}
-+
-+static struct spi_driver rb4xx_cpld_driver = {
-+ .driver = {
-+ .name = DRV_NAME,
-+ .bus = &spi_bus_type,
-+ .owner = THIS_MODULE,
-+ },
-+ .probe = rb4xx_cpld_probe,
-+ .remove = rb4xx_cpld_remove,
-+};
-+
-+static int __init rb4xx_cpld_init(void)
-+{
-+ return spi_register_driver(&rb4xx_cpld_driver);
-+}
-+module_init(rb4xx_cpld_init);
-+
-+static void __exit rb4xx_cpld_exit(void)
-+{
-+ spi_unregister_driver(&rb4xx_cpld_driver);
-+}
-+module_exit(rb4xx_cpld_exit);
-+
-+MODULE_DESCRIPTION(DRV_DESC);
-+MODULE_VERSION(DRV_VERSION);
-+MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
-+MODULE_LICENSE("GPL v2");
-diff -Nur linux-4.1.13.orig/drivers/spi/spi-vsc7385.c linux-4.1.13/drivers/spi/spi-vsc7385.c
---- linux-4.1.13.orig/drivers/spi/spi-vsc7385.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/drivers/spi/spi-vsc7385.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/drivers/spi/spi-vsc7385.c linux-4.1.43/drivers/spi/spi-vsc7385.c
+--- linux-4.1.43.orig/drivers/spi/spi-vsc7385.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/drivers/spi/spi-vsc7385.c 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,621 @@
+/*
+ * SPI driver for the Vitesse VSC7385 ethernet switch
@@ -45122,9 +45122,9 @@ diff -Nur linux-4.1.13.orig/drivers/spi/spi-vsc7385.c linux-4.1.13/drivers/spi/s
+MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
+MODULE_LICENSE("GPL v2");
+
-diff -Nur linux-4.1.13.orig/drivers/tty/serial/serial_core.c linux-4.1.13/drivers/tty/serial/serial_core.c
---- linux-4.1.13.orig/drivers/tty/serial/serial_core.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/tty/serial/serial_core.c 2015-12-04 19:57:05.897979014 +0100
+diff -Nur linux-4.1.43.orig/drivers/tty/serial/serial_core.c linux-4.1.43/drivers/tty/serial/serial_core.c
+--- linux-4.1.43.orig/drivers/tty/serial/serial_core.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/tty/serial/serial_core.c 2017-08-06 20:02:16.000000000 +0200
@@ -164,6 +164,8 @@
if (retval == 0) {
if (uart_console(uport) && uport->cons->cflag) {
@@ -45170,9 +45170,9 @@ diff -Nur linux-4.1.13.orig/drivers/tty/serial/serial_core.c linux-4.1.13/driver
return 0;
}
-diff -Nur linux-4.1.13.orig/drivers/usb/host/ehci-hcd.c linux-4.1.13/drivers/usb/host/ehci-hcd.c
---- linux-4.1.13.orig/drivers/usb/host/ehci-hcd.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/usb/host/ehci-hcd.c 2015-12-04 19:57:03.974104886 +0100
+diff -Nur linux-4.1.43.orig/drivers/usb/host/ehci-hcd.c linux-4.1.43/drivers/usb/host/ehci-hcd.c
+--- linux-4.1.43.orig/drivers/usb/host/ehci-hcd.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/usb/host/ehci-hcd.c 2017-08-06 20:02:16.000000000 +0200
@@ -252,6 +252,37 @@
command |= CMD_RESET;
dbg_cmd (ehci, "reset", command);
@@ -45211,9 +45211,9 @@ diff -Nur linux-4.1.13.orig/drivers/usb/host/ehci-hcd.c linux-4.1.13/drivers/usb
ehci->rh_state = EHCI_RH_HALTED;
ehci->next_statechange = jiffies;
retval = ehci_handshake(ehci, &ehci->regs->command,
-diff -Nur linux-4.1.13.orig/drivers/usb/host/ehci-platform.c linux-4.1.13/drivers/usb/host/ehci-platform.c
---- linux-4.1.13.orig/drivers/usb/host/ehci-platform.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/usb/host/ehci-platform.c 2015-12-04 19:57:03.978104624 +0100
+diff -Nur linux-4.1.43.orig/drivers/usb/host/ehci-platform.c linux-4.1.43/drivers/usb/host/ehci-platform.c
+--- linux-4.1.43.orig/drivers/usb/host/ehci-platform.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/usb/host/ehci-platform.c 2017-08-06 20:02:16.000000000 +0200
@@ -49,6 +49,14 @@
static const char hcd_name[] = "ehci-platform";
@@ -45229,9 +45229,9 @@ diff -Nur linux-4.1.13.orig/drivers/usb/host/ehci-platform.c linux-4.1.13/driver
static int ehci_platform_reset(struct usb_hcd *hcd)
{
struct platform_device *pdev = to_platform_device(hcd->self.controller);
-diff -Nur linux-4.1.13.orig/drivers/watchdog/ath79_wdt.c linux-4.1.13/drivers/watchdog/ath79_wdt.c
---- linux-4.1.13.orig/drivers/watchdog/ath79_wdt.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/drivers/watchdog/ath79_wdt.c 2015-12-04 19:57:04.398077147 +0100
+diff -Nur linux-4.1.43.orig/drivers/watchdog/ath79_wdt.c linux-4.1.43/drivers/watchdog/ath79_wdt.c
+--- linux-4.1.43.orig/drivers/watchdog/ath79_wdt.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/drivers/watchdog/ath79_wdt.c 2017-08-06 20:02:16.000000000 +0200
@@ -114,10 +114,14 @@
static int ath79_wdt_set_timeout(int val)
@@ -45249,9 +45249,9 @@ diff -Nur linux-4.1.13.orig/drivers/watchdog/ath79_wdt.c linux-4.1.13/drivers/wa
ath79_wdt_keepalive();
return 0;
-diff -Nur linux-4.1.13.orig/include/linux/console.h linux-4.1.13/include/linux/console.h
---- linux-4.1.13.orig/include/linux/console.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/linux/console.h 2015-12-04 19:57:05.901978752 +0100
+diff -Nur linux-4.1.43.orig/include/linux/console.h linux-4.1.43/include/linux/console.h
+--- linux-4.1.43.orig/include/linux/console.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/linux/console.h 2017-08-06 20:02:16.000000000 +0200
@@ -127,6 +127,7 @@
short flags;
short index;
@@ -45260,9 +45260,9 @@ diff -Nur linux-4.1.13.orig/include/linux/console.h linux-4.1.13/include/linux/c
void *data;
struct console *next;
};
-diff -Nur linux-4.1.13.orig/include/linux/ipv6.h linux-4.1.13/include/linux/ipv6.h
---- linux-4.1.13.orig/include/linux/ipv6.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/linux/ipv6.h 2015-12-04 19:57:05.917977705 +0100
+diff -Nur linux-4.1.43.orig/include/linux/ipv6.h linux-4.1.43/include/linux/ipv6.h
+--- linux-4.1.43.orig/include/linux/ipv6.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/linux/ipv6.h 2017-08-06 20:02:16.000000000 +0200
@@ -5,6 +5,7 @@
#define ipv6_optlen(p) (((p)->hdrlen+1) << 3)
@@ -45271,9 +45271,9 @@ diff -Nur linux-4.1.13.orig/include/linux/ipv6.h linux-4.1.13/include/linux/ipv6
/*
* This structure contains configuration options per IPv6 link.
*/
-diff -Nur linux-4.1.13.orig/include/linux/mtd/physmap.h linux-4.1.13/include/linux/mtd/physmap.h
---- linux-4.1.13.orig/include/linux/mtd/physmap.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/linux/mtd/physmap.h 2015-12-04 19:57:03.830114307 +0100
+diff -Nur linux-4.1.43.orig/include/linux/mtd/physmap.h linux-4.1.43/include/linux/mtd/physmap.h
+--- linux-4.1.43.orig/include/linux/mtd/physmap.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/linux/mtd/physmap.h 2017-08-06 20:02:16.000000000 +0200
@@ -25,6 +25,8 @@
unsigned int width;
int (*init)(struct platform_device *);
@@ -45283,9 +45283,9 @@ diff -Nur linux-4.1.13.orig/include/linux/mtd/physmap.h linux-4.1.13/include/lin
void (*set_vpp)(struct platform_device *, int);
unsigned int nr_parts;
unsigned int pfow_base;
-diff -Nur linux-4.1.13.orig/include/linux/myloader.h linux-4.1.13/include/linux/myloader.h
---- linux-4.1.13.orig/include/linux/myloader.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/include/linux/myloader.h 2015-12-04 20:10:00.684874021 +0100
+diff -Nur linux-4.1.43.orig/include/linux/myloader.h linux-4.1.43/include/linux/myloader.h
+--- linux-4.1.43.orig/include/linux/myloader.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/include/linux/myloader.h 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,121 @@
+/*
+ * Compex's MyLoader specific definitions
@@ -45408,9 +45408,9 @@ diff -Nur linux-4.1.13.orig/include/linux/myloader.h linux-4.1.13/include/linux/
+};
+
+#endif /* _MYLOADER_H_*/
-diff -Nur linux-4.1.13.orig/include/linux/nxp_74hc153.h linux-4.1.13/include/linux/nxp_74hc153.h
---- linux-4.1.13.orig/include/linux/nxp_74hc153.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/include/linux/nxp_74hc153.h 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/include/linux/nxp_74hc153.h linux-4.1.43/include/linux/nxp_74hc153.h
+--- linux-4.1.43.orig/include/linux/nxp_74hc153.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/include/linux/nxp_74hc153.h 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,24 @@
+/*
+ * NXP 74HC153 - Dual 4-input multiplexer defines
@@ -45436,9 +45436,9 @@ diff -Nur linux-4.1.13.orig/include/linux/nxp_74hc153.h linux-4.1.13/include/lin
+};
+
+#endif /* _NXP_74HC153_H */
-diff -Nur linux-4.1.13.orig/include/linux/phy.h linux-4.1.13/include/linux/phy.h
---- linux-4.1.13.orig/include/linux/phy.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/linux/phy.h 2015-12-04 20:31:10.916990579 +0100
+diff -Nur linux-4.1.43.orig/include/linux/phy.h linux-4.1.43/include/linux/phy.h
+--- linux-4.1.43.orig/include/linux/phy.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/linux/phy.h 2017-08-06 20:02:16.000000000 +0200
@@ -762,6 +762,7 @@
void phy_stop_machine(struct phy_device *phydev);
int phy_ethtool_sset(struct phy_device *phydev, struct ethtool_cmd *cmd);
@@ -45447,9 +45447,9 @@ diff -Nur linux-4.1.13.orig/include/linux/phy.h linux-4.1.13/include/linux/phy.h
int phy_mii_ioctl(struct phy_device *phydev, struct ifreq *ifr, int cmd);
int phy_start_interrupts(struct phy_device *phydev);
void phy_print_status(struct phy_device *phydev);
-diff -Nur linux-4.1.13.orig/include/linux/platform/ar934x_nfc.h linux-4.1.13/include/linux/platform/ar934x_nfc.h
---- linux-4.1.13.orig/include/linux/platform/ar934x_nfc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/include/linux/platform/ar934x_nfc.h 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/include/linux/platform/ar934x_nfc.h linux-4.1.43/include/linux/platform/ar934x_nfc.h
+--- linux-4.1.43.orig/include/linux/platform/ar934x_nfc.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/include/linux/platform/ar934x_nfc.h 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,39 @@
+/*
+ * Platform data definition for the built-in NAND controller of the
@@ -45490,9 +45490,9 @@ diff -Nur linux-4.1.13.orig/include/linux/platform/ar934x_nfc.h linux-4.1.13/inc
+};
+
+#endif /* _AR934X_NFC_PLATFORM_H */
-diff -Nur linux-4.1.13.orig/include/linux/platform_data/gpio-latch.h linux-4.1.13/include/linux/platform_data/gpio-latch.h
---- linux-4.1.13.orig/include/linux/platform_data/gpio-latch.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/include/linux/platform_data/gpio-latch.h 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/include/linux/platform_data/gpio-latch.h linux-4.1.43/include/linux/platform_data/gpio-latch.h
+--- linux-4.1.43.orig/include/linux/platform_data/gpio-latch.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/include/linux/platform_data/gpio-latch.h 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,14 @@
+#ifndef _GPIO_LATCH_H_
+#define _GPIO_LATCH_H_
@@ -45508,9 +45508,9 @@ diff -Nur linux-4.1.13.orig/include/linux/platform_data/gpio-latch.h linux-4.1.1
+};
+
+#endif /* _GPIO_LATCH_H_ */
-diff -Nur linux-4.1.13.orig/include/linux/platform_data/phy-at803x.h linux-4.1.13/include/linux/platform_data/phy-at803x.h
---- linux-4.1.13.orig/include/linux/platform_data/phy-at803x.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/include/linux/platform_data/phy-at803x.h 2015-12-04 19:57:03.890110382 +0100
+diff -Nur linux-4.1.43.orig/include/linux/platform_data/phy-at803x.h linux-4.1.43/include/linux/platform_data/phy-at803x.h
+--- linux-4.1.43.orig/include/linux/platform_data/phy-at803x.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/include/linux/platform_data/phy-at803x.h 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,11 @@
+#ifndef _PHY_AT803X_PDATA_H
+#define _PHY_AT803X_PDATA_H
@@ -45523,9 +45523,9 @@ diff -Nur linux-4.1.13.orig/include/linux/platform_data/phy-at803x.h linux-4.1.1
+};
+
+#endif /* _PHY_AT803X_PDATA_H */
-diff -Nur linux-4.1.13.orig/include/linux/platform_data/rb91x_nand.h linux-4.1.13/include/linux/platform_data/rb91x_nand.h
---- linux-4.1.13.orig/include/linux/platform_data/rb91x_nand.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/include/linux/platform_data/rb91x_nand.h 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/include/linux/platform_data/rb91x_nand.h linux-4.1.43/include/linux/platform_data/rb91x_nand.h
+--- linux-4.1.43.orig/include/linux/platform_data/rb91x_nand.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/include/linux/platform_data/rb91x_nand.h 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,16 @@
+#ifndef _RB91X_NAND_H_
+#define _RB91X_NAND_H_
@@ -45544,9 +45544,9 @@ diff -Nur linux-4.1.13.orig/include/linux/platform_data/rb91x_nand.h linux-4.1.1
+
+#endif /* _RB91X_NAND_H_ */
\ No newline at end of file
-diff -Nur linux-4.1.13.orig/include/linux/rle.h linux-4.1.13/include/linux/rle.h
---- linux-4.1.13.orig/include/linux/rle.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/include/linux/rle.h 2015-12-04 19:57:03.830114307 +0100
+diff -Nur linux-4.1.43.orig/include/linux/rle.h linux-4.1.43/include/linux/rle.h
+--- linux-4.1.43.orig/include/linux/rle.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/include/linux/rle.h 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,18 @@
+#ifndef _RLE_H_
+#define _RLE_H_
@@ -45566,9 +45566,9 @@ diff -Nur linux-4.1.13.orig/include/linux/rle.h linux-4.1.13/include/linux/rle.h
+#endif /* CONFIG_RLE_DECOMPRESS */
+
+#endif /* _RLE_H_ */
-diff -Nur linux-4.1.13.orig/include/linux/spi/74x164.h linux-4.1.13/include/linux/spi/74x164.h
---- linux-4.1.13.orig/include/linux/spi/74x164.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/include/linux/spi/74x164.h 2015-12-04 19:57:03.930107765 +0100
+diff -Nur linux-4.1.43.orig/include/linux/spi/74x164.h linux-4.1.43/include/linux/spi/74x164.h
+--- linux-4.1.43.orig/include/linux/spi/74x164.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/include/linux/spi/74x164.h 2017-08-06 20:02:16.000000000 +0200
@@ -0,0 +1,13 @@
+#ifndef LINUX_SPI_74X164_H
+#define LINUX_SPI_74X164_H
@@ -45583,9 +45583,9 @@ diff -Nur linux-4.1.13.orig/include/linux/spi/74x164.h linux-4.1.13/include/linu
+};
+
+#endif
-diff -Nur linux-4.1.13.orig/include/linux/spi/flash.h linux-4.1.13/include/linux/spi/flash.h
---- linux-4.1.13.orig/include/linux/spi/flash.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/linux/spi/flash.h 2015-12-04 19:57:03.854112737 +0100
+diff -Nur linux-4.1.43.orig/include/linux/spi/flash.h linux-4.1.43/include/linux/spi/flash.h
+--- linux-4.1.43.orig/include/linux/spi/flash.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/linux/spi/flash.h 2017-08-06 20:02:17.000000000 +0200
@@ -24,6 +24,7 @@
unsigned int nr_parts;
@@ -45594,20 +45594,9 @@ diff -Nur linux-4.1.13.orig/include/linux/spi/flash.h linux-4.1.13/include/linux
/* we'll likely add more ... use JEDEC IDs, etc */
};
-diff -Nur linux-4.1.13.orig/include/linux/spi/spi_bitbang.h linux-4.1.13/include/linux/spi/spi_bitbang.h
---- linux-4.1.13.orig/include/linux/spi/spi_bitbang.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/linux/spi/spi_bitbang.h 2015-12-04 19:57:03.934107503 +0100
-@@ -39,6 +39,7 @@
- extern void spi_bitbang_cleanup(struct spi_device *spi);
- extern int spi_bitbang_setup_transfer(struct spi_device *spi,
- struct spi_transfer *t);
-+extern int spi_bitbang_bufs(struct spi_device *spi, struct spi_transfer *t);
-
- /* start or stop queue processing */
- extern int spi_bitbang_start(struct spi_bitbang *spi);
-diff -Nur linux-4.1.13.orig/include/linux/spi/spi.h linux-4.1.13/include/linux/spi/spi.h
---- linux-4.1.13.orig/include/linux/spi/spi.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/linux/spi/spi.h 2015-12-04 19:57:03.966105410 +0100
+diff -Nur linux-4.1.43.orig/include/linux/spi/spi.h linux-4.1.43/include/linux/spi/spi.h
+--- linux-4.1.43.orig/include/linux/spi/spi.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/linux/spi/spi.h 2017-08-06 20:02:17.000000000 +0200
@@ -506,6 +506,12 @@
/*---------------------------------------------------------------------------*/
@@ -45646,9 +45635,20 @@ diff -Nur linux-4.1.13.orig/include/linux/spi/spi.h linux-4.1.13/include/linux/s
/* REVISIT: we might want a flag affecting the behavior of the
* last transfer ... allowing things like "read 16 bit length L"
-diff -Nur linux-4.1.13.orig/include/linux/spi/vsc7385.h linux-4.1.13/include/linux/spi/vsc7385.h
---- linux-4.1.13.orig/include/linux/spi/vsc7385.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/include/linux/spi/vsc7385.h 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/include/linux/spi/spi_bitbang.h linux-4.1.43/include/linux/spi/spi_bitbang.h
+--- linux-4.1.43.orig/include/linux/spi/spi_bitbang.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/linux/spi/spi_bitbang.h 2017-08-06 20:02:17.000000000 +0200
+@@ -39,6 +39,7 @@
+ extern void spi_bitbang_cleanup(struct spi_device *spi);
+ extern int spi_bitbang_setup_transfer(struct spi_device *spi,
+ struct spi_transfer *t);
++extern int spi_bitbang_bufs(struct spi_device *spi, struct spi_transfer *t);
+
+ /* start or stop queue processing */
+ extern int spi_bitbang_start(struct spi_bitbang *spi);
+diff -Nur linux-4.1.43.orig/include/linux/spi/vsc7385.h linux-4.1.43/include/linux/spi/vsc7385.h
+--- linux-4.1.43.orig/include/linux/spi/vsc7385.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/include/linux/spi/vsc7385.h 2017-08-06 20:02:17.000000000 +0200
@@ -0,0 +1,19 @@
+/*
+ * Platform data definition for the Vitesse VSC7385 ethernet switch driver
@@ -45669,9 +45669,9 @@ diff -Nur linux-4.1.13.orig/include/linux/spi/vsc7385.h linux-4.1.13/include/lin
+ u32 clk_sel:3;
+ } mac_cfg;
+};
-diff -Nur linux-4.1.13.orig/include/linux/switch.h linux-4.1.13/include/linux/switch.h
---- linux-4.1.13.orig/include/linux/switch.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/include/linux/switch.h 2015-12-04 20:52:15.735681740 +0100
+diff -Nur linux-4.1.43.orig/include/linux/switch.h linux-4.1.43/include/linux/switch.h
+--- linux-4.1.43.orig/include/linux/switch.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/include/linux/switch.h 2017-08-06 20:02:17.000000000 +0200
@@ -0,0 +1,169 @@
+/*
+ * switch.h: Switch configuration API
@@ -45842,9 +45842,9 @@ diff -Nur linux-4.1.13.orig/include/linux/switch.h linux-4.1.13/include/linux/sw
+};
+
+#endif /* _LINUX_SWITCH_H */
-diff -Nur linux-4.1.13.orig/include/linux/types.h linux-4.1.13/include/linux/types.h
---- linux-4.1.13.orig/include/linux/types.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/linux/types.h 2015-12-04 19:57:05.925977182 +0100
+diff -Nur linux-4.1.43.orig/include/linux/types.h linux-4.1.43/include/linux/types.h
+--- linux-4.1.43.orig/include/linux/types.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/linux/types.h 2017-08-06 20:02:17.000000000 +0200
@@ -215,5 +215,11 @@
/* clocksource cycle base type */
typedef u64 cycle_t;
@@ -45857,9 +45857,9 @@ diff -Nur linux-4.1.13.orig/include/linux/types.h linux-4.1.13/include/linux/typ
+
#endif /* __ASSEMBLY__ */
#endif /* _LINUX_TYPES_H */
-diff -Nur linux-4.1.13.orig/include/linux/usb/ehci_pdriver.h linux-4.1.13/include/linux/usb/ehci_pdriver.h
---- linux-4.1.13.orig/include/linux/usb/ehci_pdriver.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/linux/usb/ehci_pdriver.h 2015-12-04 20:18:56.085517295 +0100
+diff -Nur linux-4.1.43.orig/include/linux/usb/ehci_pdriver.h linux-4.1.43/include/linux/usb/ehci_pdriver.h
+--- linux-4.1.43.orig/include/linux/usb/ehci_pdriver.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/linux/usb/ehci_pdriver.h 2017-08-06 20:02:17.000000000 +0200
@@ -49,6 +49,8 @@
unsigned no_io_watchdog:1;
unsigned reset_on_resume:1;
@@ -45877,10 +45877,10 @@ diff -Nur linux-4.1.13.orig/include/linux/usb/ehci_pdriver.h linux-4.1.13/includ
};
#endif /* __USB_CORE_EHCI_PDRIVER_H */
-diff -Nur linux-4.1.13.orig/include/net/addrconf.h linux-4.1.13/include/net/addrconf.h
---- linux-4.1.13.orig/include/net/addrconf.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/net/addrconf.h 2015-12-04 19:57:05.929976920 +0100
-@@ -43,7 +43,7 @@
+diff -Nur linux-4.1.43.orig/include/net/addrconf.h linux-4.1.43/include/net/addrconf.h
+--- linux-4.1.43.orig/include/net/addrconf.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/net/addrconf.h 2017-08-06 20:02:17.000000000 +0200
+@@ -45,7 +45,7 @@
__be32 reserved2;
struct in6_addr prefix;
@@ -45889,28 +45889,9 @@ diff -Nur linux-4.1.13.orig/include/net/addrconf.h linux-4.1.13/include/net/addr
#include <linux/netdevice.h>
-diff -Nur linux-4.1.13.orig/include/net/inet_ecn.h linux-4.1.13/include/net/inet_ecn.h
---- linux-4.1.13.orig/include/net/inet_ecn.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/net/inet_ecn.h 2015-12-04 19:57:05.929976920 +0100
-@@ -115,13 +115,13 @@
- {
- if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
- return 0;
-- *(__be32*)iph |= htonl(INET_ECN_CE << 20);
-+ net_hdr_word(iph) |= htonl(INET_ECN_CE << 20);
- return 1;
- }
-
- static inline void IP6_ECN_clear(struct ipv6hdr *iph)
- {
-- *(__be32*)iph &= ~htonl(INET_ECN_MASK << 20);
-+ net_hdr_word(iph) &= ~htonl(INET_ECN_MASK << 20);
- }
-
- static inline void ipv6_copy_dscp(unsigned int dscp, struct ipv6hdr *inner)
-diff -Nur linux-4.1.13.orig/include/net/ipv6.h linux-4.1.13/include/net/ipv6.h
---- linux-4.1.13.orig/include/net/ipv6.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/net/ipv6.h 2015-12-04 19:57:05.929976920 +0100
+diff -Nur linux-4.1.43.orig/include/net/ipv6.h linux-4.1.43/include/net/ipv6.h
+--- linux-4.1.43.orig/include/net/ipv6.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/net/ipv6.h 2017-08-06 20:02:17.000000000 +0200
@@ -107,7 +107,7 @@
__u8 reserved;
__be16 frag_off;
@@ -45920,7 +45901,7 @@ diff -Nur linux-4.1.13.orig/include/net/ipv6.h linux-4.1.13/include/net/ipv6.h
#define IP6_MF 0x0001
#define IP6_OFFSET 0xFFF8
-@@ -396,8 +396,8 @@
+@@ -415,8 +415,8 @@
}
#endif
#endif
@@ -45931,7 +45912,7 @@ diff -Nur linux-4.1.13.orig/include/net/ipv6.h linux-4.1.13/include/net/ipv6.h
}
static inline void ipv6_addr_set(struct in6_addr *addr,
-@@ -456,6 +456,8 @@
+@@ -475,6 +475,8 @@
const __be32 *a1 = addr1->s6_addr32;
const __be32 *a2 = addr2->s6_addr32;
unsigned int pdw, pbi;
@@ -45940,7 +45921,7 @@ diff -Nur linux-4.1.13.orig/include/net/ipv6.h linux-4.1.13/include/net/ipv6.h
/* check complete u32 in prefix */
pdw = prefixlen >> 5;
-@@ -464,7 +466,9 @@
+@@ -483,7 +485,9 @@
/* check incomplete u32 in prefix */
pbi = prefixlen & 0x1f;
@@ -45951,7 +45932,7 @@ diff -Nur linux-4.1.13.orig/include/net/ipv6.h linux-4.1.13/include/net/ipv6.h
return false;
return true;
-@@ -607,13 +611,13 @@
+@@ -627,13 +631,13 @@
*/
static inline int __ipv6_addr_diff32(const void *token1, const void *token2, int addrlen)
{
@@ -45967,7 +45948,7 @@ diff -Nur linux-4.1.13.orig/include/net/ipv6.h linux-4.1.13/include/net/ipv6.h
if (xb)
return i * 32 + 31 - __fls(ntohl(xb));
}
-@@ -739,17 +743,18 @@
+@@ -759,17 +763,18 @@
static inline void ip6_flow_hdr(struct ipv6hdr *hdr, unsigned int tclass,
__be32 flowlabel)
{
@@ -45989,9 +45970,9 @@ diff -Nur linux-4.1.13.orig/include/net/ipv6.h linux-4.1.13/include/net/ipv6.h
}
static inline u8 ip6_tclass(__be32 flowinfo)
-diff -Nur linux-4.1.13.orig/include/net/ndisc.h linux-4.1.13/include/net/ndisc.h
---- linux-4.1.13.orig/include/net/ndisc.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/net/ndisc.h 2015-12-04 19:57:05.929976920 +0100
+diff -Nur linux-4.1.43.orig/include/net/ndisc.h linux-4.1.43/include/net/ndisc.h
+--- linux-4.1.43.orig/include/net/ndisc.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/net/ndisc.h 2017-08-06 20:02:17.000000000 +0200
@@ -76,7 +76,7 @@
struct icmp6hdr icmph;
__be32 reachable_time;
@@ -46016,9 +45997,9 @@ diff -Nur linux-4.1.13.orig/include/net/ndisc.h linux-4.1.13/include/net/ndisc.h
}
static inline struct neighbour *__ipv6_neigh_lookup_noref(struct net_device *dev, const void *pkey)
-diff -Nur linux-4.1.13.orig/include/net/neighbour.h linux-4.1.13/include/net/neighbour.h
---- linux-4.1.13.orig/include/net/neighbour.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/net/neighbour.h 2015-12-04 19:57:05.933976659 +0100
+diff -Nur linux-4.1.43.orig/include/net/neighbour.h linux-4.1.43/include/net/neighbour.h
+--- linux-4.1.43.orig/include/net/neighbour.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/net/neighbour.h 2017-08-06 20:02:17.000000000 +0200
@@ -262,8 +262,10 @@
const u32 *n32 = (const u32 *)n->primary_key;
const u32 *p32 = pkey;
@@ -46032,9 +46013,9 @@ diff -Nur linux-4.1.13.orig/include/net/neighbour.h linux-4.1.13/include/net/nei
}
static inline struct neighbour *___neigh_lookup_noref(
-diff -Nur linux-4.1.13.orig/include/net/secure_seq.h linux-4.1.13/include/net/secure_seq.h
---- linux-4.1.13.orig/include/net/secure_seq.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/net/secure_seq.h 2015-12-04 19:57:05.929976920 +0100
+diff -Nur linux-4.1.43.orig/include/net/secure_seq.h linux-4.1.43/include/net/secure_seq.h
+--- linux-4.1.43.orig/include/net/secure_seq.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/net/secure_seq.h 2017-08-06 20:02:17.000000000 +0200
@@ -2,6 +2,7 @@
#define _NET_SECURE_SEQ
@@ -46043,9 +46024,20 @@ diff -Nur linux-4.1.13.orig/include/net/secure_seq.h linux-4.1.13/include/net/se
u32 secure_ipv4_port_ephemeral(__be32 saddr, __be32 daddr, __be16 dport);
u32 secure_ipv6_port_ephemeral(const __be32 *saddr, const __be32 *daddr,
-diff -Nur linux-4.1.13.orig/include/uapi/linux/icmp.h linux-4.1.13/include/uapi/linux/icmp.h
---- linux-4.1.13.orig/include/uapi/linux/icmp.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/uapi/linux/icmp.h 2015-12-04 19:57:05.917977705 +0100
+diff -Nur linux-4.1.43.orig/include/uapi/linux/Kbuild linux-4.1.43/include/uapi/linux/Kbuild
+--- linux-4.1.43.orig/include/uapi/linux/Kbuild 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/uapi/linux/Kbuild 2017-08-06 20:02:17.000000000 +0200
+@@ -380,6 +380,7 @@
+ header-y += string.h
+ header-y += suspend_ioctls.h
+ header-y += swab.h
++header-y += switch.h
+ header-y += synclink.h
+ header-y += sysctl.h
+ header-y += sysinfo.h
+diff -Nur linux-4.1.43.orig/include/uapi/linux/icmp.h linux-4.1.43/include/uapi/linux/icmp.h
+--- linux-4.1.43.orig/include/uapi/linux/icmp.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/uapi/linux/icmp.h 2017-08-06 20:02:17.000000000 +0200
@@ -80,7 +80,7 @@
__be16 mtu;
} frag;
@@ -46055,9 +46047,9 @@ diff -Nur linux-4.1.13.orig/include/uapi/linux/icmp.h linux-4.1.13/include/uapi/
/*
-diff -Nur linux-4.1.13.orig/include/uapi/linux/icmpv6.h linux-4.1.13/include/uapi/linux/icmpv6.h
---- linux-4.1.13.orig/include/uapi/linux/icmpv6.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/uapi/linux/icmpv6.h 2015-12-04 19:57:05.929976920 +0100
+diff -Nur linux-4.1.43.orig/include/uapi/linux/icmpv6.h linux-4.1.43/include/uapi/linux/icmpv6.h
+--- linux-4.1.43.orig/include/uapi/linux/icmpv6.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/uapi/linux/icmpv6.h 2017-08-06 20:02:17.000000000 +0200
@@ -76,7 +76,7 @@
#define icmp6_addrconf_other icmp6_dataun.u_nd_ra.other
#define icmp6_rt_lifetime icmp6_dataun.u_nd_ra.rt_lifetime
@@ -46067,9 +46059,9 @@ diff -Nur linux-4.1.13.orig/include/uapi/linux/icmpv6.h linux-4.1.13/include/uap
#define ICMPV6_ROUTER_PREF_LOW 0x3
-diff -Nur linux-4.1.13.orig/include/uapi/linux/if_pppox.h linux-4.1.13/include/uapi/linux/if_pppox.h
---- linux-4.1.13.orig/include/uapi/linux/if_pppox.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/uapi/linux/if_pppox.h 2015-12-04 19:57:05.933976659 +0100
+diff -Nur linux-4.1.43.orig/include/uapi/linux/if_pppox.h linux-4.1.43/include/uapi/linux/if_pppox.h
+--- linux-4.1.43.orig/include/uapi/linux/if_pppox.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/uapi/linux/if_pppox.h 2017-08-06 20:02:17.000000000 +0200
@@ -47,6 +47,7 @@
*/
struct pptp_addr {
@@ -46078,9 +46070,9 @@ diff -Nur linux-4.1.13.orig/include/uapi/linux/if_pppox.h linux-4.1.13/include/u
struct in_addr sin_addr;
};
-diff -Nur linux-4.1.13.orig/include/uapi/linux/igmp.h linux-4.1.13/include/uapi/linux/igmp.h
---- linux-4.1.13.orig/include/uapi/linux/igmp.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/uapi/linux/igmp.h 2015-12-04 19:57:05.929976920 +0100
+diff -Nur linux-4.1.43.orig/include/uapi/linux/igmp.h linux-4.1.43/include/uapi/linux/igmp.h
+--- linux-4.1.43.orig/include/uapi/linux/igmp.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/uapi/linux/igmp.h 2017-08-06 20:02:17.000000000 +0200
@@ -32,7 +32,7 @@
__u8 code; /* For newer IGMP */
__sum16 csum;
@@ -46117,21 +46109,9 @@ diff -Nur linux-4.1.13.orig/include/uapi/linux/igmp.h linux-4.1.13/include/uapi/
#define IGMP_HOST_MEMBERSHIP_QUERY 0x11 /* From RFC1112 */
#define IGMP_HOST_MEMBERSHIP_REPORT 0x12 /* Ditto */
-diff -Nur linux-4.1.13.orig/include/uapi/linux/in6.h linux-4.1.13/include/uapi/linux/in6.h
---- linux-4.1.13.orig/include/uapi/linux/in6.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/uapi/linux/in6.h 2015-12-04 19:57:05.917977705 +0100
-@@ -42,7 +42,7 @@
- #define s6_addr16 in6_u.u6_addr16
- #define s6_addr32 in6_u.u6_addr32
- #endif
--};
-+} __attribute__((packed, aligned(2)));
- #endif /* __UAPI_DEF_IN6_ADDR */
-
- #if __UAPI_DEF_SOCKADDR_IN6
-diff -Nur linux-4.1.13.orig/include/uapi/linux/in.h linux-4.1.13/include/uapi/linux/in.h
---- linux-4.1.13.orig/include/uapi/linux/in.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/uapi/linux/in.h 2015-12-04 19:57:57.978571564 +0100
+diff -Nur linux-4.1.43.orig/include/uapi/linux/in.h linux-4.1.43/include/uapi/linux/in.h
+--- linux-4.1.43.orig/include/uapi/linux/in.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/uapi/linux/in.h 2017-08-06 20:02:17.000000000 +0200
@@ -78,7 +78,7 @@
/* Internet address. */
struct in_addr {
@@ -46141,9 +46121,21 @@ diff -Nur linux-4.1.13.orig/include/uapi/linux/in.h linux-4.1.13/include/uapi/li
#define IP_TOS 1
#define IP_TTL 2
-diff -Nur linux-4.1.13.orig/include/uapi/linux/ip.h linux-4.1.13/include/uapi/linux/ip.h
---- linux-4.1.13.orig/include/uapi/linux/ip.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/uapi/linux/ip.h 2015-12-04 19:57:05.913977967 +0100
+diff -Nur linux-4.1.43.orig/include/uapi/linux/in6.h linux-4.1.43/include/uapi/linux/in6.h
+--- linux-4.1.43.orig/include/uapi/linux/in6.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/uapi/linux/in6.h 2017-08-06 20:02:17.000000000 +0200
+@@ -42,7 +42,7 @@
+ #define s6_addr16 in6_u.u6_addr16
+ #define s6_addr32 in6_u.u6_addr32
+ #endif
+-};
++} __attribute__((packed, aligned(2)));
+ #endif /* __UAPI_DEF_IN6_ADDR */
+
+ #if __UAPI_DEF_SOCKADDR_IN6
+diff -Nur linux-4.1.43.orig/include/uapi/linux/ip.h linux-4.1.43/include/uapi/linux/ip.h
+--- linux-4.1.43.orig/include/uapi/linux/ip.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/uapi/linux/ip.h 2017-08-06 20:02:17.000000000 +0200
@@ -102,7 +102,7 @@
__be32 saddr;
__be32 daddr;
@@ -46153,9 +46145,9 @@ diff -Nur linux-4.1.13.orig/include/uapi/linux/ip.h linux-4.1.13/include/uapi/li
struct ip_auth_hdr {
-diff -Nur linux-4.1.13.orig/include/uapi/linux/ipv6.h linux-4.1.13/include/uapi/linux/ipv6.h
---- linux-4.1.13.orig/include/uapi/linux/ipv6.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/uapi/linux/ipv6.h 2015-12-04 19:57:05.913977967 +0100
+diff -Nur linux-4.1.43.orig/include/uapi/linux/ipv6.h linux-4.1.43/include/uapi/linux/ipv6.h
+--- linux-4.1.43.orig/include/uapi/linux/ipv6.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/uapi/linux/ipv6.h 2017-08-06 20:02:17.000000000 +0200
@@ -129,7 +129,7 @@
struct in6_addr saddr;
@@ -46165,20 +46157,9 @@ diff -Nur linux-4.1.13.orig/include/uapi/linux/ipv6.h linux-4.1.13/include/uapi/
/* index values for the variables in ipv6_devconf */
-diff -Nur linux-4.1.13.orig/include/uapi/linux/Kbuild linux-4.1.13/include/uapi/linux/Kbuild
---- linux-4.1.13.orig/include/uapi/linux/Kbuild 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/uapi/linux/Kbuild 2015-12-04 21:33:39.775625531 +0100
-@@ -380,6 +380,7 @@
- header-y += string.h
- header-y += suspend_ioctls.h
- header-y += swab.h
-+header-y += switch.h
- header-y += synclink.h
- header-y += sysctl.h
- header-y += sysinfo.h
-diff -Nur linux-4.1.13.orig/include/uapi/linux/netfilter_arp/arp_tables.h linux-4.1.13/include/uapi/linux/netfilter_arp/arp_tables.h
---- linux-4.1.13.orig/include/uapi/linux/netfilter_arp/arp_tables.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/uapi/linux/netfilter_arp/arp_tables.h 2015-12-04 19:57:05.933976659 +0100
+diff -Nur linux-4.1.43.orig/include/uapi/linux/netfilter_arp/arp_tables.h linux-4.1.43/include/uapi/linux/netfilter_arp/arp_tables.h
+--- linux-4.1.43.orig/include/uapi/linux/netfilter_arp/arp_tables.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/uapi/linux/netfilter_arp/arp_tables.h 2017-08-06 20:02:17.000000000 +0200
@@ -68,7 +68,7 @@
__u8 flags;
/* Inverse flags */
@@ -46188,9 +46169,9 @@ diff -Nur linux-4.1.13.orig/include/uapi/linux/netfilter_arp/arp_tables.h linux-
/* Values for "flag" field in struct arpt_ip (general arp structure).
* No flags defined yet.
-diff -Nur linux-4.1.13.orig/include/uapi/linux/switch.h linux-4.1.13/include/uapi/linux/switch.h
---- linux-4.1.13.orig/include/uapi/linux/switch.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/include/uapi/linux/switch.h 2015-12-04 20:52:30.298718052 +0100
+diff -Nur linux-4.1.43.orig/include/uapi/linux/switch.h linux-4.1.43/include/uapi/linux/switch.h
+--- linux-4.1.43.orig/include/uapi/linux/switch.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/include/uapi/linux/switch.h 2017-08-06 20:02:17.000000000 +0200
@@ -0,0 +1,103 @@
+/*
+ * switch.h: Switch configuration API
@@ -46295,9 +46276,9 @@ diff -Nur linux-4.1.13.orig/include/uapi/linux/switch.h linux-4.1.13/include/uap
+
+
+#endif /* _UAPI_LINUX_SWITCH_H */
-diff -Nur linux-4.1.13.orig/include/uapi/linux/tcp.h linux-4.1.13/include/uapi/linux/tcp.h
---- linux-4.1.13.orig/include/uapi/linux/tcp.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/uapi/linux/tcp.h 2015-12-04 19:57:05.913977967 +0100
+diff -Nur linux-4.1.43.orig/include/uapi/linux/tcp.h linux-4.1.43/include/uapi/linux/tcp.h
+--- linux-4.1.43.orig/include/uapi/linux/tcp.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/uapi/linux/tcp.h 2017-08-06 20:02:17.000000000 +0200
@@ -54,7 +54,7 @@
__be16 window;
__sum16 check;
@@ -46316,9 +46297,9 @@ diff -Nur linux-4.1.13.orig/include/uapi/linux/tcp.h linux-4.1.13/include/uapi/l
#define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3])
-diff -Nur linux-4.1.13.orig/include/uapi/linux/udp.h linux-4.1.13/include/uapi/linux/udp.h
---- linux-4.1.13.orig/include/uapi/linux/udp.h 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/include/uapi/linux/udp.h 2015-12-04 19:57:05.917977705 +0100
+diff -Nur linux-4.1.43.orig/include/uapi/linux/udp.h linux-4.1.43/include/uapi/linux/udp.h
+--- linux-4.1.43.orig/include/uapi/linux/udp.h 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/include/uapi/linux/udp.h 2017-08-06 20:02:17.000000000 +0200
@@ -24,7 +24,7 @@
__be16 dest;
__be16 len;
@@ -46328,9 +46309,9 @@ diff -Nur linux-4.1.13.orig/include/uapi/linux/udp.h linux-4.1.13/include/uapi/l
/* UDP socket options */
#define UDP_CORK 1 /* Never send partially complete segments */
-diff -Nur linux-4.1.13.orig/lib/Kconfig linux-4.1.13/lib/Kconfig
---- linux-4.1.13.orig/lib/Kconfig 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/lib/Kconfig 2015-12-04 19:57:03.826114569 +0100
+diff -Nur linux-4.1.43.orig/lib/Kconfig linux-4.1.43/lib/Kconfig
+--- linux-4.1.43.orig/lib/Kconfig 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/lib/Kconfig 2017-08-06 20:02:17.000000000 +0200
@@ -235,6 +235,9 @@
source "lib/xz/Kconfig"
@@ -46341,9 +46322,9 @@ diff -Nur linux-4.1.13.orig/lib/Kconfig linux-4.1.13/lib/Kconfig
#
# These all provide a common interface (hence the apparent duplication with
# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
-diff -Nur linux-4.1.13.orig/lib/rle.c linux-4.1.13/lib/rle.c
---- linux-4.1.13.orig/lib/rle.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/lib/rle.c 2015-12-04 19:57:03.830114307 +0100
+diff -Nur linux-4.1.43.orig/lib/rle.c linux-4.1.43/lib/rle.c
+--- linux-4.1.43.orig/lib/rle.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/lib/rle.c 2017-08-06 20:02:17.000000000 +0200
@@ -0,0 +1,78 @@
+/*
+ * RLE decoding routine
@@ -46423,9 +46404,9 @@ diff -Nur linux-4.1.13.orig/lib/rle.c linux-4.1.13/lib/rle.c
+}
+
+EXPORT_SYMBOL_GPL(rle_decode);
-diff -Nur linux-4.1.13.orig/net/core/flow_dissector.c linux-4.1.13/net/core/flow_dissector.c
---- linux-4.1.13.orig/net/core/flow_dissector.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/core/flow_dissector.c 2015-12-04 19:57:05.929976920 +0100
+diff -Nur linux-4.1.43.orig/net/core/flow_dissector.c linux-4.1.43/net/core/flow_dissector.c
+--- linux-4.1.43.orig/net/core/flow_dissector.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/core/flow_dissector.c 2017-08-06 20:02:17.000000000 +0200
@@ -53,7 +53,7 @@
ports = __skb_header_pointer(skb, thoff + poff,
sizeof(_ports), data, hlen, &_ports);
@@ -46435,9 +46416,9 @@ diff -Nur linux-4.1.13.orig/net/core/flow_dissector.c linux-4.1.13/net/core/flow
}
return 0;
-diff -Nur linux-4.1.13.orig/net/core/secure_seq.c linux-4.1.13/net/core/secure_seq.c
---- linux-4.1.13.orig/net/core/secure_seq.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/core/secure_seq.c 2015-12-04 19:57:05.929976920 +0100
+diff -Nur linux-4.1.43.orig/net/core/secure_seq.c linux-4.1.43/net/core/secure_seq.c
+--- linux-4.1.43.orig/net/core/secure_seq.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/core/secure_seq.c 2017-08-06 20:02:17.000000000 +0200
@@ -46,11 +46,12 @@
u32 secret[MD5_MESSAGE_BYTES / 4];
u32 hash[MD5_DIGEST_WORDS];
@@ -46480,9 +46461,9 @@ diff -Nur linux-4.1.13.orig/net/core/secure_seq.c linux-4.1.13/net/core/secure_s
secret[4] = net_secret[4] +
(((__force u16)sport << 16) + (__force u16)dport);
for (i = 5; i < MD5_MESSAGE_BYTES / 4; i++)
-diff -Nur linux-4.1.13.orig/net/dsa/mv88e6063.c linux-4.1.13/net/dsa/mv88e6063.c
---- linux-4.1.13.orig/net/dsa/mv88e6063.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.13/net/dsa/mv88e6063.c 2015-09-13 20:04:35.076523692 +0200
+diff -Nur linux-4.1.43.orig/net/dsa/mv88e6063.c linux-4.1.43/net/dsa/mv88e6063.c
+--- linux-4.1.43.orig/net/dsa/mv88e6063.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.1.43/net/dsa/mv88e6063.c 2017-08-06 20:02:17.000000000 +0200
@@ -0,0 +1,294 @@
+/*
+ * net/dsa/mv88e6063.c - Driver for Marvell 88e6063 switch chips
@@ -46778,9 +46759,9 @@ diff -Nur linux-4.1.13.orig/net/dsa/mv88e6063.c linux-4.1.13/net/dsa/mv88e6063.c
+ unregister_switch_driver(&mv88e6063_switch_driver);
+}
+module_exit(mv88e6063_cleanup);
-diff -Nur linux-4.1.13.orig/net/dsa/tag_trailer.c linux-4.1.13/net/dsa/tag_trailer.c
---- linux-4.1.13.orig/net/dsa/tag_trailer.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/dsa/tag_trailer.c 2015-12-04 19:57:03.886110643 +0100
+diff -Nur linux-4.1.43.orig/net/dsa/tag_trailer.c linux-4.1.43/net/dsa/tag_trailer.c
+--- linux-4.1.43.orig/net/dsa/tag_trailer.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/dsa/tag_trailer.c 2017-08-06 20:02:17.000000000 +0200
@@ -84,7 +84,7 @@
trailer = skb_tail_pointer(skb) - 4;
@@ -46790,10 +46771,10 @@ diff -Nur linux-4.1.13.orig/net/dsa/tag_trailer.c linux-4.1.13/net/dsa/tag_trail
goto out_drop;
source_port = trailer[1] & 7;
-diff -Nur linux-4.1.13.orig/net/ipv4/af_inet.c linux-4.1.13/net/ipv4/af_inet.c
---- linux-4.1.13.orig/net/ipv4/af_inet.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/ipv4/af_inet.c 2015-12-04 19:57:05.925977182 +0100
-@@ -1323,8 +1323,8 @@
+diff -Nur linux-4.1.43.orig/net/ipv4/af_inet.c linux-4.1.43/net/ipv4/af_inet.c
+--- linux-4.1.43.orig/net/ipv4/af_inet.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/ipv4/af_inet.c 2017-08-06 20:02:17.000000000 +0200
+@@ -1326,8 +1326,8 @@
if (unlikely(ip_fast_csum((u8 *)iph, 5)))
goto out_unlock;
@@ -46804,10 +46785,10 @@ diff -Nur linux-4.1.13.orig/net/ipv4/af_inet.c linux-4.1.13/net/ipv4/af_inet.c
id >>= 16;
for (p = *head; p; p = p->next) {
-diff -Nur linux-4.1.13.orig/net/ipv4/igmp.c linux-4.1.13/net/ipv4/igmp.c
---- linux-4.1.13.orig/net/ipv4/igmp.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/ipv4/igmp.c 2015-12-04 19:57:05.929976920 +0100
-@@ -496,7 +496,7 @@
+diff -Nur linux-4.1.43.orig/net/ipv4/igmp.c linux-4.1.43/net/ipv4/igmp.c
+--- linux-4.1.43.orig/net/ipv4/igmp.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/ipv4/igmp.c 2017-08-06 20:02:17.000000000 +0200
+@@ -495,7 +495,7 @@
if (!skb)
return NULL;
psrc = (__be32 *)skb_put(skb, sizeof(__be32));
@@ -46816,9 +46797,9 @@ diff -Nur linux-4.1.13.orig/net/ipv4/igmp.c linux-4.1.13/net/ipv4/igmp.c
scount++; stotal++;
if ((type == IGMPV3_ALLOW_NEW_SOURCES ||
type == IGMPV3_BLOCK_OLD_SOURCES) && psf->sf_crcount) {
-diff -Nur linux-4.1.13.orig/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c linux-4.1.13/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
---- linux-4.1.13.orig/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c 2015-12-04 19:57:05.917977705 +0100
+diff -Nur linux-4.1.43.orig/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c linux-4.1.43/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
+--- linux-4.1.43.orig/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c 2017-08-06 20:02:17.000000000 +0200
@@ -41,8 +41,8 @@
if (ap == NULL)
return false;
@@ -46830,10 +46811,10 @@ diff -Nur linux-4.1.13.orig/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c linux
return true;
}
-diff -Nur linux-4.1.13.orig/net/ipv4/route.c linux-4.1.13/net/ipv4/route.c
---- linux-4.1.13.orig/net/ipv4/route.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/ipv4/route.c 2015-12-04 19:57:05.925977182 +0100
-@@ -450,7 +450,7 @@
+diff -Nur linux-4.1.43.orig/net/ipv4/route.c linux-4.1.43/net/ipv4/route.c
+--- linux-4.1.43.orig/net/ipv4/route.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/ipv4/route.c 2017-08-06 20:02:17.000000000 +0200
+@@ -451,7 +451,7 @@
else if (skb)
pkey = &ip_hdr(skb)->daddr;
@@ -46842,10 +46823,10 @@ diff -Nur linux-4.1.13.orig/net/ipv4/route.c linux-4.1.13/net/ipv4/route.c
if (n)
return n;
return neigh_create(&arp_tbl, pkey, dev);
-diff -Nur linux-4.1.13.orig/net/ipv4/tcp_input.c linux-4.1.13/net/ipv4/tcp_input.c
---- linux-4.1.13.orig/net/ipv4/tcp_input.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/ipv4/tcp_input.c 2015-12-04 19:57:05.933976659 +0100
-@@ -3760,14 +3760,16 @@
+diff -Nur linux-4.1.43.orig/net/ipv4/tcp_input.c linux-4.1.43/net/ipv4/tcp_input.c
+--- linux-4.1.43.orig/net/ipv4/tcp_input.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/ipv4/tcp_input.c 2017-08-06 20:02:17.000000000 +0200
+@@ -3771,14 +3771,16 @@
{
const __be32 *ptr = (const __be32 *)(th + 1);
@@ -46867,9 +46848,9 @@ diff -Nur linux-4.1.13.orig/net/ipv4/tcp_input.c linux-4.1.13/net/ipv4/tcp_input
else
tp->rx_opt.rcv_tsecr = 0;
return true;
-diff -Nur linux-4.1.13.orig/net/ipv4/tcp_output.c linux-4.1.13/net/ipv4/tcp_output.c
---- linux-4.1.13.orig/net/ipv4/tcp_output.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/ipv4/tcp_output.c 2015-12-04 19:57:05.929976920 +0100
+diff -Nur linux-4.1.43.orig/net/ipv4/tcp_output.c linux-4.1.43/net/ipv4/tcp_output.c
+--- linux-4.1.43.orig/net/ipv4/tcp_output.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/ipv4/tcp_output.c 2017-08-06 20:02:17.000000000 +0200
@@ -452,48 +452,53 @@
u16 options = opts->options; /* mungable copy */
@@ -46989,10 +46970,10 @@ diff -Nur linux-4.1.13.orig/net/ipv4/tcp_output.c linux-4.1.13/net/ipv4/tcp_outp
}
memcpy(p, foc->val, foc->len);
-diff -Nur linux-4.1.13.orig/net/ipv6/datagram.c linux-4.1.13/net/ipv6/datagram.c
---- linux-4.1.13.orig/net/ipv6/datagram.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/ipv6/datagram.c 2015-12-04 19:57:05.921977444 +0100
-@@ -424,7 +424,7 @@
+diff -Nur linux-4.1.43.orig/net/ipv6/datagram.c linux-4.1.43/net/ipv6/datagram.c
+--- linux-4.1.43.orig/net/ipv6/datagram.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/ipv6/datagram.c 2017-08-06 20:02:17.000000000 +0200
+@@ -433,7 +433,7 @@
ipv6_iface_scope_id(&sin->sin6_addr,
IP6CB(skb)->iif);
} else {
@@ -47001,7 +46982,7 @@ diff -Nur linux-4.1.13.orig/net/ipv6/datagram.c linux-4.1.13/net/ipv6/datagram.c
&sin->sin6_addr);
sin->sin6_scope_id = 0;
}
-@@ -761,12 +761,12 @@
+@@ -770,12 +770,12 @@
}
if (fl6->flowlabel&IPV6_FLOWINFO_MASK) {
@@ -47016,9 +46997,9 @@ diff -Nur linux-4.1.13.orig/net/ipv6/datagram.c linux-4.1.13/net/ipv6/datagram.c
break;
case IPV6_2292HOPOPTS:
-diff -Nur linux-4.1.13.orig/net/ipv6/exthdrs.c linux-4.1.13/net/ipv6/exthdrs.c
---- linux-4.1.13.orig/net/ipv6/exthdrs.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/ipv6/exthdrs.c 2015-12-04 19:57:05.921977444 +0100
+diff -Nur linux-4.1.43.orig/net/ipv6/exthdrs.c linux-4.1.43/net/ipv6/exthdrs.c
+--- linux-4.1.43.orig/net/ipv6/exthdrs.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/ipv6/exthdrs.c 2017-08-06 20:02:17.000000000 +0200
@@ -573,7 +573,7 @@
goto drop;
}
@@ -47028,9 +47009,9 @@ diff -Nur linux-4.1.13.orig/net/ipv6/exthdrs.c linux-4.1.13/net/ipv6/exthdrs.c
if (pkt_len <= IPV6_MAXPLEN) {
IP6_INC_STATS_BH(net, ipv6_skb_idev(skb),
IPSTATS_MIB_INHDRERRORS);
-diff -Nur linux-4.1.13.orig/net/ipv6/ip6_fib.c linux-4.1.13/net/ipv6/ip6_fib.c
---- linux-4.1.13.orig/net/ipv6/ip6_fib.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/ipv6/ip6_fib.c 2015-12-04 19:57:05.929976920 +0100
+diff -Nur linux-4.1.43.orig/net/ipv6/ip6_fib.c linux-4.1.43/net/ipv6/ip6_fib.c
+--- linux-4.1.43.orig/net/ipv6/ip6_fib.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/ipv6/ip6_fib.c 2017-08-06 20:02:17.000000000 +0200
@@ -137,7 +137,7 @@
* See include/asm-generic/bitops/le.h.
*/
@@ -47040,9 +47021,9 @@ diff -Nur linux-4.1.13.orig/net/ipv6/ip6_fib.c linux-4.1.13/net/ipv6/ip6_fib.c
}
static struct fib6_node *node_alloc(void)
-diff -Nur linux-4.1.13.orig/net/ipv6/ip6_gre.c linux-4.1.13/net/ipv6/ip6_gre.c
---- linux-4.1.13.orig/net/ipv6/ip6_gre.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/ipv6/ip6_gre.c 2015-12-04 19:57:05.921977444 +0100
+diff -Nur linux-4.1.43.orig/net/ipv6/ip6_gre.c linux-4.1.43/net/ipv6/ip6_gre.c
+--- linux-4.1.43.orig/net/ipv6/ip6_gre.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/ipv6/ip6_gre.c 2017-08-06 20:02:17.000000000 +0200
@@ -394,7 +394,7 @@
t = ip6gre_tunnel_lookup(skb->dev, &ipv6h->daddr, &ipv6h->saddr,
@@ -47075,7 +47056,7 @@ diff -Nur linux-4.1.13.orig/net/ipv6/ip6_gre.c linux-4.1.13/net/ipv6/ip6_gre.c
ptr--;
}
if (tunnel->parms.o_flags&GRE_KEY) {
-@@ -841,7 +841,7 @@
+@@ -843,7 +843,7 @@
dsfield = ipv6_get_dsfield(ipv6h);
if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
@@ -47084,10 +47065,10 @@ diff -Nur linux-4.1.13.orig/net/ipv6/ip6_gre.c linux-4.1.13/net/ipv6/ip6_gre.c
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FLOWLABEL)
fl6.flowlabel |= ip6_flowlabel(ipv6h);
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
-diff -Nur linux-4.1.13.orig/net/ipv6/ip6_offload.c linux-4.1.13/net/ipv6/ip6_offload.c
---- linux-4.1.13.orig/net/ipv6/ip6_offload.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/ipv6/ip6_offload.c 2015-12-04 19:57:05.929976920 +0100
-@@ -221,7 +221,7 @@
+diff -Nur linux-4.1.43.orig/net/ipv6/ip6_offload.c linux-4.1.43/net/ipv6/ip6_offload.c
+--- linux-4.1.43.orig/net/ipv6/ip6_offload.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/ipv6/ip6_offload.c 2017-08-06 20:02:17.000000000 +0200
+@@ -224,7 +224,7 @@
continue;
iph2 = (struct ipv6hdr *)(p->data + off);
@@ -47096,10 +47077,10 @@ diff -Nur linux-4.1.13.orig/net/ipv6/ip6_offload.c linux-4.1.13/net/ipv6/ip6_off
/* All fields must match except length and Traffic Class.
* XXX skbs on the gro_list have all been parsed and pulled
-diff -Nur linux-4.1.13.orig/net/ipv6/ip6_tunnel.c linux-4.1.13/net/ipv6/ip6_tunnel.c
---- linux-4.1.13.orig/net/ipv6/ip6_tunnel.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/ipv6/ip6_tunnel.c 2015-12-04 19:57:05.921977444 +0100
-@@ -1190,7 +1190,7 @@
+diff -Nur linux-4.1.43.orig/net/ipv6/ip6_tunnel.c linux-4.1.43/net/ipv6/ip6_tunnel.c
+--- linux-4.1.43.orig/net/ipv6/ip6_tunnel.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/ipv6/ip6_tunnel.c 2017-08-06 20:02:17.000000000 +0200
+@@ -1192,7 +1192,7 @@
dsfield = ipv6_get_dsfield(ipv6h);
if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
@@ -47108,9 +47089,9 @@ diff -Nur linux-4.1.13.orig/net/ipv6/ip6_tunnel.c linux-4.1.13/net/ipv6/ip6_tunn
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FLOWLABEL)
fl6.flowlabel |= ip6_flowlabel(ipv6h);
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
-diff -Nur linux-4.1.13.orig/net/ipv6/netfilter/nf_log_ipv6.c linux-4.1.13/net/ipv6/netfilter/nf_log_ipv6.c
---- linux-4.1.13.orig/net/ipv6/netfilter/nf_log_ipv6.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/ipv6/netfilter/nf_log_ipv6.c 2015-12-04 19:57:05.933976659 +0100
+diff -Nur linux-4.1.43.orig/net/ipv6/netfilter/nf_log_ipv6.c linux-4.1.43/net/ipv6/netfilter/nf_log_ipv6.c
+--- linux-4.1.43.orig/net/ipv6/netfilter/nf_log_ipv6.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/ipv6/netfilter/nf_log_ipv6.c 2017-08-06 20:02:17.000000000 +0200
@@ -66,9 +66,9 @@
/* Max length: 44 "LEN=65535 TC=255 HOPLIMIT=255 FLOWLBL=FFFFF " */
nf_log_buf_add(m, "LEN=%Zu TC=%u HOPLIMIT=%u FLOWLBL=%u ",
@@ -47123,9 +47104,9 @@ diff -Nur linux-4.1.13.orig/net/ipv6/netfilter/nf_log_ipv6.c linux-4.1.13/net/ip
fragment = 0;
ptr = ip6hoff + sizeof(struct ipv6hdr);
-diff -Nur linux-4.1.13.orig/net/ipv6/tcp_ipv6.c linux-4.1.13/net/ipv6/tcp_ipv6.c
---- linux-4.1.13.orig/net/ipv6/tcp_ipv6.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/ipv6/tcp_ipv6.c 2015-12-04 19:57:05.917977705 +0100
+diff -Nur linux-4.1.43.orig/net/ipv6/tcp_ipv6.c linux-4.1.43/net/ipv6/tcp_ipv6.c
+--- linux-4.1.43.orig/net/ipv6/tcp_ipv6.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/ipv6/tcp_ipv6.c 2017-08-06 20:02:17.000000000 +0200
@@ -39,6 +39,7 @@
#include <linux/ipsec.h>
#include <linux/times.h>
@@ -47134,7 +47115,7 @@ diff -Nur linux-4.1.13.orig/net/ipv6/tcp_ipv6.c linux-4.1.13/net/ipv6/tcp_ipv6.c
#include <linux/uaccess.h>
#include <linux/ipv6.h>
#include <linux/icmpv6.h>
-@@ -772,10 +773,10 @@
+@@ -781,10 +782,10 @@
topt = (__be32 *)(t1 + 1);
if (tsecr) {
@@ -47149,9 +47130,9 @@ diff -Nur linux-4.1.13.orig/net/ipv6/tcp_ipv6.c linux-4.1.13/net/ipv6/tcp_ipv6.c
}
#ifdef CONFIG_TCP_MD5SIG
-diff -Nur linux-4.1.13.orig/net/netfilter/nf_conntrack_proto_tcp.c linux-4.1.13/net/netfilter/nf_conntrack_proto_tcp.c
---- linux-4.1.13.orig/net/netfilter/nf_conntrack_proto_tcp.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/netfilter/nf_conntrack_proto_tcp.c 2015-12-04 19:57:05.929976920 +0100
+diff -Nur linux-4.1.43.orig/net/netfilter/nf_conntrack_proto_tcp.c linux-4.1.43/net/netfilter/nf_conntrack_proto_tcp.c
+--- linux-4.1.43.orig/net/netfilter/nf_conntrack_proto_tcp.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/netfilter/nf_conntrack_proto_tcp.c 2017-08-06 20:02:17.000000000 +0200
@@ -453,7 +453,7 @@
/* Fast path for timestamp-only option */
@@ -47161,9 +47142,9 @@ diff -Nur linux-4.1.13.orig/net/netfilter/nf_conntrack_proto_tcp.c linux-4.1.13/
| (TCPOPT_NOP << 16)
| (TCPOPT_TIMESTAMP << 8)
| TCPOLEN_TIMESTAMP))
-diff -Nur linux-4.1.13.orig/net/sched/cls_u32.c linux-4.1.13/net/sched/cls_u32.c
---- linux-4.1.13.orig/net/sched/cls_u32.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/sched/cls_u32.c 2015-12-04 19:57:05.929976920 +0100
+diff -Nur linux-4.1.43.orig/net/sched/cls_u32.c linux-4.1.43/net/sched/cls_u32.c
+--- linux-4.1.43.orig/net/sched/cls_u32.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/sched/cls_u32.c 2017-08-06 20:02:17.000000000 +0200
@@ -151,7 +151,7 @@
data = skb_header_pointer(skb, toff, 4, &hdata);
if (!data)
@@ -47184,9 +47165,9 @@ diff -Nur linux-4.1.13.orig/net/sched/cls_u32.c linux-4.1.13/net/sched/cls_u32.c
}
if (!(n->sel.flags & (TC_U32_VAROFFSET | TC_U32_OFFSET | TC_U32_EAT)))
goto next_ht;
-diff -Nur linux-4.1.13.orig/net/xfrm/xfrm_input.c linux-4.1.13/net/xfrm/xfrm_input.c
---- linux-4.1.13.orig/net/xfrm/xfrm_input.c 2015-11-09 23:34:10.000000000 +0100
-+++ linux-4.1.13/net/xfrm/xfrm_input.c 2015-12-04 19:57:05.929976920 +0100
+diff -Nur linux-4.1.43.orig/net/xfrm/xfrm_input.c linux-4.1.43/net/xfrm/xfrm_input.c
+--- linux-4.1.43.orig/net/xfrm/xfrm_input.c 2017-08-06 01:56:14.000000000 +0200
++++ linux-4.1.43/net/xfrm/xfrm_input.c 2017-08-06 20:02:17.000000000 +0200
@@ -154,8 +154,8 @@
if (!pskb_may_pull(skb, hlen))
return -EINVAL;