diff mbox series

[LEDE-DEV,v2] kernel: bump 4.14 to 4.14.39

Message ID 1525797721-25871-1-git-send-email-koen.vandeputte@ncentric.com
State Superseded
Headers show
Series [LEDE-DEV,v2] kernel: bump 4.14 to 4.14.39 | expand

Commit Message

Koen Vandeputte May 8, 2018, 4:42 p.m. UTC
Refreshed all patches

Dropped upstreamed patches:
522-PCI-aardvark-fix-logic-in-PCI-configuration-read-write-functions.patch
523-PCI-aardvark-set-PIO_ADDR_LS-correctly-in-advk_pcie_rd_conf.patch
525-PCI-aardvark-use-isr1-instead-of-isr0-interrupt-in-legacy-irq-mode.patch
527-PCI-aardvark-fix-PCIe-max-read-request-size-setting.patch

updated patches:
524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch

Compile-tested on: cns3xxx, imx6, mvebu, x86_64
Runtime-tested on: cns3xxx, imx6, x86_64

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
---

note:
Please apply following patch first:  be374d13fef3 "kernel: bump to 4.9.98"

V2:
- Rebased using the 4.9.98 bump patch from Kevin DB
- Fully refreshed including patch changes from commit f9dcdc7fefca ("kernel: mark source kernel for netfilter backports")
- Removed bump script from patch ..
- Recompiled and retested mentioned targets



 include/kernel-version.mk                          |   4 +-
 ...d-firmware-loader-for-uPD720201-and-uPD72.patch |   6 +-
 .../802-usb-xhci-force-msi-renesas-xhci.patch      |   2 +-
 ...1-tty-serial-drop-QCA-pecific-SoC-symbols.patch |   7 +-
 .../0002-watchdog-ath79-fix-maximum-timeout.patch  |   7 +-
 ...03-leds-add-reset-controller-based-driver.patch |  16 +-
 .../patches-4.14/0004-phy-add-ath79-usb-phys.patch |  20 +-
 .../0005-usb-add-more-OF-quirk-properties.patch    |   7 +-
 .../0006-usb-drop-deprecated-symbols.patch         |   9 +-
 ...-ath79-intc-add-irq-cascade-driver-for-QC.patch |   8 -
 ...irqchip-irq-ath79-cpu-drop-OF-init-helper.patch |   5 -
 ...-MIPS-ath79-add-lots-of-missing-registers.patch |   8 +-
 ...0-MIPS-ath79-select-the-PINCTRL-subsystem.patch |   7 +-
 ...fix-register-address-in-ath79_ddr_wb_flus.patch |   5 -
 ...th79-Avoid-using-unitialized-reg-variable.patch |   5 -
 .../0013-MIPS-ath79-fix-system-restart.patch       |  11 +-
 .../0014-MIPS-ath79-finetune-cpu-overrides.patch   |   5 -
 ...MIPS-ath79-enable-uart-during-early_prink.patch |   7 +-
 ...16-MIPS-ath79-add-support-for-QCA953x-SoC.patch |  27 +--
 ...17-MIPS-ath79-add-support-for-qca956x-soc.patch |  29 +--
 ...PS-ath79-get-PCIe-controller-out-of-reset.patch |   9 +-
 ...turn-pci-ar71xx-driver-into-a-pure-OF-dri.patch |  17 +-
 ...turn-pci-ar724x-driver-into-a-pure-OF-dri.patch |  13 +-
 .../patches-4.14/0022-MIPS-ath79-drop-pci.c.patch  |  20 +-
 .../0023-MIPS-ath79-drop-mach-files.patch          |  32 +--
 .../0024-MIPS-ath79-drop-pdata-helpers.patch       |  41 ----
 .../patches-4.14/0025-MIPS-ath79-drop-irq.c.patch  |  10 -
 .../0026-MIPS-ath79-sanitize-Kconfig-symbols.patch |  24 +-
 ...0027-MIPS-ath79-drop-mips_machine-support.patch |  22 +-
 ...add-helpers-for-setting-clocks-and-expose.patch |   4 +-
 .../004-register_gpio_driver_earlier.patch         |   6 +-
 .../405-mtd-tp-link-partition-parser.patch         |  12 +-
 .../patches-4.14/420-net-ar71xx_mac_driver.patch   |   2 +-
 .../430-drivers-link-spi-before-mtd.patch          |   2 +-
 .../461-spi-ath79-add-fast-flash-read.patch        |   6 +-
 ...MIPS-ath79-swizzle-pci-address-for-ar71xx.patch |  10 +-
 .../490-usb-ehci-add-quirks-for-qca-socs.patch     |   6 +-
 ...tbang-prevent-rescheduling-during-command.patch |   6 +-
 .../902-at803x-add-reset-gpio-pdata.patch          |   6 +-
 .../patches-4.14/910-unaligned_access_hacks.patch  | 258 +++++++--------------
 ...ycon-initialise-baud-field-of-earlycon-de.patch |   2 +-
 .../brcm47xx/patches-4.14/159-cpu_fixes.patch      |   8 +-
 ...b-host-fotg2-restart-hcd-after-port-reset.patch |   7 +-
 ...ts-Fix-bootargs-for-Gemini-D-Link-devices.patch |   7 -
 ...-dts-Add-ethernet-to-a-bunch-of-platforms.patch |   7 -
 ...rm-dts-gemini-dlink-dir-685-add-rtl8366rb.patch |   2 +-
 ...ata-corruption-related-to-cache-coherence.patch |   6 +-
 ..._cmdset_0002-add-buffer-write-cmd-timeout.patch |   2 +-
 .../pending-4.14/630-packet_socket_type.patch      |  16 +-
 ...pppoe-support-hardware-flow-table-offload.patch |   2 +-
 ...jecting-with-source-address-failed-policy.patch |  16 +-
 ...in-PCI-configuration-read-write-functions.patch |  66 ------
 ...IO_ADDR_LS-correctly-in-advk_pcie_rd_conf.patch |  53 -----
 ...t-and-device-to-the-same-MAX-payload-size.patch |  11 +-
 ...tead-of-isr0-interrupt-in-legacy-irq-mode.patch | 143 ------------
 ...rk-fix-PCIe-max-read-request-size-setting.patch |  63 -----
 ...td-fix-cfi-cmdset-0002-erase-status-check.patch |   4 +-
 ...0037-mtd-cfi-cmdset-0002-force-word-write.patch |   6 +-
 .../patches-4.14/0043-spi-add-mt7621-support.patch |  16 +-
 59 files changed, 233 insertions(+), 905 deletions(-)
 mode change 100755 => 100644 target/linux/generic/pending-4.14/103-MIPS-c-r4k-fix-data-corruption-related-to-cache-coherence.patch
 delete mode 100644 target/linux/mvebu/patches-4.14/522-PCI-aardvark-fix-logic-in-PCI-configuration-read-write-functions.patch
 delete mode 100644 target/linux/mvebu/patches-4.14/523-PCI-aardvark-set-PIO_ADDR_LS-correctly-in-advk_pcie_rd_conf.patch
 delete mode 100644 target/linux/mvebu/patches-4.14/525-PCI-aardvark-use-isr1-instead-of-isr0-interrupt-in-legacy-irq-mode.patch
 delete mode 100644 target/linux/mvebu/patches-4.14/527-PCI-aardvark-fix-PCIe-max-read-request-size-setting.patch

Comments

Michael Yartys via Lede-dev May 8, 2018, 9:44 p.m. UTC | #1
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.
No issues.

Tested-by: Michael Yartys <michael.yartys@protonmail.com>

Target: ipq806x (NETGEAR R7800)
Stijn Segers May 9, 2018, 10:04 a.m. UTC | #2
Op di, 8 mei 2018 om 6:42 , schreef Koen Vandeputte 
<koen.vandeputte@ncentric.com>:
> Refreshed all patches
> 
> Dropped upstreamed patches:
> 522-PCI-aardvark-fix-logic-in-PCI-configuration-read-write-functions.patch
> 523-PCI-aardvark-set-PIO_ADDR_LS-correctly-in-advk_pcie_rd_conf.patch
> 525-PCI-aardvark-use-isr1-instead-of-isr0-interrupt-in-legacy-irq-mode.patch
> 527-PCI-aardvark-fix-PCIe-max-read-request-size-setting.patch
> 
> updated patches:
> 524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch
> 
> Compile-tested on: cns3xxx, imx6, mvebu, x86_64
> Runtime-tested on: cns3xxx, imx6,

Compile-tested: x86/64, ramips/mt7621
Run-tested: ramips/mt7621

> 
> Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>

Tested-by: Stijn Segers <foss@volatilesystems.org>

> 
> ---
> 
> note:
> Please apply following patch first:  be374d13fef3 "kernel: bump to 
> 4.9.98"
> 
> V2:
> - Rebased using the 4.9.98 bump patch from Kevin DB
> - Fully refreshed including patch changes from commit f9dcdc7fefca 
> ("kernel: mark source kernel for netfilter backports")
> - Removed bump script from patch ..
> - Recompiled and retested mentioned targets
> 
> 
> 
>  include/kernel-version.mk                          |   4 +-
>  ...d-firmware-loader-for-uPD720201-and-uPD72.patch |   6 +-
>  .../802-usb-xhci-force-msi-renesas-xhci.patch      |   2 +-
>  ...1-tty-serial-drop-QCA-pecific-SoC-symbols.patch |   7 +-
>  .../0002-watchdog-ath79-fix-maximum-timeout.patch  |   7 +-
>  ...03-leds-add-reset-controller-based-driver.patch |  16 +-
>  .../patches-4.14/0004-phy-add-ath79-usb-phys.patch |  20 +-
>  .../0005-usb-add-more-OF-quirk-properties.patch    |   7 +-
>  .../0006-usb-drop-deprecated-symbols.patch         |   9 +-
>  ...-ath79-intc-add-irq-cascade-driver-for-QC.patch |   8 -
>  ...irqchip-irq-ath79-cpu-drop-OF-init-helper.patch |   5 -
>  ...-MIPS-ath79-add-lots-of-missing-registers.patch |   8 +-
>  ...0-MIPS-ath79-select-the-PINCTRL-subsystem.patch |   7 +-
>  ...fix-register-address-in-ath79_ddr_wb_flus.patch |   5 -
>  ...th79-Avoid-using-unitialized-reg-variable.patch |   5 -
>  .../0013-MIPS-ath79-fix-system-restart.patch       |  11 +-
>  .../0014-MIPS-ath79-finetune-cpu-overrides.patch   |   5 -
>  ...MIPS-ath79-enable-uart-during-early_prink.patch |   7 +-
>  ...16-MIPS-ath79-add-support-for-QCA953x-SoC.patch |  27 +--
>  ...17-MIPS-ath79-add-support-for-qca956x-soc.patch |  29 +--
>  ...PS-ath79-get-PCIe-controller-out-of-reset.patch |   9 +-
>  ...turn-pci-ar71xx-driver-into-a-pure-OF-dri.patch |  17 +-
>  ...turn-pci-ar724x-driver-into-a-pure-OF-dri.patch |  13 +-
>  .../patches-4.14/0022-MIPS-ath79-drop-pci.c.patch  |  20 +-
>  .../0023-MIPS-ath79-drop-mach-files.patch          |  32 +--
>  .../0024-MIPS-ath79-drop-pdata-helpers.patch       |  41 ----
>  .../patches-4.14/0025-MIPS-ath79-drop-irq.c.patch  |  10 -
>  .../0026-MIPS-ath79-sanitize-Kconfig-symbols.patch |  24 +-
>  ...0027-MIPS-ath79-drop-mips_machine-support.patch |  22 +-
>  ...add-helpers-for-setting-clocks-and-expose.patch |   4 +-
>  .../004-register_gpio_driver_earlier.patch         |   6 +-
>  .../405-mtd-tp-link-partition-parser.patch         |  12 +-
>  .../patches-4.14/420-net-ar71xx_mac_driver.patch   |   2 +-
>  .../430-drivers-link-spi-before-mtd.patch          |   2 +-
>  .../461-spi-ath79-add-fast-flash-read.patch        |   6 +-
>  ...MIPS-ath79-swizzle-pci-address-for-ar71xx.patch |  10 +-
>  .../490-usb-ehci-add-quirks-for-qca-socs.patch     |   6 +-
>  ...tbang-prevent-rescheduling-during-command.patch |   6 +-
>  .../902-at803x-add-reset-gpio-pdata.patch          |   6 +-
>  .../patches-4.14/910-unaligned_access_hacks.patch  | 258 
> +++++++--------------
>  ...ycon-initialise-baud-field-of-earlycon-de.patch |   2 +-
>  .../brcm47xx/patches-4.14/159-cpu_fixes.patch      |   8 +-
>  ...b-host-fotg2-restart-hcd-after-port-reset.patch |   7 +-
>  ...ts-Fix-bootargs-for-Gemini-D-Link-devices.patch |   7 -
>  ...-dts-Add-ethernet-to-a-bunch-of-platforms.patch |   7 -
>  ...rm-dts-gemini-dlink-dir-685-add-rtl8366rb.patch |   2 +-
>  ...ata-corruption-related-to-cache-coherence.patch |   6 +-
>  ..._cmdset_0002-add-buffer-write-cmd-timeout.patch |   2 +-
>  .../pending-4.14/630-packet_socket_type.patch      |  16 +-
>  ...pppoe-support-hardware-flow-table-offload.patch |   2 +-
>  ...jecting-with-source-address-failed-policy.patch |  16 +-
>  ...in-PCI-configuration-read-write-functions.patch |  66 ------
>  ...IO_ADDR_LS-correctly-in-advk_pcie_rd_conf.patch |  53 -----
>  ...t-and-device-to-the-same-MAX-payload-size.patch |  11 +-
>  ...tead-of-isr0-interrupt-in-legacy-irq-mode.patch | 143 ------------
>  ...rk-fix-PCIe-max-read-request-size-setting.patch |  63 -----
>  ...td-fix-cfi-cmdset-0002-erase-status-check.patch |   4 +-
>  ...0037-mtd-cfi-cmdset-0002-force-word-write.patch |   6 +-
>  .../patches-4.14/0043-spi-add-mt7621-support.patch |  16 +-
>  59 files changed, 233 insertions(+), 905 deletions(-)
>  mode change 100755 => 100644 
> target/linux/generic/pending-4.14/103-MIPS-c-r4k-fix-data-corruption-related-to-cache-coherence.patch
>  delete mode 100644 
> target/linux/mvebu/patches-4.14/522-PCI-aardvark-fix-logic-in-PCI-configuration-read-write-functions.patch
>  delete mode 100644 
> target/linux/mvebu/patches-4.14/523-PCI-aardvark-set-PIO_ADDR_LS-correctly-in-advk_pcie_rd_conf.patch
>  delete mode 100644 
> target/linux/mvebu/patches-4.14/525-PCI-aardvark-use-isr1-instead-of-isr0-interrupt-in-legacy-irq-mode.patch
>  delete mode 100644 
> target/linux/mvebu/patches-4.14/527-PCI-aardvark-fix-PCIe-max-read-request-size-setting.patch
> 
> diff --git a/include/kernel-version.mk b/include/kernel-version.mk
> index fc0856554c45..192ee1c2e969 100644
> --- a/include/kernel-version.mk
> +++ b/include/kernel-version.mk
> @@ -5,12 +5,12 @@ LINUX_RELEASE?=1
>  LINUX_VERSION-3.18 = .71
>  LINUX_VERSION-4.4 = .121
>  LINUX_VERSION-4.9 = .98
> -LINUX_VERSION-4.14 = .37
> +LINUX_VERSION-4.14 = .39
> 
>  LINUX_KERNEL_HASH-3.18.71 = 
> 5abc9778ad44ce02ed6c8ab52ece8a21c6d20d21f6ed8a19287b4a38a50c1240
>  LINUX_KERNEL_HASH-4.4.121 = 
> 44a88268b5088dc326b30c9b9133ac35a9a200b636b7268d08f32abeae6ca729
>  LINUX_KERNEL_HASH-4.9.98 = 
> 12cd90355adbc946e7e95aa5cdef2dd99b8e166cb64fe53a91c3e1d8f81810ef
> -LINUX_KERNEL_HASH-4.14.37 = 
> 8197e7ed3620713e412905430a7bf93e2048384042ffba189a66f0eeb6908e92
> +LINUX_KERNEL_HASH-4.14.39 = 
> 269fc576ab0509e10c3b26e57866aea3f272c17f172f14fd75e2676d38c1b7bd
> 
>  remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst 
> https://,,$(1))))
>  sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst 
> .,_,$(subst -,_,$(subst /,_,$(1)))))))
> diff --git 
> a/target/linux/apm821xx/patches-4.14/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch 
> b/target/linux/apm821xx/patches-4.14/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
> index 49304ef8707a..efaf61a5f313 100644
> --- 
> a/target/linux/apm821xx/patches-4.14/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
> +++ 
> b/target/linux/apm821xx/patches-4.14/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
> @@ -44,7 +44,7 @@ Signed-off-by: Christian Lamparter 
> <chunkeey@googlemail.com>
> 
>   #include "xhci.h"
>   #include "xhci-trace.h"
> -@@ -241,6 +243,458 @@ static void xhci_pme_acpi_rtd3_enable(st
> +@@ -244,6 +246,458 @@ static void xhci_pme_acpi_rtd3_enable(st
>   static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
>   #endif /* CONFIG_ACPI */
> 
> @@ -503,7 +503,7 @@ Signed-off-by: Christian Lamparter 
> <chunkeey@googlemail.com>
>   /* called during probe() after chip reset completes */
>   static int xhci_pci_setup(struct usb_hcd *hcd)
>   {
> -@@ -276,6 +730,22 @@ static int xhci_pci_probe(struct pci_dev
> +@@ -279,6 +733,22 @@ static int xhci_pci_probe(struct pci_dev
>   	struct hc_driver *driver;
>   	struct usb_hcd *hcd;
> 
> @@ -526,7 +526,7 @@ Signed-off-by: Christian Lamparter 
> <chunkeey@googlemail.com>
>   	driver = (struct hc_driver *)id->driver_data;
> 
>   	/* For some HW implementation, a XHCI reset is just not enough... 
> */
> -@@ -340,6 +810,16 @@ static void xhci_pci_remove(struct pci_d
> +@@ -343,6 +813,16 @@ static void xhci_pci_remove(struct pci_d
>   {
>   	struct xhci_hcd *xhci;
> 
> diff --git 
> a/target/linux/apm821xx/patches-4.14/802-usb-xhci-force-msi-renesas-xhci.patch 
> b/target/linux/apm821xx/patches-4.14/802-usb-xhci-force-msi-renesas-xhci.patch
> index ae05d291f348..b78a7881c124 100644
> --- 
> a/target/linux/apm821xx/patches-4.14/802-usb-xhci-force-msi-renesas-xhci.patch
> +++ 
> b/target/linux/apm821xx/patches-4.14/802-usb-xhci-force-msi-renesas-xhci.patch
> @@ -13,7 +13,7 @@ produce a noisy warning.
> 
>  --- a/drivers/usb/host/xhci-pci.c
>  +++ b/drivers/usb/host/xhci-pci.c
> -@@ -199,7 +199,7 @@ static void xhci_pci_quirks(struct devic
> +@@ -202,7 +202,7 @@ static void xhci_pci_quirks(struct devic
>   		xhci->quirks |= XHCI_TRUST_TX_LENGTH;
>   	if (pdev->vendor == PCI_VENDOR_ID_RENESAS &&
>   			pdev->device == 0x0015)
> diff --git 
> a/target/linux/ath79/patches-4.14/0001-tty-serial-drop-QCA-pecific-SoC-symbols.patch 
> b/target/linux/ath79/patches-4.14/0001-tty-serial-drop-QCA-pecific-SoC-symbols.patch
> index 0d3f9b51ce65..6c4b907e2201 100644
> --- 
> a/target/linux/ath79/patches-4.14/0001-tty-serial-drop-QCA-pecific-SoC-symbols.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0001-tty-serial-drop-QCA-pecific-SoC-symbols.patch
> @@ -8,11 +8,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   drivers/tty/serial/Kconfig | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> -diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
> -index 3682fd3e960c..c92bd969bbf9 100644
>  --- a/drivers/tty/serial/Kconfig
>  +++ b/drivers/tty/serial/Kconfig
> -@@ -1469,7 +1469,7 @@ config SERIAL_XILINX_PS_UART_CONSOLE
> +@@ -1463,7 +1463,7 @@ config SERIAL_XILINX_PS_UART_CONSOLE
> 
>   config SERIAL_AR933X
>   	tristate "AR933X serial port support"
> @@ -21,6 +19,3 @@ index 3682fd3e960c..c92bd969bbf9 100644
>   	select SERIAL_CORE
>   	help
>   	  If you have an Atheros AR933X SOC based board and want to use the
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0002-watchdog-ath79-fix-maximum-timeout.patch 
> b/target/linux/ath79/patches-4.14/0002-watchdog-ath79-fix-maximum-timeout.patch
> index 8cf4fb3c942a..36234d8d83ed 100644
> --- 
> a/target/linux/ath79/patches-4.14/0002-watchdog-ath79-fix-maximum-timeout.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0002-watchdog-ath79-fix-maximum-timeout.patch
> @@ -11,11 +11,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   drivers/watchdog/ath79_wdt.c | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
> 
> -diff --git a/drivers/watchdog/ath79_wdt.c 
> b/drivers/watchdog/ath79_wdt.c
> -index e2209bf5fa8a..c2fc6c3d0092 100644
>  --- a/drivers/watchdog/ath79_wdt.c
>  +++ b/drivers/watchdog/ath79_wdt.c
> -@@ -115,10 +115,14 @@ static inline void ath79_wdt_disable(void)
> +@@ -115,10 +115,14 @@ static inline void ath79_wdt_disable(voi
> 
>   static int ath79_wdt_set_timeout(int val)
>   {
> @@ -32,6 +30,3 @@ index e2209bf5fa8a..c2fc6c3d0092 100644
>   	ath79_wdt_keepalive();
> 
>   	return 0;
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0003-leds-add-reset-controller-based-driver.patch 
> b/target/linux/ath79/patches-4.14/0003-leds-add-reset-controller-based-driver.patch
> index 358da3b8302c..495d79288b3b 100644
> --- 
> a/target/linux/ath79/patches-4.14/0003-leds-add-reset-controller-based-driver.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0003-leds-add-reset-controller-based-driver.patch
> @@ -11,10 +11,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   3 files changed, 149 insertions(+)
>   create mode 100644 drivers/leds/leds-reset.c
> 
> -Index: linux-4.14.32/drivers/leds/Kconfig
> -===================================================================
> ---- linux-4.14.32.orig/drivers/leds/Kconfig
> -+++ linux-4.14.32/drivers/leds/Kconfig
> +--- a/drivers/leds/Kconfig
> ++++ b/drivers/leds/Kconfig
>  @@ -696,6 +696,17 @@ config LEDS_NIC78BX
>   	  To compile this driver as a module, choose M here: the module
>   	  will be called leds-nic78bx.
> @@ -33,10 +31,8 @@ Index: linux-4.14.32/drivers/leds/Kconfig
>   comment "LED Triggers"
>   source "drivers/leds/trigger/Kconfig"
> 
> -Index: linux-4.14.32/drivers/leds/leds-reset.c
> -===================================================================
>  --- /dev/null
> -+++ linux-4.14.32/drivers/leds/leds-reset.c
> ++++ b/drivers/leds/leds-reset.c
>  @@ -0,0 +1,137 @@
>  +/*
>  + * Copyright (C) 2018 John Crispin <john@phrozen.org>
> @@ -175,10 +171,8 @@ Index: linux-4.14.32/drivers/leds/leds-reset.c
>  +MODULE_DESCRIPTION("reset controller LED driver");
>  +MODULE_LICENSE("GPL");
>  +MODULE_ALIAS("platform:leds-reset");
> -Index: linux-4.14.32/drivers/leds/Makefile
> -===================================================================
> ---- linux-4.14.32.orig/drivers/leds/Makefile
> -+++ linux-4.14.32/drivers/leds/Makefile
> +--- a/drivers/leds/Makefile
> ++++ b/drivers/leds/Makefile
>  @@ -73,6 +73,7 @@ obj-$(CONFIG_LEDS_PM8058)		+= leds-pm805
>   obj-$(CONFIG_LEDS_MLXCPLD)		+= leds-mlxcpld.o
>   obj-$(CONFIG_LEDS_NIC78BX)		+= leds-nic78bx.o
> diff --git 
> a/target/linux/ath79/patches-4.14/0004-phy-add-ath79-usb-phys.patch 
> b/target/linux/ath79/patches-4.14/0004-phy-add-ath79-usb-phys.patch
> index 38763d2d743b..6280baf913ff 100644
> --- 
> a/target/linux/ath79/patches-4.14/0004-phy-add-ath79-usb-phys.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0004-phy-add-ath79-usb-phys.patch
> @@ -13,10 +13,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   create mode 100644 drivers/phy/phy-ar7100-usb.c
>   create mode 100644 drivers/phy/phy-ar7200-usb.c
> 
> -Index: linux-4.14.37/drivers/phy/Kconfig
> -===================================================================
> ---- linux-4.14.37.orig/drivers/phy/Kconfig
> -+++ linux-4.14.37/drivers/phy/Kconfig
> +--- a/drivers/phy/Kconfig
> ++++ b/drivers/phy/Kconfig
>  @@ -15,6 +15,22 @@ config GENERIC_PHY
>   	  phy users can obtain reference to the PHY. All the users of this
>   	  framework should select this config.
> @@ -40,10 +38,8 @@ Index: linux-4.14.37/drivers/phy/Kconfig
>   config PHY_LPC18XX_USB_OTG
>   	tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
>   	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
> -Index: linux-4.14.37/drivers/phy/Makefile
> -===================================================================
> ---- linux-4.14.37.orig/drivers/phy/Makefile
> -+++ linux-4.14.37/drivers/phy/Makefile
> +--- a/drivers/phy/Makefile
> ++++ b/drivers/phy/Makefile
>  @@ -4,6 +4,8 @@
>   #
> 
> @@ -53,10 +49,8 @@ Index: linux-4.14.37/drivers/phy/Makefile
>   obj-$(CONFIG_PHY_LPC18XX_USB_OTG)	+= phy-lpc18xx-usb-otg.o
>   obj-$(CONFIG_PHY_XGENE)			+= phy-xgene.o
>   obj-$(CONFIG_PHY_PISTACHIO_USB)		+= phy-pistachio-usb.o
> -Index: linux-4.14.37/drivers/phy/phy-ar7100-usb.c
> -===================================================================
>  --- /dev/null
> -+++ linux-4.14.37/drivers/phy/phy-ar7100-usb.c
> ++++ b/drivers/phy/phy-ar7100-usb.c
>  @@ -0,0 +1,140 @@
>  +/*
>  + * Copyright (C) 2018 John Crispin <john@phrozen.org>
> @@ -198,10 +192,8 @@ Index: linux-4.14.37/drivers/phy/phy-ar7100-usb.c
>  +MODULE_DESCRIPTION("ATH79 USB PHY driver");
>  +MODULE_AUTHOR("Alban Bedel <albeu@free.fr>");
>  +MODULE_LICENSE("GPL");
> -Index: linux-4.14.37/drivers/phy/phy-ar7200-usb.c
> -===================================================================
>  --- /dev/null
> -+++ linux-4.14.37/drivers/phy/phy-ar7200-usb.c
> ++++ b/drivers/phy/phy-ar7200-usb.c
>  @@ -0,0 +1,123 @@
>  +/*
>  + * Copyright (C) 2015 Alban Bedel <albeu@free.fr>
> diff --git 
> a/target/linux/ath79/patches-4.14/0005-usb-add-more-OF-quirk-properties.patch 
> b/target/linux/ath79/patches-4.14/0005-usb-add-more-OF-quirk-properties.patch
> index a87fd70979ff..ec1bc3f7f706 100644
> --- 
> a/target/linux/ath79/patches-4.14/0005-usb-add-more-OF-quirk-properties.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0005-usb-add-more-OF-quirk-properties.patch
> @@ -8,11 +8,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   drivers/usb/host/ehci-platform.c | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> -diff --git a/drivers/usb/host/ehci-platform.c 
> b/drivers/usb/host/ehci-platform.c
> -index b065a960adc2..b1cc841b5399 100644
>  --- a/drivers/usb/host/ehci-platform.c
>  +++ b/drivers/usb/host/ehci-platform.c
> -@@ -185,6 +185,11 @@ static int ehci_platform_probe(struct 
> platform_device *dev)
> +@@ -187,6 +187,11 @@ static int ehci_platform_probe(struct pl
>   	ehci = hcd_to_ehci(hcd);
> 
>   	if (pdata == &ehci_platform_defaults && dev->dev.of_node) {
> @@ -24,6 +22,3 @@ index b065a960adc2..b1cc841b5399 100644
>   		if (of_property_read_bool(dev->dev.of_node, "big-endian-regs"))
>   			ehci->big_endian_mmio = 1;
> 
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0006-usb-drop-deprecated-symbols.patch 
> b/target/linux/ath79/patches-4.14/0006-usb-drop-deprecated-symbols.patch
> index 6821aa74fa1b..a97fab71f49a 100644
> --- 
> a/target/linux/ath79/patches-4.14/0006-usb-drop-deprecated-symbols.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0006-usb-drop-deprecated-symbols.patch
> @@ -8,11 +8,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   drivers/usb/host/Kconfig | 25 -------------------------
>   1 file changed, 25 deletions(-)
> 
> -diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
> -index 4fcfb3084b36..55b45dcd7a4b 100644
>  --- a/drivers/usb/host/Kconfig
>  +++ b/drivers/usb/host/Kconfig
> -@@ -293,19 +293,6 @@ config USB_CNS3XXX_EHCI
> +@@ -297,19 +297,6 @@ config USB_CNS3XXX_EHCI
>   	  It is needed for high-speed (480Mbit/sec) USB 2.0 device
>   	  support.
> 
> @@ -32,7 +30,7 @@ index 4fcfb3084b36..55b45dcd7a4b 100644
>   config USB_EHCI_HCD_PLATFORM
>   	tristate "Generic EHCI driver for a platform device"
>   	default n
> -@@ -489,18 +476,6 @@ config USB_OHCI_HCD_DAVINCI
> +@@ -493,18 +480,6 @@ config USB_OHCI_HCD_DAVINCI
>   	  controller. This driver cannot currently be a loadable
>   	  module because it lacks a proper PHY abstraction.
> 
> @@ -51,6 +49,3 @@ index 4fcfb3084b36..55b45dcd7a4b 100644
>   config USB_OHCI_HCD_PPC_OF_BE
>   	bool "OHCI support for OF platform bus (big endian)"
>   	depends on PPC
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0007-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch 
> b/target/linux/ath79/patches-4.14/0007-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch
> index 18c9fd4e1561..72a7a5ee2960 100644
> --- 
> a/target/linux/ath79/patches-4.14/0007-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0007-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch
> @@ -11,8 +11,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   2 files changed, 105 insertions(+)
>   create mode 100644 drivers/irqchip/irq-ath79-intc.c
> 
> -diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile
> -index d27e3e3619e0..f63c94a92e25 100644
>  --- a/drivers/irqchip/Makefile
>  +++ b/drivers/irqchip/Makefile
>  @@ -3,6 +3,7 @@ obj-$(CONFIG_IRQCHIP)			+= irqchip.o
> @@ -23,9 +21,6 @@ index d27e3e3619e0..f63c94a92e25 100644
>   obj-$(CONFIG_ATH79)			+= irq-ath79-misc.o
>   obj-$(CONFIG_ARCH_BCM2835)		+= irq-bcm2835.o
>   obj-$(CONFIG_ARCH_BCM2835)		+= irq-bcm2836.o
> -diff --git a/drivers/irqchip/irq-ath79-intc.c 
> b/drivers/irqchip/irq-ath79-intc.c
> -new file mode 100644
> -index 000000000000..a26d3efe6e10
>  --- /dev/null
>  +++ b/drivers/irqchip/irq-ath79-intc.c
>  @@ -0,0 +1,104 @@
> @@ -133,6 +128,3 @@ index 000000000000..a26d3efe6e10
>  +}
>  +IRQCHIP_DECLARE(qca9556_intc, "qcom,qca9556-intc",
>  +		qca9556_intc_of_init);
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0008-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch 
> b/target/linux/ath79/patches-4.14/0008-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch
> index 8c364cbce6b0..84e066e2a63a 100644
> --- 
> a/target/linux/ath79/patches-4.14/0008-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0008-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch
> @@ -8,8 +8,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   drivers/irqchip/irq-ath79-cpu.c | 7 -------
>   1 file changed, 7 deletions(-)
> 
> -diff --git a/drivers/irqchip/irq-ath79-cpu.c 
> b/drivers/irqchip/irq-ath79-cpu.c
> -index befe93c5a51a..f29cb9c933f5 100644
>  --- a/drivers/irqchip/irq-ath79-cpu.c
>  +++ b/drivers/irqchip/irq-ath79-cpu.c
>  @@ -88,10 +88,3 @@ static int __init ar79_cpu_intc_of_init(
> @@ -23,6 +21,3 @@ index befe93c5a51a..f29cb9c933f5 100644
>  -	irq_wb_chan[3] = irq_wb_chan3;
>  -	mips_cpu_irq_init();
>  -}
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0009-MIPS-ath79-add-lots-of-missing-registers.patch 
> b/target/linux/ath79/patches-4.14/0009-MIPS-ath79-add-lots-of-missing-registers.patch
> index 6b6d934509d6..5963ee8991ea 100644
> --- 
> a/target/linux/ath79/patches-4.14/0009-MIPS-ath79-add-lots-of-missing-registers.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0009-MIPS-ath79-add-lots-of-missing-registers.patch
> @@ -8,8 +8,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   arch/mips/include/asm/mach-ath79/ar71xx_regs.h | 773 
> ++++++++++++++++++++++++-
>   1 file changed, 771 insertions(+), 2 deletions(-)
> 
> -diff --git a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h 
> b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
> -index aa3800c82332..284b4fa23e03 100644
>  --- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
>  +++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
>  @@ -20,6 +20,10 @@
> @@ -399,7 +397,6 @@ index aa3800c82332..284b4fa23e03 100644
>   #define AR934X_RESET_USB_HOST		BIT(5)
>   #define AR934X_RESET_USB_PHY		BIT(4)
>   #define AR934X_RESET_USBSUS_OVERRIDE	BIT(3)
> --
>  +#define AR934X_RESET_LUT		BIT(2)
>  +#define AR934X_RESET_MBOX		BIT(1)
>  +#define AR934X_RESET_I2S		BIT(0)
> @@ -476,7 +473,7 @@ index aa3800c82332..284b4fa23e03 100644
>  +#define QCA956X_RESET_USBSUS_OVERRIDE	BIT(3)
>  +#define QCA956X_RESET_SWITCH_ANALOG	BIT(2)
>  +#define QCA956X_RESET_SWITCH		BIT(0)
> -+
> +
>  +#define AR933X_BOOTSTRAP_MDIO_GPIO_EN	BIT(18)
>  +#define AR933X_BOOTSTRAP_EEPBUSY	BIT(4)
>   #define AR933X_BOOTSTRAP_REF_CLK_40	BIT(0)
> @@ -972,6 +969,3 @@ index aa3800c82332..284b4fa23e03 100644
>  +#define QCA956X_SGMII_CONFIG_MODE_CTRL_MASK	0x7
>  +
>   #endif /* __ASM_MACH_AR71XX_REGS_H */
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0010-MIPS-ath79-select-the-PINCTRL-subsystem.patch 
> b/target/linux/ath79/patches-4.14/0010-MIPS-ath79-select-the-PINCTRL-subsystem.patch
> index b6704708a2b1..cd3f96c3f326 100644
> --- 
> a/target/linux/ath79/patches-4.14/0010-MIPS-ath79-select-the-PINCTRL-subsystem.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0010-MIPS-ath79-select-the-PINCTRL-subsystem.patch
> @@ -8,11 +8,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   arch/mips/Kconfig | 1 +
>   1 file changed, 1 insertion(+)
> 
> -diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> -index 8128c3b68d6b..922a53cb1b3d 100644
>  --- a/arch/mips/Kconfig
>  +++ b/arch/mips/Kconfig
> -@@ -188,6 +188,7 @@ config ATH79
> +@@ -191,6 +191,7 @@ config ATH79
>   	select CSRC_R4K
>   	select DMA_NONCOHERENT
>   	select GPIOLIB
> @@ -20,6 +18,3 @@ index 8128c3b68d6b..922a53cb1b3d 100644
>   	select HAVE_CLK
>   	select COMMON_CLK
>   	select CLKDEV_LOOKUP
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0011-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch 
> b/target/linux/ath79/patches-4.14/0011-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch
> index c7ad39e1287f..85ee24c208ae 100644
> --- 
> a/target/linux/ath79/patches-4.14/0011-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0011-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch
> @@ -14,8 +14,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>   arch/mips/ath79/common.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> -diff --git a/arch/mips/ath79/common.c b/arch/mips/ath79/common.c
> -index 10a405d593df..c782b10ddf50 100644
>  --- a/arch/mips/ath79/common.c
>  +++ b/arch/mips/ath79/common.c
>  @@ -58,7 +58,7 @@ EXPORT_SYMBOL_GPL(ath79_ddr_ctrl_init);
> @@ -27,6 +25,3 @@ index 10a405d593df..c782b10ddf50 100644
> 
>   	/* Flush the DDR write buffer. */
>   	__raw_writel(0x1, flush_reg);
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0012-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch 
> b/target/linux/ath79/patches-4.14/0012-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch
> index c622617e524c..2b744ee94f48 100644
> --- 
> a/target/linux/ath79/patches-4.14/0012-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0012-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch
> @@ -20,8 +20,6 @@ Acked-by: Gabor Juhos <juhosg@openwrt.org>
>   arch/mips/ath79/common.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> -diff --git a/arch/mips/ath79/common.c b/arch/mips/ath79/common.c
> -index c782b10ddf50..a32a9181a296 100644
>  --- a/arch/mips/ath79/common.c
>  +++ b/arch/mips/ath79/common.c
>  @@ -106,7 +106,7 @@ void ath79_device_reset_set(u32 mask)
> @@ -42,6 +40,3 @@ index c782b10ddf50..a32a9181a296 100644
> 
>   	spin_lock_irqsave(&ath79_device_reset_lock, flags);
>   	t = ath79_reset_rr(reg);
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0013-MIPS-ath79-fix-system-restart.patch 
> b/target/linux/ath79/patches-4.14/0013-MIPS-ath79-fix-system-restart.patch
> index ecf275db8213..969636128f5c 100644
> --- 
> a/target/linux/ath79/patches-4.14/0013-MIPS-ath79-fix-system-restart.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0013-MIPS-ath79-fix-system-restart.patch
> @@ -10,11 +10,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   arch/mips/include/asm/mach-ath79/ath79.h | 1 +
>   2 files changed, 2 insertions(+)
> 
> -diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
> -index f206dafbb0a3..26a058d58d37 100644
>  --- a/arch/mips/ath79/setup.c
>  +++ b/arch/mips/ath79/setup.c
> -@@ -40,6 +40,7 @@ static char ath79_sys_type[ATH79_SYS_TYPE_LEN];
> +@@ -40,6 +40,7 @@ static char ath79_sys_type[ATH79_SYS_TYP
> 
>   static void ath79_restart(char *command)
>   {
> @@ -22,11 +20,9 @@ index f206dafbb0a3..26a058d58d37 100644
>   	ath79_device_reset_set(AR71XX_RESET_FULL_CHIP);
>   	for (;;)
>   		if (cpu_wait)
> -diff --git a/arch/mips/include/asm/mach-ath79/ath79.h 
> b/arch/mips/include/asm/mach-ath79/ath79.h
> -index 441faa92c3cd..6e6c0fead776 100644
>  --- a/arch/mips/include/asm/mach-ath79/ath79.h
>  +++ b/arch/mips/include/asm/mach-ath79/ath79.h
> -@@ -134,6 +134,7 @@ static inline u32 ath79_pll_rr(unsigned reg)
> +@@ -134,6 +134,7 @@ static inline u32 ath79_pll_rr(unsigned
>   static inline void ath79_reset_wr(unsigned reg, u32 val)
>   {
>   	__raw_writel(val, ath79_reset_base + reg);
> @@ -34,6 +30,3 @@ index 441faa92c3cd..6e6c0fead776 100644
>   }
> 
>   static inline u32 ath79_reset_rr(unsigned reg)
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0014-MIPS-ath79-finetune-cpu-overrides.patch 
> b/target/linux/ath79/patches-4.14/0014-MIPS-ath79-finetune-cpu-overrides.patch
> index d3f98107045f..e390e584f6eb 100644
> --- 
> a/target/linux/ath79/patches-4.14/0014-MIPS-ath79-finetune-cpu-overrides.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0014-MIPS-ath79-finetune-cpu-overrides.patch
> @@ -8,8 +8,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>   arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> -diff --git 
> a/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h 
> b/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
> -index 0089a740e5ae..026ad90c8ac0 100644
>  --- a/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
>  +++ b/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
>  @@ -36,6 +36,7 @@
> @@ -38,6 +36,3 @@ index 0089a740e5ae..026ad90c8ac0 100644
>  +#define cpu_has_pindexed_dcache	0
> 
>   #endif /* __ASM_MACH_ATH79_CPU_FEATURE_OVERRIDES_H */
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0015-MIPS-ath79-enable-uart-during-early_prink.patch 
> b/target/linux/ath79/patches-4.14/0015-MIPS-ath79-enable-uart-during-early_prink.patch
> index a46603727574..5826d01764ab 100644
> --- 
> a/target/linux/ath79/patches-4.14/0015-MIPS-ath79-enable-uart-during-early_prink.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0015-MIPS-ath79-enable-uart-during-early_prink.patch
> @@ -8,11 +8,9 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
>   arch/mips/ath79/early_printk.c | 44 
> +++++++++++++++++++++++++++++++++++++++++-
>   1 file changed, 43 insertions(+), 1 deletion(-)
> 
> -diff --git a/arch/mips/ath79/early_printk.c 
> b/arch/mips/ath79/early_printk.c
> -index d1adc59af5bf..ec3978678653 100644
>  --- a/arch/mips/ath79/early_printk.c
>  +++ b/arch/mips/ath79/early_printk.c
> -@@ -58,6 +58,46 @@ static void prom_putchar_dummy(unsigned char ch)
> +@@ -58,6 +58,46 @@ static void prom_putchar_dummy(unsigned
>   	/* nothing to do */
>   }
> 
> @@ -71,6 +69,3 @@ index d1adc59af5bf..ec3978678653 100644
>   }
> 
>   void prom_putchar(unsigned char ch)
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0016-MIPS-ath79-add-support-for-QCA953x-SoC.patch 
> b/target/linux/ath79/patches-4.14/0016-MIPS-ath79-add-support-for-QCA953x-SoC.patch
> index 0eb1831c5bf9..0432a23d1419 100644
> --- 
> a/target/linux/ath79/patches-4.14/0016-MIPS-ath79-add-support-for-QCA953x-SoC.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0016-MIPS-ath79-add-support-for-QCA953x-SoC.patch
> @@ -18,8 +18,6 @@ Signed-off-by: Matthias Schiffer 
> <mschiffer@universe-factory.net>
>   arch/mips/include/asm/mach-ath79/ath79.h | 11 ++++
>   8 files changed, 162 insertions(+), 6 deletions(-)
> 
> -diff --git a/arch/mips/ath79/Kconfig b/arch/mips/ath79/Kconfig
> -index 9547cf1ea38d..b03f5c8b9d1e 100644
>  --- a/arch/mips/ath79/Kconfig
>  +++ b/arch/mips/ath79/Kconfig
>  @@ -94,6 +94,10 @@ config SOC_AR934X
> @@ -42,11 +40,9 @@ index 9547cf1ea38d..b03f5c8b9d1e 100644
>   	def_bool n
> 
>   endif
> -diff --git a/arch/mips/ath79/clock.c b/arch/mips/ath79/clock.c
> -index 6b1000b6a6a6..b9595b2d1b65 100644
>  --- a/arch/mips/ath79/clock.c
>  +++ b/arch/mips/ath79/clock.c
> -@@ -355,6 +355,91 @@ static void __init ar934x_clocks_init(void)
> +@@ -355,6 +355,91 @@ static void __init ar934x_clocks_init(vo
>   	iounmap(dpll_base);
>   }
> 
> @@ -147,8 +143,6 @@ index 6b1000b6a6a6..b9595b2d1b65 100644
>   	else if (soc_is_qca955x())
>   		qca955x_clocks_init();
>   	else
> -diff --git a/arch/mips/ath79/common.c b/arch/mips/ath79/common.c
> -index a32a9181a296..a485a7c35b9b 100644
>  --- a/arch/mips/ath79/common.c
>  +++ b/arch/mips/ath79/common.c
>  @@ -103,6 +103,8 @@ void ath79_device_reset_set(u32 mask)
> @@ -169,8 +163,6 @@ index a32a9181a296..a485a7c35b9b 100644
>   	else if (soc_is_qca955x())
>   		reg = QCA955X_RESET_REG_RESET_MODULE;
>   	else
> -diff --git a/arch/mips/ath79/dev-common.c 
> b/arch/mips/ath79/dev-common.c
> -index 9d0172a4dc69..99d8b88f1e6d 100644
>  --- a/arch/mips/ath79/dev-common.c
>  +++ b/arch/mips/ath79/dev-common.c
>  @@ -85,6 +85,7 @@ void __init ath79_register_uart(void)
> @@ -191,8 +183,6 @@ index 9d0172a4dc69..99d8b88f1e6d 100644
>   	} else if (soc_is_qca955x()) {
>   		ath79_gpio_pdata.ngpios = QCA955X_GPIO_COUNT;
>   		ath79_gpio_pdata.oe_inverted = 1;
> -diff --git a/arch/mips/ath79/early_printk.c 
> b/arch/mips/ath79/early_printk.c
> -index ec3978678653..cc00839b7181 100644
>  --- a/arch/mips/ath79/early_printk.c
>  +++ b/arch/mips/ath79/early_printk.c
>  @@ -116,6 +116,8 @@ static void prom_putchar_init(void)
> @@ -204,8 +194,6 @@ index ec3978678653..cc00839b7181 100644
>   	case REV_ID_MAJOR_QCA9556:
>   	case REV_ID_MAJOR_QCA9558:
>   		_prom_putchar = prom_putchar_ar71xx;
> -diff --git a/arch/mips/ath79/irq.c b/arch/mips/ath79/irq.c
> -index 2dfff1f19004..756b5aee3500 100644
>  --- a/arch/mips/ath79/irq.c
>  +++ b/arch/mips/ath79/irq.c
>  @@ -56,6 +56,34 @@ static void ar934x_ip2_irq_init(void)
> @@ -269,11 +257,9 @@ index 2dfff1f19004..756b5aee3500 100644
>   	else if (soc_is_qca955x())
>   		qca955x_irq_init();
>   }
> -diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
> -index 26a058d58d37..f782ae6c77d6 100644
>  --- a/arch/mips/ath79/setup.c
>  +++ b/arch/mips/ath79/setup.c
> -@@ -60,6 +60,7 @@ static void __init ath79_detect_sys_type(void)
> +@@ -60,6 +60,7 @@ static void __init ath79_detect_sys_type
>   	u32 major;
>   	u32 minor;
>   	u32 rev = 0;
> @@ -281,7 +267,7 @@ index 26a058d58d37..f782ae6c77d6 100644
> 
>   	id = ath79_reset_rr(AR71XX_RESET_REG_REV_ID);
>   	major = id & REV_ID_MAJOR_MASK;
> -@@ -152,6 +153,17 @@ static void __init ath79_detect_sys_type(void)
> +@@ -152,6 +153,17 @@ static void __init ath79_detect_sys_type
>   		rev = id & AR934X_REV_ID_REVISION_MASK;
>   		break;
> 
> @@ -299,7 +285,7 @@ index 26a058d58d37..f782ae6c77d6 100644
>   	case REV_ID_MAJOR_QCA9556:
>   		ath79_soc = ATH79_SOC_QCA9556;
>   		chip = "9556";
> -@@ -168,11 +180,12 @@ static void __init ath79_detect_sys_type(void)
> +@@ -168,11 +180,12 @@ static void __init ath79_detect_sys_type
>   		panic("ath79: unknown SoC, id:0x%08x", id);
>   	}
> 
> @@ -316,8 +302,6 @@ index 26a058d58d37..f782ae6c77d6 100644
>   	else
>   		sprintf(ath79_sys_type, "Atheros AR%s rev %u", chip, rev);
>   	pr_info("SoC: %s\n", ath79_sys_type);
> -diff --git a/arch/mips/include/asm/mach-ath79/ath79.h 
> b/arch/mips/include/asm/mach-ath79/ath79.h
> -index 6e6c0fead776..98a7ccf3d358 100644
>  --- a/arch/mips/include/asm/mach-ath79/ath79.h
>  +++ b/arch/mips/include/asm/mach-ath79/ath79.h
>  @@ -32,6 +32,7 @@ enum ath79_soc_type {
> @@ -345,6 +329,3 @@ index 6e6c0fead776..98a7ccf3d358 100644
>   static inline int soc_is_qca9556(void)
>   {
>   	return ath79_soc == ATH79_SOC_QCA9556;
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0017-MIPS-ath79-add-support-for-qca956x-soc.patch 
> b/target/linux/ath79/patches-4.14/0017-MIPS-ath79-add-support-for-qca956x-soc.patch
> index 052d23c8ba75..294fb32a1709 100644
> --- 
> a/target/linux/ath79/patches-4.14/0017-MIPS-ath79-add-support-for-qca956x-soc.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0017-MIPS-ath79-add-support-for-qca956x-soc.patch
> @@ -22,8 +22,6 @@ Signed-off-by: Weijie Gao <hackpascal@gmail.com>
>   arch/mips/include/asm/mach-ath79/ath79.h | 22 ++++++++
>   9 files changed, 245 insertions(+), 4 deletions(-)
> 
> -diff --git a/arch/mips/ath79/Kconfig b/arch/mips/ath79/Kconfig
> -index b03f5c8b9d1e..ad56cdbc8abd 100644
>  --- a/arch/mips/ath79/Kconfig
>  +++ b/arch/mips/ath79/Kconfig
>  @@ -119,7 +119,7 @@ config ATH79_DEV_USB
> @@ -35,11 +33,9 @@ index b03f5c8b9d1e..ad56cdbc8abd 100644
>   	def_bool n
> 
>   endif
> -diff --git a/arch/mips/ath79/clock.c b/arch/mips/ath79/clock.c
> -index b9595b2d1b65..65701b45fb1b 100644
>  --- a/arch/mips/ath79/clock.c
>  +++ b/arch/mips/ath79/clock.c
> -@@ -525,6 +525,100 @@ static void __init qca955x_clocks_init(void)
> +@@ -525,6 +525,100 @@ static void __init qca955x_clocks_init(v
>   	clk_add_alias("uart", NULL, "ref", NULL);
>   }
> 
> @@ -149,8 +145,6 @@ index b9595b2d1b65..65701b45fb1b 100644
>   	else
>   		BUG();
>   }
> -diff --git a/arch/mips/ath79/common.c b/arch/mips/ath79/common.c
> -index a485a7c35b9b..fc3438150b3e 100644
>  --- a/arch/mips/ath79/common.c
>  +++ b/arch/mips/ath79/common.c
>  @@ -107,6 +107,8 @@ void ath79_device_reset_set(u32 mask)
> @@ -171,8 +165,6 @@ index a485a7c35b9b..fc3438150b3e 100644
>   	else
>   		panic("Reset register not defined for this SOC");
> 
> -diff --git a/arch/mips/ath79/dev-common.c 
> b/arch/mips/ath79/dev-common.c
> -index 99d8b88f1e6d..ac8bfe86b656 100644
>  --- a/arch/mips/ath79/dev-common.c
>  +++ b/arch/mips/ath79/dev-common.c
>  @@ -86,7 +86,9 @@ void __init ath79_register_uart(void)
> @@ -196,8 +188,6 @@ index 99d8b88f1e6d..ac8bfe86b656 100644
>   	} else {
>   		BUG();
>   	}
> -diff --git a/arch/mips/ath79/early_printk.c 
> b/arch/mips/ath79/early_printk.c
> -index cc00839b7181..2024a0bb9144 100644
>  --- a/arch/mips/ath79/early_printk.c
>  +++ b/arch/mips/ath79/early_printk.c
>  @@ -120,6 +120,8 @@ static void prom_putchar_init(void)
> @@ -209,8 +199,6 @@ index cc00839b7181..2024a0bb9144 100644
>   		_prom_putchar = prom_putchar_ar71xx;
>   		break;
> 
> -diff --git a/arch/mips/ath79/irq.c b/arch/mips/ath79/irq.c
> -index 756b5aee3500..58d17ef6f58f 100644
>  --- a/arch/mips/ath79/irq.c
>  +++ b/arch/mips/ath79/irq.c
>  @@ -156,6 +156,87 @@ static void qca955x_irq_init(void)
> @@ -319,11 +307,9 @@ index 756b5aee3500..58d17ef6f58f 100644
>  +	else if (soc_is_qca956x() || soc_is_tp9343())
>  +		qca956x_irq_init();
>   }
> -diff --git a/arch/mips/ath79/pci.c b/arch/mips/ath79/pci.c
> -index b816cb4a25ff..d905a67e1a07 100644
>  --- a/arch/mips/ath79/pci.c
>  +++ b/arch/mips/ath79/pci.c
> -@@ -82,6 +82,9 @@ int pcibios_map_irq(const struct pci_dev *dev, 
> uint8_t slot, uint8_t pin)
> +@@ -82,6 +82,9 @@ int pcibios_map_irq(const struct pci_dev
>   		} else if (soc_is_qca955x()) {
>   			ath79_pci_irq_map = qca955x_pci_irq_map;
>   			ath79_pci_nr_irqs = ARRAY_SIZE(qca955x_pci_irq_map);
> @@ -349,11 +335,9 @@ index b816cb4a25ff..d905a67e1a07 100644
>   	} else {
>   		/* No PCI support */
>   		return -ENODEV;
> -diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
> -index f782ae6c77d6..4c7a93f4039a 100644
>  --- a/arch/mips/ath79/setup.c
>  +++ b/arch/mips/ath79/setup.c
> -@@ -176,6 +176,18 @@ static void __init ath79_detect_sys_type(void)
> +@@ -176,6 +176,18 @@ static void __init ath79_detect_sys_type
>   		rev = id & QCA955X_REV_ID_REVISION_MASK;
>   		break;
> 
> @@ -372,7 +356,7 @@ index f782ae6c77d6..4c7a93f4039a 100644
>   	default:
>   		panic("ath79: unknown SoC, id:0x%08x", id);
>   	}
> -@@ -183,9 +195,12 @@ static void __init ath79_detect_sys_type(void)
> +@@ -183,9 +195,12 @@ static void __init ath79_detect_sys_type
>   	if (ver == 1)
>   		ath79_soc_rev = rev;
> 
> @@ -386,8 +370,6 @@ index f782ae6c77d6..4c7a93f4039a 100644
>   	else
>   		sprintf(ath79_sys_type, "Atheros AR%s rev %u", chip, rev);
>   	pr_info("SoC: %s\n", ath79_sys_type);
> -diff --git a/arch/mips/include/asm/mach-ath79/ath79.h 
> b/arch/mips/include/asm/mach-ath79/ath79.h
> -index 98a7ccf3d358..73dcd63b8243 100644
>  --- a/arch/mips/include/asm/mach-ath79/ath79.h
>  +++ b/arch/mips/include/asm/mach-ath79/ath79.h
>  @@ -35,6 +35,8 @@ enum ath79_soc_type {
> @@ -426,6 +408,3 @@ index 98a7ccf3d358..73dcd63b8243 100644
>   void ath79_ddr_wb_flush(unsigned int reg);
>   void ath79_ddr_set_pci_windows(void);
> 
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0019-MIPS-ath79-get-PCIe-controller-out-of-reset.patch 
> b/target/linux/ath79/patches-4.14/0019-MIPS-ath79-get-PCIe-controller-out-of-reset.patch
> index 2148637f9b8a..f435e9bc1cdd 100644
> --- 
> a/target/linux/ath79/patches-4.14/0019-MIPS-ath79-get-PCIe-controller-out-of-reset.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0019-MIPS-ath79-get-PCIe-controller-out-of-reset.patch
> @@ -25,8 +25,6 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
>   arch/mips/pci/pci-ar724x.c | 42 
> ++++++++++++++++++++++++++++++++++++++++++
>   1 file changed, 42 insertions(+)
> 
> -diff --git a/arch/mips/pci/pci-ar724x.c b/arch/mips/pci/pci-ar724x.c
> -index 1e23c8d587bd..64b58cc48a91 100644
>  --- a/arch/mips/pci/pci-ar724x.c
>  +++ b/arch/mips/pci/pci-ar724x.c
>  @@ -12,14 +12,18 @@
> @@ -48,7 +46,7 @@ index 1e23c8d587bd..64b58cc48a91 100644
>   #define AR724X_PCI_RESET_LINK_UP	BIT(0)
> 
>   #define AR724X_PCI_INT_DEV0		BIT(14)
> -@@ -325,6 +329,37 @@ static void ar724x_pci_irq_init(struct 
> ar724x_pci_controller *apc,
> +@@ -325,6 +329,37 @@ static void ar724x_pci_irq_init(struct a
>   					 apc);
>   }
> 
> @@ -86,7 +84,7 @@ index 1e23c8d587bd..64b58cc48a91 100644
>   static int ar724x_pci_probe(struct platform_device *pdev)
>   {
>   	struct ar724x_pci_controller *apc;
> -@@ -383,6 +418,13 @@ static int ar724x_pci_probe(struct 
> platform_device *pdev)
> +@@ -383,6 +418,13 @@ static int ar724x_pci_probe(struct platf
>   	apc->pci_controller.io_resource = &apc->io_res;
>   	apc->pci_controller.mem_resource = &apc->mem_res;
> 
> @@ -100,6 +98,3 @@ index 1e23c8d587bd..64b58cc48a91 100644
>   	apc->link_up = ar724x_pci_check_link(apc);
>   	if (!apc->link_up)
>   		dev_warn(&pdev->dev, "PCIe link is down\n");
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0020-MIPS-ath79-turn-pci-ar71xx-driver-into-a-pure-OF-dri.patch 
> b/target/linux/ath79/patches-4.14/0020-MIPS-ath79-turn-pci-ar71xx-driver-into-a-pure-OF-dri.patch
> index d25f265d8423..2d9ddf4a2c55 100644
> --- 
> a/target/linux/ath79/patches-4.14/0020-MIPS-ath79-turn-pci-ar71xx-driver-into-a-pure-OF-dri.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0020-MIPS-ath79-turn-pci-ar71xx-driver-into-a-pure-OF-dri.patch
> @@ -9,8 +9,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   arch/mips/pci/pci-ar71xx.c | 81 
> +++++++++++++++++++++++-----------------------
>   1 file changed, 40 insertions(+), 41 deletions(-)
> 
> -diff --git a/arch/mips/pci/pci-ar71xx.c b/arch/mips/pci/pci-ar71xx.c
> -index bdf87b43633f..1dc9f01a495d 100644
>  --- a/arch/mips/pci/pci-ar71xx.c
>  +++ b/arch/mips/pci/pci-ar71xx.c
>  @@ -18,8 +18,11 @@
> @@ -78,7 +76,7 @@ index bdf87b43633f..1dc9f01a495d 100644
>   }
> 
>   static void ar71xx_pci_irq_unmask(struct irq_data *d)
> -@@ -261,7 +266,7 @@ static void ar71xx_pci_irq_unmask(struct 
> irq_data *d)
> +@@ -261,7 +266,7 @@ static void ar71xx_pci_irq_unmask(struct
>   	u32 t;
> 
>   	apc = irq_data_get_irq_chip_data(d);
> @@ -87,7 +85,7 @@ index bdf87b43633f..1dc9f01a495d 100644
> 
>   	t = __raw_readl(base + AR71XX_RESET_REG_PCI_INT_ENABLE);
>   	__raw_writel(t | (1 << irq), base + 
> AR71XX_RESET_REG_PCI_INT_ENABLE);
> -@@ -278,7 +283,7 @@ static void ar71xx_pci_irq_mask(struct irq_data 
> *d)
> +@@ -278,7 +283,7 @@ static void ar71xx_pci_irq_mask(struct i
>   	u32 t;
> 
>   	apc = irq_data_get_irq_chip_data(d);
> @@ -96,7 +94,7 @@ index bdf87b43633f..1dc9f01a495d 100644
> 
>   	t = __raw_readl(base + AR71XX_RESET_REG_PCI_INT_ENABLE);
>   	__raw_writel(t & ~(1 << irq), base + 
> AR71XX_RESET_REG_PCI_INT_ENABLE);
> -@@ -294,24 +299,30 @@ static struct irq_chip ar71xx_pci_irq_chip = {
> +@@ -294,24 +299,30 @@ static struct irq_chip ar71xx_pci_irq_ch
>   	.irq_mask_ack	= ar71xx_pci_irq_mask,
>   };
> 
> @@ -150,7 +148,7 @@ index bdf87b43633f..1dc9f01a495d 100644
>   static int ar71xx_pci_probe(struct platform_device *pdev)
>   {
>   	struct ar71xx_pci_controller *apc;
> -@@ -348,26 +364,6 @@ static int ar71xx_pci_probe(struct 
> platform_device *pdev)
> +@@ -348,26 +364,6 @@ static int ar71xx_pci_probe(struct platf
>   	if (apc->irq < 0)
>   		return -EINVAL;
> 
> @@ -177,7 +175,7 @@ index bdf87b43633f..1dc9f01a495d 100644
>   	ar71xx_pci_reset();
> 
>   	/* setup COMMAND register */
> -@@ -380,9 +376,11 @@ static int ar71xx_pci_probe(struct 
> platform_device *pdev)
> +@@ -380,9 +376,11 @@ static int ar71xx_pci_probe(struct platf
> 
>   	ar71xx_pci_irq_init(apc);
> 
> @@ -189,7 +187,7 @@ index bdf87b43633f..1dc9f01a495d 100644
> 
>   	register_pci_controller(&apc->pci_ctrl);
> 
> -@@ -393,6 +391,7 @@ static struct platform_driver ar71xx_pci_driver 
> = {
> +@@ -393,6 +391,7 @@ static struct platform_driver ar71xx_pci
>   	.probe = ar71xx_pci_probe,
>   	.driver = {
>   		.name = "ar71xx-pci",
> @@ -197,6 +195,3 @@ index bdf87b43633f..1dc9f01a495d 100644
>   	},
>   };
> 
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0021-MIPS-ath79-turn-pci-ar724x-driver-into-a-pure-OF-dri.patch 
> b/target/linux/ath79/patches-4.14/0021-MIPS-ath79-turn-pci-ar724x-driver-into-a-pure-OF-dri.patch
> index e3eba5a5f647..d5ebeb87aec0 100644
> --- 
> a/target/linux/ath79/patches-4.14/0021-MIPS-ath79-turn-pci-ar724x-driver-into-a-pure-OF-dri.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0021-MIPS-ath79-turn-pci-ar724x-driver-into-a-pure-OF-dri.patch
> @@ -9,8 +9,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   arch/mips/pci/pci-ar724x.c | 86 
> +++++++++++++++++++++-------------------------
>   1 file changed, 40 insertions(+), 46 deletions(-)
> 
> -diff --git a/arch/mips/pci/pci-ar724x.c b/arch/mips/pci/pci-ar724x.c
> -index 64b58cc48a91..7eb9b0999c8c 100644
>  --- a/arch/mips/pci/pci-ar724x.c
>  +++ b/arch/mips/pci/pci-ar724x.c
>  @@ -14,8 +14,11 @@
> @@ -91,7 +89,7 @@ index 64b58cc48a91..7eb9b0999c8c 100644
>   	case 0:
>   		t = __raw_readl(base + AR724X_PCI_REG_INT_MASK);
>   		__raw_writel(t | AR724X_PCI_INT_DEV0,
> -@@ -273,14 +275,12 @@ static void ar724x_pci_irq_mask(struct 
> irq_data *d)
> +@@ -273,14 +275,12 @@ static void ar724x_pci_irq_mask(struct i
>   {
>   	struct ar724x_pci_controller *apc;
>   	void __iomem *base;
> @@ -107,7 +105,7 @@ index 64b58cc48a91..7eb9b0999c8c 100644
>   	case 0:
>   		t = __raw_readl(base + AR724X_PCI_REG_INT_MASK);
>   		__raw_writel(t & ~AR724X_PCI_INT_DEV0,
> -@@ -305,26 +305,32 @@ static struct irq_chip ar724x_pci_irq_chip = {
> +@@ -305,26 +305,32 @@ static struct irq_chip ar724x_pci_irq_ch
>   	.irq_mask_ack	= ar724x_pci_irq_mask,
>   };
> 
> @@ -150,7 +148,7 @@ index 64b58cc48a91..7eb9b0999c8c 100644
>   	irq_set_chained_handler_and_data(apc->irq, ar724x_pci_irq_handler,
>   					 apc);
>   }
> -@@ -394,29 +400,11 @@ static int ar724x_pci_probe(struct 
> platform_device *pdev)
> +@@ -394,29 +400,11 @@ static int ar724x_pci_probe(struct platf
>   	if (apc->irq < 0)
>   		return -EINVAL;
> 
> @@ -182,7 +180,7 @@ index 64b58cc48a91..7eb9b0999c8c 100644
> 
>   	/*
>   	 * Do the full PCIE Root Complex Initialization Sequence if the 
> PCIe
> -@@ -438,10 +426,16 @@ static int ar724x_pci_probe(struct 
> platform_device *pdev)
> +@@ -438,10 +426,16 @@ static int ar724x_pci_probe(struct platf
>   	return 0;
>   }
> 
> @@ -199,6 +197,3 @@ index 64b58cc48a91..7eb9b0999c8c 100644
>   	},
>   };
> 
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0022-MIPS-ath79-drop-pci.c.patch 
> b/target/linux/ath79/patches-4.14/0022-MIPS-ath79-drop-pci.c.patch
> index 036bfc31c75d..58ed122c68d7 100644
> --- a/target/linux/ath79/patches-4.14/0022-MIPS-ath79-drop-pci.c.patch
> +++ b/target/linux/ath79/patches-4.14/0022-MIPS-ath79-drop-pci.c.patch
> @@ -16,10 +16,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   delete mode 100644 arch/mips/ath79/pci.c
>   create mode 100644 arch/mips/pci/fixup-ath79.c
> 
> -Index: linux-4.14.25/arch/mips/ath79/Makefile
> -===================================================================
> ---- linux-4.14.25.orig/arch/mips/ath79/Makefile
> -+++ linux-4.14.25/arch/mips/ath79/Makefile
> +--- a/arch/mips/ath79/Makefile
> ++++ b/arch/mips/ath79/Makefile
>  @@ -11,7 +11,6 @@
>   obj-y	:= prom.o setup.o irq.o common.o clock.o
> 
> @@ -28,9 +26,7 @@ Index: linux-4.14.25/arch/mips/ath79/Makefile
> 
>   #
>   # Devices
> -Index: linux-4.14.25/arch/mips/ath79/pci.c
> -===================================================================
> ---- linux-4.14.25.orig/arch/mips/ath79/pci.c
> +--- a/arch/mips/ath79/pci.c
>  +++ /dev/null
>  @@ -1,285 +0,0 @@
>  -/*
> @@ -318,10 +314,8 @@ Index: linux-4.14.25/arch/mips/ath79/pci.c
>  -
>  -	return pdev ? 0 : -ENODEV;
>  -}
> -Index: linux-4.14.25/arch/mips/pci/Makefile
> -===================================================================
> ---- linux-4.14.25.orig/arch/mips/pci/Makefile
> -+++ linux-4.14.25/arch/mips/pci/Makefile
> +--- a/arch/mips/pci/Makefile
> ++++ b/arch/mips/pci/Makefile
>  @@ -29,6 +29,7 @@ obj-$(CONFIG_MIPS_PCI_VIRTIO)	+= pci-vir
>   #
>   # These are still pretty much in the old state, watch, go blind.
> @@ -330,10 +324,8 @@ Index: linux-4.14.25/arch/mips/pci/Makefile
>   obj-$(CONFIG_LASAT)		+= pci-lasat.o
>   obj-$(CONFIG_MIPS_COBALT)	+= fixup-cobalt.o
>   obj-$(CONFIG_LEMOTE_FULOONG2E)	+= fixup-fuloong2e.o ops-loongson2.o
> -Index: linux-4.14.25/arch/mips/pci/fixup-ath79.c
> -===================================================================
>  --- /dev/null
> -+++ linux-4.14.25/arch/mips/pci/fixup-ath79.c
> ++++ b/arch/mips/pci/fixup-ath79.c
>  @@ -0,0 +1,21 @@
>  +/*
>  + *  Copyright (C) 2018 John Crispin <john@phrozen.org>
> diff --git 
> a/target/linux/ath79/patches-4.14/0023-MIPS-ath79-drop-mach-files.patch 
> b/target/linux/ath79/patches-4.14/0023-MIPS-ath79-drop-mach-files.patch
> index b491371e0623..2d9a9bc97118 100644
> --- 
> a/target/linux/ath79/patches-4.14/0023-MIPS-ath79-drop-mach-files.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0023-MIPS-ath79-drop-mach-files.patch
> @@ -21,10 +21,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   delete mode 100644 arch/mips/ath79/mach-pb44.c
>   delete mode 100644 arch/mips/ath79/mach-ubnt-xm.c
> 
> -Index: linux-4.14.25/arch/mips/ath79/Kconfig
> -===================================================================
> ---- linux-4.14.25.orig/arch/mips/ath79/Kconfig
> -+++ linux-4.14.25/arch/mips/ath79/Kconfig
> +--- a/arch/mips/ath79/Kconfig
> ++++ b/arch/mips/ath79/Kconfig
>  @@ -1,79 +1,6 @@
>   # SPDX-License-Identifier: GPL-2.0
>   if ATH79
> @@ -105,10 +103,8 @@ Index: linux-4.14.25/arch/mips/ath79/Kconfig
>   config SOC_AR71XX
>   	select HW_HAS_PCI
>   	def_bool n
> -Index: linux-4.14.25/arch/mips/ath79/Makefile
> -===================================================================
> ---- linux-4.14.25.orig/arch/mips/ath79/Makefile
> -+++ linux-4.14.25/arch/mips/ath79/Makefile
> +--- a/arch/mips/ath79/Makefile
> ++++ b/arch/mips/ath79/Makefile
>  @@ -21,13 +21,3 @@ obj-$(CONFIG_ATH79_DEV_LEDS_GPIO)	+= dev
>   obj-$(CONFIG_ATH79_DEV_SPI)		+= dev-spi.o
>   obj-$(CONFIG_ATH79_DEV_USB)		+= dev-usb.o
> @@ -123,9 +119,7 @@ Index: linux-4.14.25/arch/mips/ath79/Makefile
>  -obj-$(CONFIG_ATH79_MACH_DB120)		+= mach-db120.o
>  -obj-$(CONFIG_ATH79_MACH_PB44)		+= mach-pb44.o
>  -obj-$(CONFIG_ATH79_MACH_UBNT_XM)	+= mach-ubnt-xm.o
> -Index: linux-4.14.25/arch/mips/ath79/mach-ap121.c
> -===================================================================
> ---- linux-4.14.25.orig/arch/mips/ath79/mach-ap121.c
> +--- a/arch/mips/ath79/mach-ap121.c
>  +++ /dev/null
>  @@ -1,92 +0,0 @@
>  -/*
> @@ -220,9 +214,7 @@ Index: linux-4.14.25/arch/mips/ath79/mach-ap121.c
>  -
>  -MIPS_MACHINE(ATH79_MACH_AP121, "AP121", "Atheros AP121 reference 
> board",
>  -	     ap121_setup);
> -Index: linux-4.14.25/arch/mips/ath79/mach-ap136.c
> -===================================================================
> ---- linux-4.14.25.orig/arch/mips/ath79/mach-ap136.c
> +--- a/arch/mips/ath79/mach-ap136.c
>  +++ /dev/null
>  @@ -1,156 +0,0 @@
>  -/*
> @@ -381,9 +373,7 @@ Index: linux-4.14.25/arch/mips/ath79/mach-ap136.c
>  -MIPS_MACHINE(ATH79_MACH_AP136_010, "AP136-010",
>  -	     "Atheros AP136-010 reference board",
>  -	     ap136_setup);
> -Index: linux-4.14.25/arch/mips/ath79/mach-ap81.c
> -===================================================================
> ---- linux-4.14.25.orig/arch/mips/ath79/mach-ap81.c
> +--- a/arch/mips/ath79/mach-ap81.c
>  +++ /dev/null
>  @@ -1,100 +0,0 @@
>  -/*
> @@ -486,9 +476,7 @@ Index: linux-4.14.25/arch/mips/ath79/mach-ap81.c
>  -
>  -MIPS_MACHINE(ATH79_MACH_AP81, "AP81", "Atheros AP81 reference 
> board",
>  -	     ap81_setup);
> -Index: linux-4.14.25/arch/mips/ath79/mach-db120.c
> -===================================================================
> ---- linux-4.14.25.orig/arch/mips/ath79/mach-db120.c
> +--- a/arch/mips/ath79/mach-db120.c
>  +++ /dev/null
>  @@ -1,136 +0,0 @@
>  -/*
> @@ -627,9 +615,7 @@ Index: linux-4.14.25/arch/mips/ath79/mach-db120.c
>  -
>  -MIPS_MACHINE(ATH79_MACH_DB120, "DB120", "Atheros DB120 reference 
> board",
>  -	     db120_setup);
> -Index: linux-4.14.25/arch/mips/ath79/mach-pb44.c
> -===================================================================
> ---- linux-4.14.25.orig/arch/mips/ath79/mach-pb44.c
> +--- a/arch/mips/ath79/mach-pb44.c
>  +++ /dev/null
>  @@ -1,122 +0,0 @@
>  -/*
> diff --git 
> a/target/linux/ath79/patches-4.14/0024-MIPS-ath79-drop-pdata-helpers.patch 
> b/target/linux/ath79/patches-4.14/0024-MIPS-ath79-drop-pdata-helpers.patch
> index a5d517093d9c..8c4956ec343b 100644
> --- 
> a/target/linux/ath79/patches-4.14/0024-MIPS-ath79-drop-pdata-helpers.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0024-MIPS-ath79-drop-pdata-helpers.patch
> @@ -32,9 +32,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   delete mode 100644 arch/mips/ath79/dev-wmac.c
>   delete mode 100644 arch/mips/ath79/dev-wmac.h
> 
> -diff --git a/arch/mips/ath79/dev-common.c 
> b/arch/mips/ath79/dev-common.c
> -deleted file mode 100644
> -index ac8bfe86b656..000000000000
>  --- a/arch/mips/ath79/dev-common.c
>  +++ /dev/null
>  @@ -1,168 +0,0 @@
> @@ -206,9 +203,6 @@ index ac8bfe86b656..000000000000
>  -
>  -	platform_device_register(&ath79_gpio_device);
>  -}
> -diff --git a/arch/mips/ath79/dev-common.h 
> b/arch/mips/ath79/dev-common.h
> -deleted file mode 100644
> -index 0f514e1affce..000000000000
>  --- a/arch/mips/ath79/dev-common.h
>  +++ /dev/null
>  @@ -1,18 +0,0 @@
> @@ -230,9 +224,6 @@ index 0f514e1affce..000000000000
>  -void ath79_register_wdt(void);
>  -
>  -#endif /* _ATH79_DEV_COMMON_H */
> -diff --git a/arch/mips/ath79/dev-gpio-buttons.c 
> b/arch/mips/ath79/dev-gpio-buttons.c
> -deleted file mode 100644
> -index 366b35fb164d..000000000000
>  --- a/arch/mips/ath79/dev-gpio-buttons.c
>  +++ /dev/null
>  @@ -1,56 +0,0 @@
> @@ -292,9 +283,6 @@ index 366b35fb164d..000000000000
>  -err_free_buttons:
>  -	kfree(p);
>  -}
> -diff --git a/arch/mips/ath79/dev-gpio-buttons.h 
> b/arch/mips/ath79/dev-gpio-buttons.h
> -deleted file mode 100644
> -index 481847ac1cba..000000000000
>  --- a/arch/mips/ath79/dev-gpio-buttons.h
>  +++ /dev/null
>  @@ -1,23 +0,0 @@
> @@ -321,9 +309,6 @@ index 481847ac1cba..000000000000
>  -				     struct gpio_keys_button *buttons);
>  -
>  -#endif /* _ATH79_DEV_GPIO_BUTTONS_H */
> -diff --git a/arch/mips/ath79/dev-leds-gpio.c 
> b/arch/mips/ath79/dev-leds-gpio.c
> -deleted file mode 100644
> -index dcb1debcefb8..000000000000
>  --- a/arch/mips/ath79/dev-leds-gpio.c
>  +++ /dev/null
>  @@ -1,54 +0,0 @@
> @@ -381,9 +366,6 @@ index dcb1debcefb8..000000000000
>  -err_free_leds:
>  -	kfree(p);
>  -}
> -diff --git a/arch/mips/ath79/dev-leds-gpio.h 
> b/arch/mips/ath79/dev-leds-gpio.h
> -deleted file mode 100644
> -index 6e5d8851ebcf..000000000000
>  --- a/arch/mips/ath79/dev-leds-gpio.h
>  +++ /dev/null
>  @@ -1,21 +0,0 @@
> @@ -408,9 +390,6 @@ index 6e5d8851ebcf..000000000000
>  -			      struct gpio_led *leds);
>  -
>  -#endif /* _ATH79_DEV_LEDS_GPIO_H */
> -diff --git a/arch/mips/ath79/dev-spi.c b/arch/mips/ath79/dev-spi.c
> -deleted file mode 100644
> -index aa30163efbfd..000000000000
>  --- a/arch/mips/ath79/dev-spi.c
>  +++ /dev/null
>  @@ -1,38 +0,0 @@
> @@ -452,9 +431,6 @@ index aa30163efbfd..000000000000
>  -	ath79_spi_device.dev.platform_data = pdata;
>  -	platform_device_register(&ath79_spi_device);
>  -}
> -diff --git a/arch/mips/ath79/dev-spi.h b/arch/mips/ath79/dev-spi.h
> -deleted file mode 100644
> -index d732565ca736..000000000000
>  --- a/arch/mips/ath79/dev-spi.h
>  +++ /dev/null
>  @@ -1,22 +0,0 @@
> @@ -480,9 +456,6 @@ index d732565ca736..000000000000
>  -			 unsigned n);
>  -
>  -#endif /* _ATH79_DEV_SPI_H */
> -diff --git a/arch/mips/ath79/dev-usb.c b/arch/mips/ath79/dev-usb.c
> -deleted file mode 100644
> -index 8227265bcc2d..000000000000
>  --- a/arch/mips/ath79/dev-usb.c
>  +++ /dev/null
>  @@ -1,242 +0,0 @@
> @@ -728,9 +701,6 @@ index 8227265bcc2d..000000000000
>  -	else
>  -		BUG();
>  -}
> -diff --git a/arch/mips/ath79/dev-usb.h b/arch/mips/ath79/dev-usb.h
> -deleted file mode 100644
> -index 4b86a69ca080..000000000000
>  --- a/arch/mips/ath79/dev-usb.h
>  +++ /dev/null
>  @@ -1,17 +0,0 @@
> @@ -751,9 +721,6 @@ index 4b86a69ca080..000000000000
>  -void ath79_register_usb(void);
>  -
>  -#endif /* _ATH79_DEV_USB_H */
> -diff --git a/arch/mips/ath79/dev-wmac.c b/arch/mips/ath79/dev-wmac.c
> -deleted file mode 100644
> -index da190b1b87ce..000000000000
>  --- a/arch/mips/ath79/dev-wmac.c
>  +++ /dev/null
>  @@ -1,155 +0,0 @@
> @@ -912,9 +879,6 @@ index da190b1b87ce..000000000000
>  -
>  -	platform_device_register(&ath79_wmac_device);
>  -}
> -diff --git a/arch/mips/ath79/dev-wmac.h b/arch/mips/ath79/dev-wmac.h
> -deleted file mode 100644
> -index c9cd8709f090..000000000000
>  --- a/arch/mips/ath79/dev-wmac.h
>  +++ /dev/null
>  @@ -1,17 +0,0 @@
> @@ -935,8 +899,6 @@ index c9cd8709f090..000000000000
>  -void ath79_register_wmac(u8 *cal_data);
>  -
>  -#endif /* _ATH79_DEV_WMAC_H */
> -diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
> -index 4c7a93f4039a..8d7ffa2e8265 100644
>  --- a/arch/mips/ath79/setup.c
>  +++ b/arch/mips/ath79/setup.c
>  @@ -31,7 +31,6 @@
> @@ -958,6 +920,3 @@ index 4c7a93f4039a..8d7ffa2e8265 100644
>   	mips_machine_setup();
> 
>   	return 0;
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0025-MIPS-ath79-drop-irq.c.patch 
> b/target/linux/ath79/patches-4.14/0025-MIPS-ath79-drop-irq.c.patch
> index 738f239af01d..95b29455f0db 100644
> --- a/target/linux/ath79/patches-4.14/0025-MIPS-ath79-drop-irq.c.patch
> +++ b/target/linux/ath79/patches-4.14/0025-MIPS-ath79-drop-irq.c.patch
> @@ -13,8 +13,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   3 files changed, 7 insertions(+), 286 deletions(-)
>   delete mode 100644 arch/mips/ath79/irq.c
> 
> -diff --git a/arch/mips/ath79/Makefile b/arch/mips/ath79/Makefile
> -index 783369bc1c5b..bd0c9b8b1b5b 100644
>  --- a/arch/mips/ath79/Makefile
>  +++ b/arch/mips/ath79/Makefile
>  @@ -8,7 +8,7 @@
> @@ -26,9 +24,6 @@ index 783369bc1c5b..bd0c9b8b1b5b 100644
> 
>   obj-$(CONFIG_EARLY_PRINTK)		+= early_printk.o
> 
> -diff --git a/arch/mips/ath79/irq.c b/arch/mips/ath79/irq.c
> -deleted file mode 100644
> -index 58d17ef6f58f..000000000000
>  --- a/arch/mips/ath79/irq.c
>  +++ /dev/null
>  @@ -1,285 +0,0 @@
> @@ -317,8 +312,6 @@ index 58d17ef6f58f..000000000000
>  -	else if (soc_is_qca956x() || soc_is_tp9343())
>  -		qca956x_irq_init();
>  -}
> -diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
> -index 8d7ffa2e8265..7b089c07d2fa 100644
>  --- a/arch/mips/ath79/setup.c
>  +++ b/arch/mips/ath79/setup.c
>  @@ -19,6 +19,7 @@
> @@ -341,6 +334,3 @@ index 8d7ffa2e8265..7b089c07d2fa 100644
>   static int __init ath79_setup(void)
>   {
>   	if  (mips_machtype == ATH79_MACH_GENERIC_OF)
> ---
> -2.11.0
> -
> diff --git 
> a/target/linux/ath79/patches-4.14/0026-MIPS-ath79-sanitize-Kconfig-symbols.patch 
> b/target/linux/ath79/patches-4.14/0026-MIPS-ath79-sanitize-Kconfig-symbols.patch
> index 5f41656d1bcd..f9906516d9bc 100644
> --- 
> a/target/linux/ath79/patches-4.14/0026-MIPS-ath79-sanitize-Kconfig-symbols.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0026-MIPS-ath79-sanitize-Kconfig-symbols.patch
> @@ -11,10 +11,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   arch/mips/pci/Makefile   |  2 +-
>   4 files changed, 8 insertions(+), 54 deletions(-)
> 
> -Index: linux-4.14.18/arch/mips/Kconfig
> -===================================================================
> ---- linux-4.14.18.orig/arch/mips/Kconfig
> -+++ linux-4.14.18/arch/mips/Kconfig
> +--- a/arch/mips/Kconfig
> ++++ b/arch/mips/Kconfig
>  @@ -203,6 +203,8 @@ config ATH79
>   	select SYS_SUPPORTS_BIG_ENDIAN
>   	select SYS_SUPPORTS_MIPS16
> @@ -24,10 +22,8 @@ Index: linux-4.14.18/arch/mips/Kconfig
>   	select USE_OF
>   	help
>   	  Support for the Atheros AR71XX/AR724X/AR913X SoCs.
> -Index: linux-4.14.18/arch/mips/ath79/Kconfig
> -===================================================================
> ---- linux-4.14.18.orig/arch/mips/ath79/Kconfig
> -+++ linux-4.14.18/arch/mips/ath79/Kconfig
> +--- a/arch/mips/ath79/Kconfig
> ++++ b/arch/mips/ath79/Kconfig
>  @@ -1,52 +1,14 @@
>   # SPDX-License-Identifier: GPL-2.0
>   if ATH79
> @@ -86,10 +82,8 @@ Index: linux-4.14.18/arch/mips/ath79/Kconfig
>   	def_bool n
> 
>   endif
> -Index: linux-4.14.18/arch/mips/ath79/Makefile
> -===================================================================
> ---- linux-4.14.18.orig/arch/mips/ath79/Makefile
> -+++ linux-4.14.18/arch/mips/ath79/Makefile
> +--- a/arch/mips/ath79/Makefile
> ++++ b/arch/mips/ath79/Makefile
>  @@ -11,13 +11,3 @@
>   obj-y	:= prom.o setup.o common.o clock.o
> 
> @@ -104,10 +98,8 @@ Index: linux-4.14.18/arch/mips/ath79/Makefile
>  -obj-$(CONFIG_ATH79_DEV_SPI)		+= dev-spi.o
>  -obj-$(CONFIG_ATH79_DEV_USB)		+= dev-usb.o
>  -obj-$(CONFIG_ATH79_DEV_WMAC)		+= dev-wmac.o
> -Index: linux-4.14.18/arch/mips/pci/Makefile
> -===================================================================
> ---- linux-4.14.18.orig/arch/mips/pci/Makefile
> -+++ linux-4.14.18/arch/mips/pci/Makefile
> +--- a/arch/mips/pci/Makefile
> ++++ b/arch/mips/pci/Makefile
>  @@ -23,7 +23,7 @@ obj-$(CONFIG_BCM63XX)		+= pci-bcm63xx.o
>   					ops-bcm63xx.o
>   obj-$(CONFIG_MIPS_ALCHEMY)	+= pci-alchemy.o
> diff --git 
> a/target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch 
> b/target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch
> index fd47b775f03d..cde3bae67419 100644
> --- 
> a/target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch
> @@ -11,10 +11,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
>   3 files changed, 10 insertions(+), 93 deletions(-)
>   delete mode 100644 arch/mips/ath79/machtypes.h
> 
> -Index: linux-4.14.18/arch/mips/Kconfig
> -===================================================================
> ---- linux-4.14.18.orig/arch/mips/Kconfig
> -+++ linux-4.14.18/arch/mips/Kconfig
> +--- a/arch/mips/Kconfig
> ++++ b/arch/mips/Kconfig
>  @@ -196,7 +196,6 @@ config ATH79
>   	select COMMON_CLK
>   	select CLKDEV_LOOKUP
> @@ -23,9 +21,7 @@ Index: linux-4.14.18/arch/mips/Kconfig
>   	select SYS_HAS_CPU_MIPS32_R2
>   	select SYS_HAS_EARLY_PRINTK
>   	select SYS_SUPPORTS_32BIT_KERNEL
> -Index: linux-4.14.18/arch/mips/ath79/machtypes.h
> -===================================================================
> ---- linux-4.14.18.orig/arch/mips/ath79/machtypes.h
> +--- a/arch/mips/ath79/machtypes.h
>  +++ /dev/null
>  @@ -1,28 +0,0 @@
>  -/*
> @@ -56,10 +52,8 @@ Index: linux-4.14.18/arch/mips/ath79/machtypes.h
>  -};
>  -
>  -#endif /* _ATH79_MACHTYPE_H */
> -Index: linux-4.14.18/arch/mips/ath79/setup.c
> -===================================================================
> ---- linux-4.14.18.orig/arch/mips/ath79/setup.c
> -+++ linux-4.14.18/arch/mips/ath79/setup.c
> +--- a/arch/mips/ath79/setup.c
> ++++ b/arch/mips/ath79/setup.c
>  @@ -32,7 +32,6 @@
>   #include <asm/mach-ath79/ath79.h>
>   #include <asm/mach-ath79/ar71xx_regs.h>
> @@ -166,10 +160,8 @@ Index: linux-4.14.18/arch/mips/ath79/setup.c
>  -	     "DTB",
>  -	     "Generic AR71XX/AR724X/AR913X based board (DT)",
>  -	     NULL);
> -Index: linux-4.14.18/arch/mips/ath79/clock.c
> -===================================================================
> ---- linux-4.14.18.orig/arch/mips/ath79/clock.c
> -+++ linux-4.14.18/arch/mips/ath79/clock.c
> +--- a/arch/mips/ath79/clock.c
> ++++ b/arch/mips/ath79/clock.c
>  @@ -26,7 +26,6 @@
>   #include <asm/mach-ath79/ath79.h>
>   #include <asm/mach-ath79/ar71xx_regs.h>
> diff --git 
> a/target/linux/ath79/patches-4.14/0028-MIPS-ath79-add-helpers-for-setting-clocks-and-expose.patch 
> b/target/linux/ath79/patches-4.14/0028-MIPS-ath79-add-helpers-for-setting-clocks-and-expose.patch
> index 4e73c0a7fd24..15f6b1f8cea8 100644
> --- 
> a/target/linux/ath79/patches-4.14/0028-MIPS-ath79-add-helpers-for-setting-clocks-and-expose.patch
> +++ 
> b/target/linux/ath79/patches-4.14/0028-MIPS-ath79-add-helpers-for-setting-clocks-and-expose.patch
> @@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>  +	clks[type] = clk;
>  +	clk_register_clkdev(clk, name, NULL);
>  +}
> -+
> +
>  +static struct clk * __init ath79_set_clk(int type, unsigned long 
> rate)
>  +{
>  +	const char *name = ath79_clk_name(type);
> @@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>  +{
>  +	const char *name = ath79_clk_name(type);
>  +	struct clk *clk;
> -
> ++
>  +	clk = clk_register_fixed_factor(NULL, name, parent, 0, mult, div);
>  +	__ath79_set_clk(type, name, clk);
>   	return clk;
> diff --git 
> a/target/linux/ath79/patches-4.14/004-register_gpio_driver_earlier.patch 
> b/target/linux/ath79/patches-4.14/004-register_gpio_driver_earlier.patch
> index 9090491f9f30..cc30e2d91e28 100644
> --- 
> a/target/linux/ath79/patches-4.14/004-register_gpio_driver_earlier.patch
> +++ 
> b/target/linux/ath79/patches-4.14/004-register_gpio_driver_earlier.patch
> @@ -1,10 +1,8 @@
>  HACK: register the GPIO driver earlier to ensure that gpio_request 
> calls
>  from mach files succeed.
> 
> -Index: linux-4.14.18/drivers/gpio/gpio-ath79.c
> -===================================================================
> ---- linux-4.14.18.orig/drivers/gpio/gpio-ath79.c
> -+++ linux-4.14.18/drivers/gpio/gpio-ath79.c
> +--- a/drivers/gpio/gpio-ath79.c
> ++++ b/drivers/gpio/gpio-ath79.c
>  @@ -322,7 +322,11 @@ static struct platform_driver ath79_gpio
>   	.remove = ath79_gpio_remove,
>   };
> diff --git 
> a/target/linux/ath79/patches-4.14/405-mtd-tp-link-partition-parser.patch 
> b/target/linux/ath79/patches-4.14/405-mtd-tp-link-partition-parser.patch
> index 3734d3e5c55a..846b7f0a0ccc 100644
> --- 
> a/target/linux/ath79/patches-4.14/405-mtd-tp-link-partition-parser.patch
> +++ 
> b/target/linux/ath79/patches-4.14/405-mtd-tp-link-partition-parser.patch
> @@ -1,7 +1,5 @@
> -Index: linux-4.14.18/drivers/mtd/Kconfig
> -===================================================================
> ---- linux-4.14.18.orig/drivers/mtd/Kconfig
> -+++ linux-4.14.18/drivers/mtd/Kconfig
> +--- a/drivers/mtd/Kconfig
> ++++ b/drivers/mtd/Kconfig
>  @@ -194,6 +194,12 @@ config MTD_MYLOADER_PARTS
>   	  You will still need the parsing functions to be called by the 
> driver
>   	  for your particular device. It won't happen automatically.
> @@ -15,10 +13,8 @@ Index: linux-4.14.18/drivers/mtd/Kconfig
>   comment "User Modules And Translation Layers"
> 
>   #
> -Index: linux-4.14.18/drivers/mtd/Makefile
> -===================================================================
> ---- linux-4.14.18.orig/drivers/mtd/Makefile
> -+++ linux-4.14.18/drivers/mtd/Makefile
> +--- a/drivers/mtd/Makefile
> ++++ b/drivers/mtd/Makefile
>  @@ -18,6 +18,7 @@ obj-$(CONFIG_MTD_BCM63XX_PARTS)	+= bcm63
>   obj-$(CONFIG_MTD_BCM47XX_PARTS)	+= bcm47xxpart.o
>   obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o
> diff --git 
> a/target/linux/ath79/patches-4.14/420-net-ar71xx_mac_driver.patch 
> b/target/linux/ath79/patches-4.14/420-net-ar71xx_mac_driver.patch
> index feb2e6a39387..6377db0ac22b 100644
> --- a/target/linux/ath79/patches-4.14/420-net-ar71xx_mac_driver.patch
> +++ b/target/linux/ath79/patches-4.14/420-net-ar71xx_mac_driver.patch
> @@ -18,7 +18,7 @@
>   endif # NET_VENDOR_ATHEROS
>  --- a/drivers/net/ethernet/atheros/Makefile
>  +++ b/drivers/net/ethernet/atheros/Makefile
> -@@ -2,6 +2,7 @@
> +@@ -3,6 +3,7 @@
>   # Makefile for the Atheros network device drivers.
>   #
> 
> diff --git 
> a/target/linux/ath79/patches-4.14/430-drivers-link-spi-before-mtd.patch 
> b/target/linux/ath79/patches-4.14/430-drivers-link-spi-before-mtd.patch
> index a86245459787..2f1549710bc9 100644
> --- 
> a/target/linux/ath79/patches-4.14/430-drivers-link-spi-before-mtd.patch
> +++ 
> b/target/linux/ath79/patches-4.14/430-drivers-link-spi-before-mtd.patch
> @@ -1,6 +1,6 @@
>  --- a/drivers/Makefile
>  +++ b/drivers/Makefile
> -@@ -77,8 +77,8 @@ obj-$(CONFIG_SCSI)		+= scsi/
> +@@ -83,8 +83,8 @@ obj-$(CONFIG_SCSI)		+= scsi/
>   obj-y				+= nvme/
>   obj-$(CONFIG_ATA)		+= ata/
>   obj-$(CONFIG_TARGET_CORE)	+= target/
> diff --git 
> a/target/linux/ath79/patches-4.14/461-spi-ath79-add-fast-flash-read.patch 
> b/target/linux/ath79/patches-4.14/461-spi-ath79-add-fast-flash-read.patch
> index 5c3583f758bb..06da2b34e889 100644
> --- 
> a/target/linux/ath79/patches-4.14/461-spi-ath79-add-fast-flash-read.patch
> +++ 
> b/target/linux/ath79/patches-4.14/461-spi-ath79-add-fast-flash-read.patch
> @@ -10,7 +10,7 @@
>   }
> 
>   static void ath79_spi_disable(struct ath79_spi *sp)
> -@@ -205,6 +202,38 @@ static u32 ath79_spi_txrx_mode0(struct s
> +@@ -204,6 +201,38 @@ static u32 ath79_spi_txrx_mode0(struct s
>   	return ath79_spi_rr(sp, AR71XX_SPI_REG_RDS);
>   }
> 
> @@ -49,9 +49,9 @@
>   static int ath79_spi_probe(struct platform_device *pdev)
>   {
>   	struct spi_master *master;
> -@@ -234,6 +263,8 @@ static int ath79_spi_probe(struct platfo
> +@@ -232,6 +261,8 @@ static int ath79_spi_probe(struct platfo
> + 		master->bus_num = pdata->bus_num;
>   		master->num_chipselect = pdata->num_chipselect;
> - 		master->cs_gpios = pdata->cs_gpios;
>   	}
>  +	master->spi_flash_read = ath79_spi_read_flash_data;
>  +	master->flash_read_supported = ath79_spi_flash_read_supported;
> diff --git 
> a/target/linux/ath79/patches-4.14/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch 
> b/target/linux/ath79/patches-4.14/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch
> index c0d30eaefa98..ad8b7b47d110 100644
> --- 
> a/target/linux/ath79/patches-4.14/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch
> +++ 
> b/target/linux/ath79/patches-4.14/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch
> @@ -1,7 +1,5 @@
> -Index: linux-4.14.18/arch/mips/include/asm/mach-ath79/mangle-port.h
> -===================================================================
>  --- /dev/null
> -+++ linux-4.14.18/arch/mips/include/asm/mach-ath79/mangle-port.h
> ++++ b/arch/mips/include/asm/mach-ath79/mangle-port.h
>  @@ -0,0 +1,37 @@
>  +/*
>  + *  Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
> @@ -40,10 +38,8 @@ Index: 
> linux-4.14.18/arch/mips/include/asm/mach-ath79/mangle-port.h
>  +# define __mem_ioswabq(a, x)     cpu_to_le64(x)
>  +
>  +#endif /* __ASM_MACH_ATH79_MANGLE_PORT_H */
> -Index: linux-4.14.18/arch/mips/pci/pci-ar71xx.c
> -===================================================================
> ---- linux-4.14.18.orig/arch/mips/pci/pci-ar71xx.c
> -+++ linux-4.14.18/arch/mips/pci/pci-ar71xx.c
> +--- a/arch/mips/pci/pci-ar71xx.c
> ++++ b/arch/mips/pci/pci-ar71xx.c
>  @@ -73,6 +73,45 @@ static const u32 ar71xx_pci_read_mask[8]
>   	0, 0xff, 0xffff, 0, 0xffffffff, 0, 0, 0
>   };
> diff --git 
> a/target/linux/ath79/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch 
> b/target/linux/ath79/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch
> index 8a05adb05060..1d1979cd6eb8 100644
> --- 
> a/target/linux/ath79/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch
> +++ 
> b/target/linux/ath79/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch
> @@ -40,7 +40,7 @@
>   	retval = ehci_handshake(ehci, &ehci->regs->command,
>  --- a/drivers/usb/host/ehci.h
>  +++ b/drivers/usb/host/ehci.h
> -@@ -231,6 +231,10 @@ struct ehci_hcd {			/* one per controlle
> +@@ -232,6 +232,10 @@ struct ehci_hcd {			/* one per controlle
>   	unsigned		need_oc_pp_cycle:1; /* MPC834X port power */
>   	unsigned		imx28_write_fix:1; /* For Freescale i.MX28 */
>   	unsigned		ignore_oc:1;
> @@ -72,7 +72,7 @@
>   #endif /* __USB_CORE_EHCI_PDRIVER_H */
>  --- a/drivers/usb/host/ehci-platform.c
>  +++ b/drivers/usb/host/ehci-platform.c
> -@@ -52,6 +52,14 @@ struct ehci_platform_priv {
> +@@ -53,6 +53,14 @@ struct ehci_platform_priv {
> 
>   static const char hcd_name[] = "ehci-platform";
> 
> @@ -87,7 +87,7 @@
>   static int ehci_platform_reset(struct usb_hcd *hcd)
>   {
>   	struct platform_device *pdev = 
> to_platform_device(hcd->self.controller);
> -@@ -261,6 +269,13 @@ static int ehci_platform_probe(struct pl
> +@@ -270,6 +278,13 @@ static int ehci_platform_probe(struct pl
>   		priv->reset_on_resume = true;
>   	if (pdata->ignore_oc)
>   		ehci->ignore_oc = 1;
> diff --git 
> a/target/linux/ath79/patches-4.14/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch 
> b/target/linux/ath79/patches-4.14/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch
> index 6151cc292a97..a830346a31ef 100644
> --- 
> a/target/linux/ath79/patches-4.14/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch
> +++ 
> b/target/linux/ath79/patches-4.14/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch
> @@ -12,10 +12,8 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
>   drivers/net/phy/mdio-bitbang.c | 9 +++++++++
>   1 file changed, 9 insertions(+)
> 
> -Index: linux-4.14.18/drivers/net/phy/mdio-bitbang.c
> -===================================================================
> ---- linux-4.14.18.orig/drivers/net/phy/mdio-bitbang.c
> -+++ linux-4.14.18/drivers/net/phy/mdio-bitbang.c
> +--- a/drivers/net/phy/mdio-bitbang.c
> ++++ b/drivers/net/phy/mdio-bitbang.c
>  @@ -17,6 +17,7 @@
>    * kind, whether express or implied.
>    */
> diff --git 
> a/target/linux/ath79/patches-4.14/902-at803x-add-reset-gpio-pdata.patch 
> b/target/linux/ath79/patches-4.14/902-at803x-add-reset-gpio-pdata.patch
> index cb3ed89e985c..7822158cf29a 100644
> --- 
> a/target/linux/ath79/patches-4.14/902-at803x-add-reset-gpio-pdata.patch
> +++ 
> b/target/linux/ath79/patches-4.14/902-at803x-add-reset-gpio-pdata.patch
> @@ -16,7 +16,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>   #endif /* _PHY_AT803X_PDATA_H */
>  --- a/drivers/net/phy/at803x.c
>  +++ b/drivers/net/phy/at803x.c
> -@@ -264,6 +264,7 @@ static int at803x_resume(struct phy_devi
> +@@ -261,6 +261,7 @@ static int at803x_resume(struct phy_devi
> 
>   static int at803x_probe(struct phy_device *phydev)
>   {
> @@ -24,7 +24,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>   	struct device *dev = &phydev->mdio.dev;
>   	struct at803x_priv *priv;
>   	struct gpio_desc *gpiod_reset;
> -@@ -276,6 +277,12 @@ static int at803x_probe(struct phy_devic
> +@@ -273,6 +274,12 @@ static int at803x_probe(struct phy_devic
>   	    phydev->drv->phy_id != ATH8032_PHY_ID)
>   		goto does_not_require_reset_workaround;
> 
> @@ -37,7 +37,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>   	gpiod_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
>   	if (IS_ERR(gpiod_reset))
>   		return PTR_ERR(gpiod_reset);
> -@@ -407,15 +414,23 @@ static void at803x_link_change_notify(st
> +@@ -404,15 +411,23 @@ static void at803x_link_change_notify(st
>   	 * cannot recover from by software.
>   	 */
>   	if (phydev->state == PHY_NOLINK) {
> diff --git 
> a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch 
> b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch
> index 1ac28e67c278..e2ca932af04a 100644
> --- a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch
> +++ b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch
> @@ -1,7 +1,5 @@
> -Index: linux-4.14.18/arch/mips/include/asm/checksum.h
> -===================================================================
> ---- linux-4.14.18.orig/arch/mips/include/asm/checksum.h
> -+++ linux-4.14.18/arch/mips/include/asm/checksum.h
> +--- a/arch/mips/include/asm/checksum.h
> ++++ b/arch/mips/include/asm/checksum.h
>  @@ -134,26 +134,30 @@ static inline __sum16 ip_fast_csum(const
>   	const unsigned int *stop = word + ihl;
>   	unsigned int csum;
> @@ -118,10 +116,8 @@ Index: 
> linux-4.14.18/arch/mips/include/asm/checksum.h
>   #include <asm-generic/checksum.h>
>   #endif /* CONFIG_GENERIC_CSUM */
> 
> -Index: linux-4.14.18/include/uapi/linux/ip.h
> -===================================================================
> ---- linux-4.14.18.orig/include/uapi/linux/ip.h
> -+++ linux-4.14.18/include/uapi/linux/ip.h
> +--- a/include/uapi/linux/ip.h
> ++++ b/include/uapi/linux/ip.h
>  @@ -103,7 +103,7 @@ struct iphdr {
>   	__be32	saddr;
>   	__be32	daddr;
> @@ -131,10 +127,8 @@ Index: linux-4.14.18/include/uapi/linux/ip.h
> 
> 
>   struct ip_auth_hdr {
> -Index: linux-4.14.18/include/uapi/linux/ipv6.h
> -===================================================================
> ---- linux-4.14.18.orig/include/uapi/linux/ipv6.h
> -+++ linux-4.14.18/include/uapi/linux/ipv6.h
> +--- a/include/uapi/linux/ipv6.h
> ++++ b/include/uapi/linux/ipv6.h
>  @@ -131,7 +131,7 @@ struct ipv6hdr {
> 
>   	struct	in6_addr	saddr;
> @@ -144,10 +138,8 @@ Index: linux-4.14.18/include/uapi/linux/ipv6.h
> 
> 
>   /* index values for the variables in ipv6_devconf */
> -Index: linux-4.14.18/include/uapi/linux/tcp.h
> -===================================================================
> ---- linux-4.14.18.orig/include/uapi/linux/tcp.h
> -+++ linux-4.14.18/include/uapi/linux/tcp.h
> +--- a/include/uapi/linux/tcp.h
> ++++ b/include/uapi/linux/tcp.h
>  @@ -55,7 +55,7 @@ struct tcphdr {
>   	__be16	window;
>   	__sum16	check;
> @@ -166,10 +158,8 @@ Index: linux-4.14.18/include/uapi/linux/tcp.h
> 
>   #define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3])
> 
> -Index: linux-4.14.18/include/uapi/linux/udp.h
> -===================================================================
> ---- linux-4.14.18.orig/include/uapi/linux/udp.h
> -+++ linux-4.14.18/include/uapi/linux/udp.h
> +--- a/include/uapi/linux/udp.h
> ++++ b/include/uapi/linux/udp.h
>  @@ -25,7 +25,7 @@ struct udphdr {
>   	__be16	dest;
>   	__be16	len;
> @@ -179,10 +169,8 @@ Index: linux-4.14.18/include/uapi/linux/udp.h
> 
>   /* UDP socket options */
>   #define UDP_CORK	1	/* Never send partially complete segments */
> -Index: linux-4.14.18/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
> -===================================================================
> ---- linux-4.14.18.orig/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
> -+++ linux-4.14.18/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
> +--- a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
> ++++ b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
>  @@ -48,8 +48,8 @@ static bool ipv4_pkt_to_tuple(const stru
>   	if (ap == NULL)
>   		return false;
> @@ -194,10 +182,8 @@ Index: 
> linux-4.14.18/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
> 
>   	return true;
>   }
> -Index: linux-4.14.18/include/uapi/linux/icmp.h
> -===================================================================
> ---- linux-4.14.18.orig/include/uapi/linux/icmp.h
> -+++ linux-4.14.18/include/uapi/linux/icmp.h
> +--- a/include/uapi/linux/icmp.h
> ++++ b/include/uapi/linux/icmp.h
>  @@ -82,7 +82,7 @@ struct icmphdr {
>   	} frag;
>   	__u8	reserved[4];
> @@ -207,10 +193,8 @@ Index: linux-4.14.18/include/uapi/linux/icmp.h
> 
> 
>   /*
> -Index: linux-4.14.18/include/uapi/linux/in6.h
> -===================================================================
> ---- linux-4.14.18.orig/include/uapi/linux/in6.h
> -+++ linux-4.14.18/include/uapi/linux/in6.h
> +--- a/include/uapi/linux/in6.h
> ++++ b/include/uapi/linux/in6.h
>  @@ -43,7 +43,7 @@ struct in6_addr {
>   #define s6_addr16		in6_u.u6_addr16
>   #define s6_addr32		in6_u.u6_addr32
> @@ -220,10 +204,8 @@ Index: linux-4.14.18/include/uapi/linux/in6.h
>   #endif /* __UAPI_DEF_IN6_ADDR */
> 
>   #if __UAPI_DEF_SOCKADDR_IN6
> -Index: linux-4.14.18/net/ipv6/tcp_ipv6.c
> -===================================================================
> ---- linux-4.14.18.orig/net/ipv6/tcp_ipv6.c
> -+++ linux-4.14.18/net/ipv6/tcp_ipv6.c
> +--- a/net/ipv6/tcp_ipv6.c
> ++++ b/net/ipv6/tcp_ipv6.c
>  @@ -39,6 +39,7 @@
>   #include <linux/ipsec.h>
>   #include <linux/times.h>
> @@ -247,10 +229,8 @@ Index: linux-4.14.18/net/ipv6/tcp_ipv6.c
>   	}
> 
>   #ifdef CONFIG_TCP_MD5SIG
> -Index: linux-4.14.18/include/linux/ipv6.h
> -===================================================================
> ---- linux-4.14.18.orig/include/linux/ipv6.h
> -+++ linux-4.14.18/include/linux/ipv6.h
> +--- a/include/linux/ipv6.h
> ++++ b/include/linux/ipv6.h
>  @@ -6,6 +6,7 @@
> 
>   #define ipv6_optlen(p)  (((p)->hdrlen+1) << 3)
> @@ -259,11 +239,9 @@ Index: linux-4.14.18/include/linux/ipv6.h
>   /*
>    * This structure contains configuration options per IPv6 link.
>    */
> -Index: linux-4.14.18/net/ipv6/datagram.c
> -===================================================================
> ---- linux-4.14.18.orig/net/ipv6/datagram.c
> -+++ linux-4.14.18/net/ipv6/datagram.c
> -@@ -478,7 +478,7 @@ int ipv6_recv_error(struct sock *sk, str
> +--- a/net/ipv6/datagram.c
> ++++ b/net/ipv6/datagram.c
> +@@ -485,7 +485,7 @@ int ipv6_recv_error(struct sock *sk, str
>   				ipv6_iface_scope_id(&sin->sin6_addr,
>   						    IP6CB(skb)->iif);
>   		} else {
> @@ -272,7 +250,7 @@ Index: linux-4.14.18/net/ipv6/datagram.c
>   					       &sin->sin6_addr);
>   			sin->sin6_scope_id = 0;
>   		}
> -@@ -826,12 +826,12 @@ int ip6_datagram_send_ctl(struct net *ne
> +@@ -833,12 +833,12 @@ int ip6_datagram_send_ctl(struct net *ne
>   			}
> 
>   			if (fl6->flowlabel&IPV6_FLOWINFO_MASK) {
> @@ -287,11 +265,9 @@ Index: linux-4.14.18/net/ipv6/datagram.c
>   			break;
> 
>   		case IPV6_2292HOPOPTS:
> -Index: linux-4.14.18/net/ipv6/ip6_gre.c
> -===================================================================
> ---- linux-4.14.18.orig/net/ipv6/ip6_gre.c
> -+++ linux-4.14.18/net/ipv6/ip6_gre.c
> -@@ -395,7 +395,7 @@ static void ip6gre_err(struct sk_buff *s
> +--- a/net/ipv6/ip6_gre.c
> ++++ b/net/ipv6/ip6_gre.c
> +@@ -397,7 +397,7 @@ static void ip6gre_err(struct sk_buff *s
>   		return;
>   	ipv6h = (const struct ipv6hdr *)skb->data;
>   	greh = (const struct gre_base_hdr *)(skb->data + offset);
> @@ -300,10 +276,8 @@ Index: linux-4.14.18/net/ipv6/ip6_gre.c
> 
>   	t = ip6gre_tunnel_lookup(skb->dev, &ipv6h->daddr, &ipv6h->saddr,
>   				 key, greh->protocol);
> -Index: linux-4.14.18/net/ipv6/exthdrs.c
> -===================================================================
> ---- linux-4.14.18.orig/net/ipv6/exthdrs.c
> -+++ linux-4.14.18/net/ipv6/exthdrs.c
> +--- a/net/ipv6/exthdrs.c
> ++++ b/net/ipv6/exthdrs.c
>  @@ -733,7 +733,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
>   		goto drop;
>   	}
> @@ -313,10 +287,8 @@ Index: linux-4.14.18/net/ipv6/exthdrs.c
>   	if (pkt_len <= IPV6_MAXPLEN) {
>   		__IP6_INC_STATS(net, ipv6_skb_idev(skb),
>   				IPSTATS_MIB_INHDRERRORS);
> -Index: linux-4.14.18/include/linux/types.h
> -===================================================================
> ---- linux-4.14.18.orig/include/linux/types.h
> -+++ linux-4.14.18/include/linux/types.h
> +--- a/include/linux/types.h
> ++++ b/include/linux/types.h
>  @@ -229,5 +229,11 @@ struct callback_head {
>   typedef void (*rcu_callback_t)(struct rcu_head *head);
>   typedef void (*call_rcu_func_t)(struct rcu_head *head, 
> rcu_callback_t func);
> @@ -329,10 +301,8 @@ Index: linux-4.14.18/include/linux/types.h
>  +
>   #endif /*  __ASSEMBLY__ */
>   #endif /* _LINUX_TYPES_H */
> -Index: linux-4.14.18/net/ipv4/af_inet.c
> -===================================================================
> ---- linux-4.14.18.orig/net/ipv4/af_inet.c
> -+++ linux-4.14.18/net/ipv4/af_inet.c
> +--- a/net/ipv4/af_inet.c
> ++++ b/net/ipv4/af_inet.c
>  @@ -1351,8 +1351,8 @@ struct sk_buff **inet_gro_receive(struct
>   	if (unlikely(ip_fast_csum((u8 *)iph, 5)))
>   		goto out_unlock;
> @@ -344,11 +314,9 @@ Index: linux-4.14.18/net/ipv4/af_inet.c
>   	id >>= 16;
> 
>   	for (p = *head; p; p = p->next) {
> -Index: linux-4.14.18/net/ipv4/route.c
> -===================================================================
> ---- linux-4.14.18.orig/net/ipv4/route.c
> -+++ linux-4.14.18/net/ipv4/route.c
> -@@ -462,7 +462,7 @@ static struct neighbour *ipv4_neigh_look
> +--- a/net/ipv4/route.c
> ++++ b/net/ipv4/route.c
> +@@ -465,7 +465,7 @@ static struct neighbour *ipv4_neigh_look
>   	else if (skb)
>   		pkey = &ip_hdr(skb)->daddr;
> 
> @@ -357,10 +325,8 @@ Index: linux-4.14.18/net/ipv4/route.c
>   	if (n)
>   		return n;
>   	return neigh_create(&arp_tbl, pkey, dev);
> -Index: linux-4.14.18/net/ipv4/tcp_output.c
> -===================================================================
> ---- linux-4.14.18.orig/net/ipv4/tcp_output.c
> -+++ linux-4.14.18/net/ipv4/tcp_output.c
> +--- a/net/ipv4/tcp_output.c
> ++++ b/net/ipv4/tcp_output.c
>  @@ -449,48 +449,53 @@ static void tcp_options_write(__be32 *pt
>   	u16 options = opts->options;	/* mungable copy */
> 
> @@ -480,10 +446,8 @@ Index: linux-4.14.18/net/ipv4/tcp_output.c
>   		}
> 
>   		memcpy(p, foc->val, foc->len);
> -Index: linux-4.14.18/include/uapi/linux/igmp.h
> -===================================================================
> ---- linux-4.14.18.orig/include/uapi/linux/igmp.h
> -+++ linux-4.14.18/include/uapi/linux/igmp.h
> +--- a/include/uapi/linux/igmp.h
> ++++ b/include/uapi/linux/igmp.h
>  @@ -33,7 +33,7 @@ struct igmphdr {
>   	__u8 code;		/* For newer IGMP */
>   	__sum16 csum;
> @@ -520,10 +484,8 @@ Index: linux-4.14.18/include/uapi/linux/igmp.h
> 
>   #define IGMP_HOST_MEMBERSHIP_QUERY	0x11	/* From RFC1112 */
>   #define IGMP_HOST_MEMBERSHIP_REPORT	0x12	/* Ditto */
> -Index: linux-4.14.18/net/core/flow_dissector.c
> -===================================================================
> ---- linux-4.14.18.orig/net/core/flow_dissector.c
> -+++ linux-4.14.18/net/core/flow_dissector.c
> +--- a/net/core/flow_dissector.c
> ++++ b/net/core/flow_dissector.c
>  @@ -108,7 +108,7 @@ __be32 __skb_flow_get_ports(const struct
>   		ports = __skb_header_pointer(skb, thoff + poff,
>   					     sizeof(_ports), data, hlen, &_ports);
> @@ -533,10 +495,8 @@ Index: linux-4.14.18/net/core/flow_dissector.c
>   	}
> 
>   	return 0;
> -Index: linux-4.14.18/include/uapi/linux/icmpv6.h
> -===================================================================
> ---- linux-4.14.18.orig/include/uapi/linux/icmpv6.h
> -+++ linux-4.14.18/include/uapi/linux/icmpv6.h
> +--- a/include/uapi/linux/icmpv6.h
> ++++ b/include/uapi/linux/icmpv6.h
>  @@ -77,7 +77,7 @@ struct icmp6hdr {
>   #define icmp6_addrconf_other	icmp6_dataun.u_nd_ra.other
>   #define icmp6_rt_lifetime	icmp6_dataun.u_nd_ra.rt_lifetime
> @@ -546,10 +506,8 @@ Index: linux-4.14.18/include/uapi/linux/icmpv6.h
> 
> 
>   #define ICMPV6_ROUTER_PREF_LOW		0x3
> -Index: linux-4.14.18/include/net/ndisc.h
> -===================================================================
> ---- linux-4.14.18.orig/include/net/ndisc.h
> -+++ linux-4.14.18/include/net/ndisc.h
> +--- a/include/net/ndisc.h
> ++++ b/include/net/ndisc.h
>  @@ -89,7 +89,7 @@ struct ra_msg {
>           struct icmp6hdr		icmph;
>   	__be32			reachable_time;
> @@ -574,10 +532,8 @@ Index: linux-4.14.18/include/net/ndisc.h
>   }
> 
>   static inline struct neighbour *__ipv6_neigh_lookup_noref(struct 
> net_device *dev, const void *pkey)
> -Index: linux-4.14.18/net/sched/cls_u32.c
> -===================================================================
> ---- linux-4.14.18.orig/net/sched/cls_u32.c
> -+++ linux-4.14.18/net/sched/cls_u32.c
> +--- a/net/sched/cls_u32.c
> ++++ b/net/sched/cls_u32.c
>  @@ -165,7 +165,7 @@ next_knode:
>   			data = skb_header_pointer(skb, toff, 4, &hdata);
>   			if (!data)
> @@ -598,10 +554,8 @@ Index: linux-4.14.18/net/sched/cls_u32.c
>   		}
>   		if (!(n->sel.flags & (TC_U32_VAROFFSET | TC_U32_OFFSET | 
> TC_U32_EAT)))
>   			goto next_ht;
> -Index: linux-4.14.18/net/ipv6/ip6_offload.c
> -===================================================================
> ---- linux-4.14.18.orig/net/ipv6/ip6_offload.c
> -+++ linux-4.14.18/net/ipv6/ip6_offload.c
> +--- a/net/ipv6/ip6_offload.c
> ++++ b/net/ipv6/ip6_offload.c
>  @@ -220,7 +220,7 @@ static struct sk_buff **ipv6_gro_receive
>   			continue;
> 
> @@ -611,10 +565,8 @@ Index: linux-4.14.18/net/ipv6/ip6_offload.c
> 
>   		/* All fields must match except length and Traffic Class.
>   		 * XXX skbs on the gro_list have all been parsed and pulled
> -Index: linux-4.14.18/include/net/addrconf.h
> -===================================================================
> ---- linux-4.14.18.orig/include/net/addrconf.h
> -+++ linux-4.14.18/include/net/addrconf.h
> +--- a/include/net/addrconf.h
> ++++ b/include/net/addrconf.h
>  @@ -47,7 +47,7 @@ struct prefix_info {
>   	__be32			reserved2;
> 
> @@ -624,10 +576,8 @@ Index: linux-4.14.18/include/net/addrconf.h
> 
>   #include <linux/netdevice.h>
>   #include <net/if_inet6.h>
> -Index: linux-4.14.18/include/net/inet_ecn.h
> -===================================================================
> ---- linux-4.14.18.orig/include/net/inet_ecn.h
> -+++ linux-4.14.18/include/net/inet_ecn.h
> +--- a/include/net/inet_ecn.h
> ++++ b/include/net/inet_ecn.h
>  @@ -125,9 +125,9 @@ static inline int IP6_ECN_set_ce(struct
>   	if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
>   		return 0;
> @@ -649,10 +599,8 @@ Index: linux-4.14.18/include/net/inet_ecn.h
>   }
> 
>   static inline void ipv6_copy_dscp(unsigned int dscp, struct ipv6hdr 
> *inner)
> -Index: linux-4.14.18/include/net/ipv6.h
> -===================================================================
> ---- linux-4.14.18.orig/include/net/ipv6.h
> -+++ linux-4.14.18/include/net/ipv6.h
> +--- a/include/net/ipv6.h
> ++++ b/include/net/ipv6.h
>  @@ -108,7 +108,7 @@ struct frag_hdr {
>   	__u8	reserved;
>   	__be16	frag_off;
> @@ -731,10 +679,8 @@ Index: linux-4.14.18/include/net/ipv6.h
>   }
> 
>   static inline u8 ip6_tclass(__be32 flowinfo)
> -Index: linux-4.14.18/include/net/secure_seq.h
> -===================================================================
> ---- linux-4.14.18.orig/include/net/secure_seq.h
> -+++ linux-4.14.18/include/net/secure_seq.h
> +--- a/include/net/secure_seq.h
> ++++ b/include/net/secure_seq.h
>  @@ -3,6 +3,7 @@
>   #define _NET_SECURE_SEQ
> 
> @@ -743,10 +689,8 @@ Index: linux-4.14.18/include/net/secure_seq.h
> 
>   u32 secure_ipv4_port_ephemeral(__be32 saddr, __be32 daddr, __be16 
> dport);
>   u32 secure_ipv6_port_ephemeral(const __be32 *saddr, const __be32 
> *daddr,
> -Index: linux-4.14.18/include/uapi/linux/in.h
> -===================================================================
> ---- linux-4.14.18.orig/include/uapi/linux/in.h
> -+++ linux-4.14.18/include/uapi/linux/in.h
> +--- a/include/uapi/linux/in.h
> ++++ b/include/uapi/linux/in.h
>  @@ -84,7 +84,7 @@ enum {
>   /* Internet address. */
>   struct in_addr {
> @@ -756,10 +700,8 @@ Index: linux-4.14.18/include/uapi/linux/in.h
>   #endif
> 
>   #define IP_TOS		1
> -Index: linux-4.14.18/net/ipv6/ip6_fib.c
> -===================================================================
> ---- linux-4.14.18.orig/net/ipv6/ip6_fib.c
> -+++ linux-4.14.18/net/ipv6/ip6_fib.c
> +--- a/net/ipv6/ip6_fib.c
> ++++ b/net/ipv6/ip6_fib.c
>  @@ -137,7 +137,7 @@ static __be32 addr_bit_set(const void *t
>   	 * See include/asm-generic/bitops/le.h.
>   	 */
> @@ -769,11 +711,9 @@ Index: linux-4.14.18/net/ipv6/ip6_fib.c
>   }
> 
>   static struct fib6_node *node_alloc(void)
> -Index: linux-4.14.18/net/netfilter/nf_conntrack_proto_tcp.c
> -===================================================================
> ---- linux-4.14.18.orig/net/netfilter/nf_conntrack_proto_tcp.c
> -+++ linux-4.14.18/net/netfilter/nf_conntrack_proto_tcp.c
> -@@ -444,7 +444,7 @@ static void tcp_sack(const struct sk_buf
> +--- a/net/netfilter/nf_conntrack_proto_tcp.c
> ++++ b/net/netfilter/nf_conntrack_proto_tcp.c
> +@@ -447,7 +447,7 @@ static void tcp_sack(const struct sk_buf
> 
>   	/* Fast path for timestamp-only option */
>   	if (length == TCPOLEN_TSTAMP_ALIGNED
> @@ -782,11 +722,9 @@ Index: 
> linux-4.14.18/net/netfilter/nf_conntrack_proto_tcp.c
>   				       | (TCPOPT_NOP << 16)
>   				       | (TCPOPT_TIMESTAMP << 8)
>   				       | TCPOLEN_TIMESTAMP))
> -Index: linux-4.14.18/net/xfrm/xfrm_input.c
> -===================================================================
> ---- linux-4.14.18.orig/net/xfrm/xfrm_input.c
> -+++ linux-4.14.18/net/xfrm/xfrm_input.c
> -@@ -171,8 +171,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
> +--- a/net/xfrm/xfrm_input.c
> ++++ b/net/xfrm/xfrm_input.c
> +@@ -187,8 +187,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
>   	if (!pskb_may_pull(skb, hlen))
>   		return -EINVAL;
> 
> @@ -797,11 +735,9 @@ Index: linux-4.14.18/net/xfrm/xfrm_input.c
>   	return 0;
>   }
>   EXPORT_SYMBOL(xfrm_parse_spi);
> -Index: linux-4.14.18/net/ipv4/tcp_input.c
> -===================================================================
> ---- linux-4.14.18.orig/net/ipv4/tcp_input.c
> -+++ linux-4.14.18/net/ipv4/tcp_input.c
> -@@ -3851,14 +3851,16 @@ static bool tcp_parse_aligned_timestamp(
> +--- a/net/ipv4/tcp_input.c
> ++++ b/net/ipv4/tcp_input.c
> +@@ -3842,14 +3842,16 @@ static bool tcp_parse_aligned_timestamp(
>   {
>   	const __be32 *ptr = (const __be32 *)(th + 1);
> 
> @@ -823,10 +759,8 @@ Index: linux-4.14.18/net/ipv4/tcp_input.c
>   		else
>   			tp->rx_opt.rcv_tsecr = 0;
>   		return true;
> -Index: linux-4.14.18/include/uapi/linux/if_pppox.h
> -===================================================================
> ---- linux-4.14.18.orig/include/uapi/linux/if_pppox.h
> -+++ linux-4.14.18/include/uapi/linux/if_pppox.h
> +--- a/include/uapi/linux/if_pppox.h
> ++++ b/include/uapi/linux/if_pppox.h
>  @@ -51,6 +51,7 @@ struct pppoe_addr {
>    */
>   struct pptp_addr {
> @@ -835,10 +769,8 @@ Index: 
> linux-4.14.18/include/uapi/linux/if_pppox.h
>   	struct in_addr	sin_addr;
>   };
> 
> -Index: linux-4.14.18/net/ipv6/netfilter/nf_log_ipv6.c
> -===================================================================
> ---- linux-4.14.18.orig/net/ipv6/netfilter/nf_log_ipv6.c
> -+++ linux-4.14.18/net/ipv6/netfilter/nf_log_ipv6.c
> +--- a/net/ipv6/netfilter/nf_log_ipv6.c
> ++++ b/net/ipv6/netfilter/nf_log_ipv6.c
>  @@ -66,9 +66,9 @@ static void dump_ipv6_packet(struct nf_l
>   	/* Max length: 44 "LEN=65535 TC=255 HOPLIMIT=255 FLOWLBL=FFFFF " */
>   	nf_log_buf_add(m, "LEN=%zu TC=%u HOPLIMIT=%u FLOWLBL=%u ",
> @@ -851,10 +783,8 @@ Index: 
> linux-4.14.18/net/ipv6/netfilter/nf_log_ipv6.c
> 
>   	fragment = 0;
>   	ptr = ip6hoff + sizeof(struct ipv6hdr);
> -Index: linux-4.14.18/include/net/neighbour.h
> -===================================================================
> ---- linux-4.14.18.orig/include/net/neighbour.h
> -+++ linux-4.14.18/include/net/neighbour.h
> +--- a/include/net/neighbour.h
> ++++ b/include/net/neighbour.h
>  @@ -265,8 +265,10 @@ static inline bool neigh_key_eq128(const
>   	const u32 *n32 = (const u32 *)n->primary_key;
>   	const u32 *p32 = pkey;
> @@ -868,10 +798,8 @@ Index: linux-4.14.18/include/net/neighbour.h
>   }
> 
>   static inline struct neighbour *___neigh_lookup_noref(
> -Index: linux-4.14.18/include/uapi/linux/netfilter_arp/arp_tables.h
> -===================================================================
> ---- linux-4.14.18.orig/include/uapi/linux/netfilter_arp/arp_tables.h
> -+++ linux-4.14.18/include/uapi/linux/netfilter_arp/arp_tables.h
> +--- a/include/uapi/linux/netfilter_arp/arp_tables.h
> ++++ b/include/uapi/linux/netfilter_arp/arp_tables.h
>  @@ -70,7 +70,7 @@ struct arpt_arp {
>   	__u8 flags;
>   	/* Inverse flags */
> @@ -881,10 +809,8 @@ Index: 
> linux-4.14.18/include/uapi/linux/netfilter_arp/arp_tables.h
> 
>   /* Values for "flag" field in struct arpt_ip (general arp 
> structure).
>    * No flags defined yet.
> -Index: linux-4.14.18/net/core/utils.c
> -===================================================================
> ---- linux-4.14.18.orig/net/core/utils.c
> -+++ linux-4.14.18/net/core/utils.c
> +--- a/net/core/utils.c
> ++++ b/net/core/utils.c
>  @@ -424,8 +424,14 @@ void inet_proto_csum_replace16(__sum16 *
>   			       bool pseudohdr)
>   {
> @@ -902,10 +828,8 @@ Index: linux-4.14.18/net/core/utils.c
>   	};
>   	if (skb->ip_summed != CHECKSUM_PARTIAL) {
>   		*sum = csum_fold(csum_partial(diff, sizeof(diff),
> -Index: linux-4.14.18/include/linux/etherdevice.h
> -===================================================================
> ---- linux-4.14.18.orig/include/linux/etherdevice.h
> -+++ linux-4.14.18/include/linux/etherdevice.h
> +--- a/include/linux/etherdevice.h
> ++++ b/include/linux/etherdevice.h
>  @@ -480,7 +480,7 @@ static inline bool is_etherdev_addr(cons
>    * @b: Pointer to Ethernet header
>    *
> @@ -932,10 +856,8 @@ Index: linux-4.14.18/include/linux/etherdevice.h
>   #endif
>   }
> 
> -Index: linux-4.14.18/net/ipv4/tcp_offload.c
> -===================================================================
> ---- linux-4.14.18.orig/net/ipv4/tcp_offload.c
> -+++ linux-4.14.18/net/ipv4/tcp_offload.c
> +--- a/net/ipv4/tcp_offload.c
> ++++ b/net/ipv4/tcp_offload.c
>  @@ -226,7 +226,7 @@ struct sk_buff **tcp_gro_receive(struct
> 
>   		th2 = tcp_hdr(p);
> @@ -956,11 +878,9 @@ Index: linux-4.14.18/net/ipv4/tcp_offload.c
> 
>   	/* When we receive our second frame we can made a decision on if we
>   	 * continue this flow as an atomic flow with a fixed ID or if we 
> use
> -Index: linux-4.14.18/net/ipv6/netfilter/ip6table_mangle.c
> -===================================================================
> ---- linux-4.14.18.orig/net/ipv6/netfilter/ip6table_mangle.c
> -+++ linux-4.14.18/net/ipv6/netfilter/ip6table_mangle.c
> -@@ -58,7 +58,7 @@ ip6t_mangle_out(struct sk_buff *skb, con
> +--- a/net/ipv6/netfilter/ip6table_mangle.c
> ++++ b/net/ipv6/netfilter/ip6table_mangle.c
> +@@ -50,7 +50,7 @@ ip6t_mangle_out(struct sk_buff *skb, con
>   	hop_limit = ipv6_hdr(skb)->hop_limit;
> 
>   	/* flowlabel and prio (includes version, which shouldn't change 
> either */
> @@ -969,7 +889,7 @@ Index: 
> linux-4.14.18/net/ipv6/netfilter/ip6table_mangle.c
> 
>   	ret = ip6t_do_table(skb, state, state->net->ipv6.ip6table_mangle);
> 
> -@@ -67,7 +67,7 @@ ip6t_mangle_out(struct sk_buff *skb, con
> +@@ -59,7 +59,7 @@ ip6t_mangle_out(struct sk_buff *skb, con
>   	     !ipv6_addr_equal(&ipv6_hdr(skb)->daddr, &daddr) ||
>   	     skb->mark != mark ||
>   	     ipv6_hdr(skb)->hop_limit != hop_limit ||
> diff --git 
> a/target/linux/bcm53xx/patches-4.14/910-Revert-earlycon-initialise-baud-field-of-earlycon-de.patch 
> b/target/linux/bcm53xx/patches-4.14/910-Revert-earlycon-initialise-baud-field-of-earlycon-de.patch
> index 025781a862c0..c00cae2df397 100644
> --- 
> a/target/linux/bcm53xx/patches-4.14/910-Revert-earlycon-initialise-baud-field-of-earlycon-de.patch
> +++ 
> b/target/linux/bcm53xx/patches-4.14/910-Revert-earlycon-initialise-baud-field-of-earlycon-de.patch
> @@ -18,7 +18,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
> 
>  --- a/drivers/tty/serial/earlycon.c
>  +++ b/drivers/tty/serial/earlycon.c
> -@@ -283,12 +283,7 @@ int __init of_setup_earlycon(const struc
> +@@ -285,12 +285,7 @@ int __init of_setup_earlycon(const struc
>   		}
>   	}
> 
> diff --git a/target/linux/brcm47xx/patches-4.14/159-cpu_fixes.patch 
> b/target/linux/brcm47xx/patches-4.14/159-cpu_fixes.patch
> index 32df8009eac5..ca5530ae976d 100644
> --- a/target/linux/brcm47xx/patches-4.14/159-cpu_fixes.patch
> +++ b/target/linux/brcm47xx/patches-4.14/159-cpu_fixes.patch
> @@ -396,7 +396,7 @@
>   	if (dc_lsize == 0)
>   		r4k_blast_dcache = (void *)cache_noop;
>   	else if (dc_lsize == 16)
> -@@ -952,6 +964,8 @@ static void local_r4k_flush_cache_sigtra
> +@@ -955,6 +967,8 @@ static void local_r4k_flush_cache_sigtra
>   	}
> 
>   	R4600_HIT_CACHEOP_WAR_IMPL;
> @@ -405,7 +405,7 @@
>   	if (!cpu_has_ic_fills_f_dc) {
>   		if (dc_lsize)
>   			vaddr ? flush_dcache_line(addr & ~(dc_lsize - 1))
> -@@ -1846,6 +1860,17 @@ static void coherency_setup(void)
> +@@ -1849,6 +1863,17 @@ static void coherency_setup(void)
>   	 * silly idea of putting something else there ...
>   	 */
>   	switch (current_cpu_type()) {
> @@ -423,7 +423,7 @@
>   	case CPU_R4000PC:
>   	case CPU_R4000SC:
>   	case CPU_R4000MC:
> -@@ -1892,6 +1917,15 @@ void r4k_cache_init(void)
> +@@ -1895,6 +1920,15 @@ void r4k_cache_init(void)
>   	extern void build_copy_page(void);
>   	struct cpuinfo_mips *c = &current_cpu_data;
> 
> @@ -439,7 +439,7 @@
>   	probe_pcache();
>   	probe_vcache();
>   	setup_scache();
> -@@ -1969,7 +2003,15 @@ void r4k_cache_init(void)
> +@@ -1972,7 +2006,15 @@ void r4k_cache_init(void)
>   	 */
>   	local_r4k___flush_cache_all(NULL);
> 
> diff --git 
> a/target/linux/gemini/patches-4.14/0032-usb-host-fotg2-restart-hcd-after-port-reset.patch 
> b/target/linux/gemini/patches-4.14/0032-usb-host-fotg2-restart-hcd-after-port-reset.patch
> index 1479644df878..80b2fc410483 100644
> --- 
> a/target/linux/gemini/patches-4.14/0032-usb-host-fotg2-restart-hcd-after-port-reset.patch
> +++ 
> b/target/linux/gemini/patches-4.14/0032-usb-host-fotg2-restart-hcd-after-port-reset.patch
> @@ -11,11 +11,9 @@ Signed-off-by: Hans Ulli Kroll 
> <ulli.kroll@googlemail.com>
>   drivers/usb/host/fotg210-hcd.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> -diff --git a/drivers/usb/host/fotg210-hcd.c 
> b/drivers/usb/host/fotg210-hcd.c
> -index 2acc51b0be5a..bc9efb49adc7 100644
>  --- a/drivers/usb/host/fotg210-hcd.c
>  +++ b/drivers/usb/host/fotg210-hcd.c
> -@@ -1658,6 +1658,10 @@ static int fotg210_hub_control(struct usb_hcd 
> *hcd, u16 typeReq, u16 wValue,
> +@@ -1658,6 +1658,10 @@ static int fotg210_hub_control(struct us
>   			/* see what we found out */
>   			temp = check_reset_complete(fotg210, wIndex, status_reg,
>   					fotg210_readl(fotg210, status_reg));
> @@ -26,6 +24,3 @@ index 2acc51b0be5a..bc9efb49adc7 100644
>   		}
> 
>   		if (!(temp & (PORT_RESUME|PORT_RESET))) {
> ---
> -2.16.2
> -
> diff --git 
> a/target/linux/gemini/patches-4.14/0033-ARM-dts-Fix-bootargs-for-Gemini-D-Link-devices.patch 
> b/target/linux/gemini/patches-4.14/0033-ARM-dts-Fix-bootargs-for-Gemini-D-Link-devices.patch
> index f8cf123d7b2e..d8fd853b3b41 100644
> --- 
> a/target/linux/gemini/patches-4.14/0033-ARM-dts-Fix-bootargs-for-Gemini-D-Link-devices.patch
> +++ 
> b/target/linux/gemini/patches-4.14/0033-ARM-dts-Fix-bootargs-for-Gemini-D-Link-devices.patch
> @@ -14,8 +14,6 @@ Signed-off-by: Linus Walleij 
> <linus.walleij@linaro.org>
>   arch/arm/boot/dts/gemini-dlink-dns-313.dts | 1 +
>   2 files changed, 3 insertions(+), 1 deletion(-)
> 
> -diff --git a/arch/arm/boot/dts/gemini-dlink-dir-685.dts 
> b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
> -index a39914dece98..840f4a32f37c 100644
>  --- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
>  +++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
>  @@ -20,7 +20,8 @@
> @@ -28,8 +26,6 @@ index a39914dece98..840f4a32f37c 100644
>   	};
> 
>   	gpio_keys {
> -diff --git a/arch/arm/boot/dts/gemini-dlink-dns-313.dts 
> b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
> -index 4904f1251671..685719a0b8c0 100644
>  --- a/arch/arm/boot/dts/gemini-dlink-dns-313.dts
>  +++ b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
>  @@ -26,6 +26,7 @@
> @@ -40,6 +36,3 @@ index 4904f1251671..685719a0b8c0 100644
>   		stdout-path = "uart0:19200n8";
>   	};
> 
> ---
> -2.14.3
> -
> diff --git 
> a/target/linux/gemini/patches-4.14/0034-ARM-dts-Add-ethernet-to-a-bunch-of-platforms.patch 
> b/target/linux/gemini/patches-4.14/0034-ARM-dts-Add-ethernet-to-a-bunch-of-platforms.patch
> index 4a511a28669a..3e588223b601 100644
> --- 
> a/target/linux/gemini/patches-4.14/0034-ARM-dts-Add-ethernet-to-a-bunch-of-platforms.patch
> +++ 
> b/target/linux/gemini/patches-4.14/0034-ARM-dts-Add-ethernet-to-a-bunch-of-platforms.patch
> @@ -20,8 +20,6 @@ Signed-off-by: Linus Walleij 
> <linus.walleij@linaro.org>
>   arch/arm/boot/dts/gemini-wbd222.dts        |  7 ++++
>   2 files changed, 69 insertions(+)
> 
> -diff --git a/arch/arm/boot/dts/gemini-dlink-dns-313.dts 
> b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
> -index 685719a0b8c0..df46375457b6 100644
>  --- a/arch/arm/boot/dts/gemini-dlink-dns-313.dts
>  +++ b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
>  @@ -215,6 +215,56 @@
> @@ -100,8 +98,6 @@ index 685719a0b8c0..df46375457b6 100644
>   		ata@63000000 {
>   			status = "okay";
>   		};
> -diff --git a/arch/arm/boot/dts/gemini-wbd222.dts 
> b/arch/arm/boot/dts/gemini-wbd222.dts
> -index 0678d3beb51d..820978d20166 100644
>  --- a/arch/arm/boot/dts/gemini-wbd222.dts
>  +++ b/arch/arm/boot/dts/gemini-wbd222.dts
>  @@ -136,6 +136,13 @@
> @@ -118,6 +114,3 @@ index 0678d3beb51d..820978d20166 100644
>   			};
>   		};
> 
> ---
> -2.14.3
> -
> diff --git 
> a/target/linux/gemini/patches-4.14/0905-arm-dts-gemini-dlink-dir-685-add-rtl8366rb.patch 
> b/target/linux/gemini/patches-4.14/0905-arm-dts-gemini-dlink-dir-685-add-rtl8366rb.patch
> index 42501225be9d..a1d025884417 100644
> --- 
> a/target/linux/gemini/patches-4.14/0905-arm-dts-gemini-dlink-dir-685-add-rtl8366rb.patch
> +++ 
> b/target/linux/gemini/patches-4.14/0905-arm-dts-gemini-dlink-dir-685-add-rtl8366rb.patch
> @@ -1,6 +1,6 @@
>  --- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
>  +++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
> -@@ -86,6 +86,12 @@
> +@@ -87,6 +87,12 @@
>   		};
>   	};
> 
> diff --git 
> a/target/linux/generic/pending-4.14/103-MIPS-c-r4k-fix-data-corruption-related-to-cache-coherence.patch 
> b/target/linux/generic/pending-4.14/103-MIPS-c-r4k-fix-data-corruption-related-to-cache-coherence.patch
> old mode 100755
> new mode 100644
> index 3cfbd2ce9169..69d926bd5bf0
> --- 
> a/target/linux/generic/pending-4.14/103-MIPS-c-r4k-fix-data-corruption-related-to-cache-coherence.patch
> +++ 
> b/target/linux/generic/pending-4.14/103-MIPS-c-r4k-fix-data-corruption-related-to-cache-coherence.patch
> @@ -62,11 +62,9 @@ Signed-off-by: NeilBrown <neil@brown.name>
>   arch/mips/mm/c-r4k.c | 9 ++++++---
>   1 file changed, 6 insertions(+), 3 deletions(-)
> 
> -diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
> -index 6f534b209971..e12dfa48b478 100644
>  --- a/arch/mips/mm/c-r4k.c
>  +++ b/arch/mips/mm/c-r4k.c
> -@@ -851,9 +851,12 @@ static void r4k_dma_cache_wback_inv(unsigned 
> long addr, unsigned long size)
> +@@ -851,9 +851,12 @@ static void r4k_dma_cache_wback_inv(unsi
>   	/*
>   	 * Either no secondary cache or the available caches don't have the
>   	 * subset property so we have to flush the primary caches
> @@ -81,7 +79,7 @@ index 6f534b209971..e12dfa48b478 100644
>   		r4k_blast_dcache();
>   	} else {
>   		R4600_HIT_CACHEOP_WAR_IMPL;
> -@@ -890,7 +893,7 @@ static void r4k_dma_cache_inv(unsigned long 
> addr, unsigned long size)
> +@@ -890,7 +893,7 @@ static void r4k_dma_cache_inv(unsigned l
>   		return;
>   	}
> 
> diff --git 
> a/target/linux/generic/pending-4.14/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch 
> b/target/linux/generic/pending-4.14/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
> index f4ba5b72f7a9..ed84c6974476 100644
> --- 
> a/target/linux/generic/pending-4.14/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
> +++ 
> b/target/linux/generic/pending-4.14/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
> @@ -7,7 +7,7 @@ Signed-off-by: George Kashperko <george@znau.edu.ua>
>   1 file changed, 1 insertion(+)
>  --- a/drivers/mtd/chips/cfi_cmdset_0002.c
>  +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
> -@@ -1832,6 +1832,7 @@ static int __xipram do_write_buffer(stru
> +@@ -1833,6 +1833,7 @@ static int __xipram do_write_buffer(stru
> 
>   	/* Write Buffer Load */
>   	map_write(map, CMD(0x25), cmd_adr);
> diff --git 
> a/target/linux/generic/pending-4.14/630-packet_socket_type.patch 
> b/target/linux/generic/pending-4.14/630-packet_socket_type.patch
> index ed48128c9e4d..82e2c51afddc 100644
> --- a/target/linux/generic/pending-4.14/630-packet_socket_type.patch
> +++ b/target/linux/generic/pending-4.14/630-packet_socket_type.patch
> @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>   #define PACKET_FANOUT_LB		1
>  --- a/net/packet/af_packet.c
>  +++ b/net/packet/af_packet.c
> -@@ -1822,6 +1822,7 @@ static int packet_rcv_spkt(struct sk_buf
> +@@ -1829,6 +1829,7 @@ static int packet_rcv_spkt(struct sk_buf
>   {
>   	struct sock *sk;
>   	struct sockaddr_pkt *spkt;
> @@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
> 
>   	/*
>   	 *	When we registered the protocol we saved the socket in the data
> -@@ -1829,6 +1830,7 @@ static int packet_rcv_spkt(struct sk_buf
> +@@ -1836,6 +1837,7 @@ static int packet_rcv_spkt(struct sk_buf
>   	 */
> 
>   	sk = pt->af_packet_priv;
> @@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
> 
>   	/*
>   	 *	Yank back the headers [hope the device set this
> -@@ -1841,7 +1843,7 @@ static int packet_rcv_spkt(struct sk_buf
> +@@ -1848,7 +1850,7 @@ static int packet_rcv_spkt(struct sk_buf
>   	 *	so that this procedure is noop.
>   	 */
> 
> @@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>   		goto out;
> 
>   	if (!net_eq(dev_net(dev), sock_net(sk)))
> -@@ -2068,12 +2070,12 @@ static int packet_rcv(struct sk_buff *sk
> +@@ -2075,12 +2077,12 @@ static int packet_rcv(struct sk_buff *sk
>   	unsigned int snaplen, res;
>   	bool is_drop_n_account = false;
> 
> @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>   	if (!net_eq(dev_net(dev), sock_net(sk)))
>   		goto drop;
> 
> -@@ -2199,12 +2201,12 @@ static int tpacket_rcv(struct sk_buff *s
> +@@ -2206,12 +2208,12 @@ static int tpacket_rcv(struct sk_buff *s
>   	BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
>   	BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
> 
> @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>   	if (!net_eq(dev_net(dev), sock_net(sk)))
>   		goto drop;
> 
> -@@ -3251,6 +3253,7 @@ static int packet_create(struct net *net
> +@@ -3260,6 +3262,7 @@ static int packet_create(struct net *net
>   	mutex_init(&po->pg_vec_lock);
>   	po->rollover = NULL;
>   	po->prot_hook.func = packet_rcv;
> @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
> 
>   	if (sock->type == SOCK_PACKET)
>   		po->prot_hook.func = packet_rcv_spkt;
> -@@ -3837,6 +3840,16 @@ packet_setsockopt(struct socket *sock, i
> +@@ -3873,6 +3876,16 @@ packet_setsockopt(struct socket *sock, i
>   		po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
>   		return 0;
>   	}
> @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>   	default:
>   		return -ENOPROTOOPT;
>   	}
> -@@ -3889,6 +3902,13 @@ static int packet_getsockopt(struct sock
> +@@ -3925,6 +3938,13 @@ static int packet_getsockopt(struct sock
>   	case PACKET_VNET_HDR:
>   		val = po->has_vnet_hdr;
>   		break;
> diff --git 
> a/target/linux/generic/pending-4.14/644-net-pppoe-support-hardware-flow-table-offload.patch 
> b/target/linux/generic/pending-4.14/644-net-pppoe-support-hardware-flow-table-offload.patch
> index 9565412c0045..aa0eb0f0e9a3 100644
> --- 
> a/target/linux/generic/pending-4.14/644-net-pppoe-support-hardware-flow-table-offload.patch
> +++ 
> b/target/linux/generic/pending-4.14/644-net-pppoe-support-hardware-flow-table-offload.patch
> @@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
> 
>   #include <linux/nsproxy.h>
>   #include <net/net_namespace.h>
> -@@ -970,8 +972,32 @@ static int pppoe_xmit(struct ppp_channel
> +@@ -974,8 +976,32 @@ static int pppoe_xmit(struct ppp_channel
>   	return __pppoe_xmit(sk, skb);
>   }
> 
> diff --git 
> a/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch 
> b/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
> index ebd378b3bd61..45f387f2690b 100644
> --- 
> a/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
> +++ 
> b/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
> @@ -171,7 +171,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
>   /*
>    *	Allocate a dst for local (unicast / anycast) address.
>    */
> -@@ -3000,7 +3033,8 @@ static int rtm_to_fib6_config(struct sk_
> +@@ -3002,7 +3035,8 @@ static int rtm_to_fib6_config(struct sk_
>   	if (rtm->rtm_type == RTN_UNREACHABLE ||
>   	    rtm->rtm_type == RTN_BLACKHOLE ||
>   	    rtm->rtm_type == RTN_PROHIBIT ||
> @@ -181,7 +181,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
>   		cfg->fc_flags |= RTF_REJECT;
> 
>   	if (rtm->rtm_type == RTN_LOCAL)
> -@@ -3490,6 +3524,9 @@ static int rt6_fill_node(struct net *net
> +@@ -3492,6 +3526,9 @@ static int rt6_fill_node(struct net *net
>   		case -EACCES:
>   			rtm->rtm_type = RTN_PROHIBIT;
>   			break;
> @@ -191,7 +191,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
>   		case -EAGAIN:
>   			rtm->rtm_type = RTN_THROW;
>   			break;
> -@@ -3808,6 +3845,8 @@ static int ip6_route_dev_notify(struct n
> +@@ -3810,6 +3847,8 @@ static int ip6_route_dev_notify(struct n
>   #ifdef CONFIG_IPV6_MULTIPLE_TABLES
>   		net->ipv6.ip6_prohibit_entry->dst.dev = dev;
>   		net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
> @@ -200,7 +200,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
>   		net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
>   		net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
>   #endif
> -@@ -3819,6 +3858,7 @@ static int ip6_route_dev_notify(struct n
> +@@ -3821,6 +3860,7 @@ static int ip6_route_dev_notify(struct n
>   		in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
>   #ifdef CONFIG_IPV6_MULTIPLE_TABLES
>   		in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
> @@ -208,7 +208,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
>   		in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
>   #endif
>   	}
> -@@ -4035,6 +4075,17 @@ static int __net_init ip6_route_net_init
> +@@ -4037,6 +4077,17 @@ static int __net_init ip6_route_net_init
>   	net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
>   	dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
>   			 ip6_template_metrics, true);
> @@ -226,7 +226,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
>   #endif
> 
>   	net->ipv6.sysctl.flush_delay = 0;
> -@@ -4053,6 +4104,8 @@ out:
> +@@ -4055,6 +4106,8 @@ out:
>   	return ret;
> 
>   #ifdef CONFIG_IPV6_MULTIPLE_TABLES
> @@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
>   out_ip6_prohibit_entry:
>   	kfree(net->ipv6.ip6_prohibit_entry);
>   out_ip6_null_entry:
> -@@ -4070,6 +4123,7 @@ static void __net_exit ip6_route_net_exi
> +@@ -4072,6 +4125,7 @@ static void __net_exit ip6_route_net_exi
>   #ifdef CONFIG_IPV6_MULTIPLE_TABLES
>   	kfree(net->ipv6.ip6_prohibit_entry);
>   	kfree(net->ipv6.ip6_blk_hole_entry);
> @@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
>   #endif
>   	dst_entries_destroy(&net->ipv6.ip6_dst_ops);
>   }
> -@@ -4143,6 +4197,9 @@ void __init ip6_route_init_special_entri
> +@@ -4145,6 +4199,9 @@ void __init ip6_route_init_special_entri
>   	init_net.ipv6.ip6_prohibit_entry->rt6i_idev = 
> in6_dev_get(init_net.loopback_dev);
>   	init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
>   	init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = 
> in6_dev_get(init_net.loopback_dev);
> diff --git 
> a/target/linux/mvebu/patches-4.14/522-PCI-aardvark-fix-logic-in-PCI-configuration-read-write-functions.patch 
> b/target/linux/mvebu/patches-4.14/522-PCI-aardvark-fix-logic-in-PCI-configuration-read-write-functions.patch
> deleted file mode 100644
> index 0dead7d61dfb..000000000000
> --- 
> a/target/linux/mvebu/patches-4.14/522-PCI-aardvark-fix-logic-in-PCI-configuration-read-write-functions.patch
> +++ /dev/null
> @@ -1,66 +0,0 @@
> -From patchwork Thu Sep 28 12:58:32 2017
> -Content-Type: text/plain; charset="utf-8"
> -MIME-Version: 1.0
> -Content-Transfer-Encoding: 7bit
> -Subject: [v2, 1/7] PCI: aardvark: fix logic in PCI configuration 
> read/write
> - functions
> -X-Patchwork-Submitter: Thomas Petazzoni 
> <thomas.petazzoni@free-electrons.com>
> -X-Patchwork-Id: 819586
> -Message-Id: 
> <20170928125838.11887-2-thomas.petazzoni@free-electrons.com>
> -To: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org
> -Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn 
> <andrew@lunn.ch>,
> - Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Gregory 
> Clement
> - <gregory.clement@free-electrons.com>,
> - Nadav Haklai <nadavh@marvell.com>, Hanna Hawa <hannah@marvell.com>,
> - Yehuda Yitschak <yehuday@marvell.com>,
> - linux-arm-kernel@lists.infradead.org, Antoine Tenart
> - <antoine.tenart@free-electrons.com>, =?utf-8?q?Miqu=C3=A8l_Raynal?=
> - <miquel.raynal@free-electrons.com>, Victor Gu <xigu@marvell.com>,
> - stable@vger.kernel.org, Thomas Petazzoni
> - <thomas.petazzoni@free-electrons.com>
> -Date: Thu, 28 Sep 2017 14:58:32 +0200
> -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> -List-Id: <linux-pci.vger.kernel.org>
> -
> -From: Victor Gu <xigu@marvell.com>
> -
> -The PCI configuration space read/write functions were special casing
> -the situation where PCI_SLOT(devfn) != 0, and returned
> -PCIBIOS_DEVICE_NOT_FOUND in this case.
> -
> -However, will this is what is intended for the root bus, it is not
> -intended for the child busses, as it prevents discovering devices 
> with
> -PCI_SLOT(x) != 0. Therefore, we return PCIBIOS_DEVICE_NOT_FOUND only
> -if we're on the root bus.
> -
> -Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host 
> controller driver")
> -Cc: <stable@vger.kernel.org>
> -Signed-off-by: Victor Gu <xigu@marvell.com>
> -Reviewed-by: Wilson Ding <dingwei@marvell.com>
> -Reviewed-by: Nadav Haklai <nadavh@marvell.com>
> -[Thomas: tweak commit log.]
> -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ----
> - drivers/pci/host/pci-aardvark.c | 4 ++--
> - 1 file changed, 2 insertions(+), 2 deletions(-)
> -
> ---- a/drivers/pci/host/pci-aardvark.c
> -+++ b/drivers/pci/host/pci-aardvark.c
> -@@ -440,7 +440,7 @@ static int advk_pcie_rd_conf(struct pci_
> - 	u32 reg;
> - 	int ret;
> -
> --	if (PCI_SLOT(devfn) != 0) {
> -+	if ((bus->number == pcie->root_bus_nr) && (PCI_SLOT(devfn) != 0)) {
> - 		*val = 0xffffffff;
> - 		return PCIBIOS_DEVICE_NOT_FOUND;
> - 	}
> -@@ -494,7 +494,7 @@ static int advk_pcie_wr_conf(struct pci_
> - 	int offset;
> - 	int ret;
> -
> --	if (PCI_SLOT(devfn) != 0)
> -+	if ((bus->number == pcie->root_bus_nr) && (PCI_SLOT(devfn) != 0))
> - 		return PCIBIOS_DEVICE_NOT_FOUND;
> -
> - 	if (where % size)
> diff --git 
> a/target/linux/mvebu/patches-4.14/523-PCI-aardvark-set-PIO_ADDR_LS-correctly-in-advk_pcie_rd_conf.patch 
> b/target/linux/mvebu/patches-4.14/523-PCI-aardvark-set-PIO_ADDR_LS-correctly-in-advk_pcie_rd_conf.patch
> deleted file mode 100644
> index 238eb5626949..000000000000
> --- 
> a/target/linux/mvebu/patches-4.14/523-PCI-aardvark-set-PIO_ADDR_LS-correctly-in-advk_pcie_rd_conf.patch
> +++ /dev/null
> @@ -1,53 +0,0 @@
> -From patchwork Thu Sep 28 12:58:33 2017
> -Content-Type: text/plain; charset="utf-8"
> -MIME-Version: 1.0
> -Content-Transfer-Encoding: 7bit
> -Subject: [v2,
> - 2/7] PCI: aardvark: set PIO_ADDR_LS correctly in advk_pcie_rd_conf()
> -X-Patchwork-Submitter: Thomas Petazzoni 
> <thomas.petazzoni@free-electrons.com>
> -X-Patchwork-Id: 819589
> -Message-Id: 
> <20170928125838.11887-3-thomas.petazzoni@free-electrons.com>
> -To: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org
> -Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn 
> <andrew@lunn.ch>,
> - Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Gregory 
> Clement
> - <gregory.clement@free-electrons.com>,
> - Nadav Haklai <nadavh@marvell.com>, Hanna Hawa <hannah@marvell.com>,
> - Yehuda Yitschak <yehuday@marvell.com>,
> - linux-arm-kernel@lists.infradead.org, Antoine Tenart
> - <antoine.tenart@free-electrons.com>, =?utf-8?q?Miqu=C3=A8l_Raynal?=
> - <miquel.raynal@free-electrons.com>, Victor Gu <xigu@marvell.com>,
> - stable@vger.kernel.org, Thomas Petazzoni
> - <thomas.petazzoni@free-electrons.com>
> -Date: Thu, 28 Sep 2017 14:58:33 +0200
> -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> -List-Id: <linux-pci.vger.kernel.org>
> -
> -From: Victor Gu <xigu@marvell.com>
> -
> -When setting the PIO_ADDR_LS register during a configuration read, we
> -were properly passing the device number, function number and register
> -number, but not the bus number, causing issues when reading the
> -configuration of PCIe devices.
> -
> -Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host 
> controller driver")
> -Cc: <stable@vger.kernel.org>
> -Signed-off-by: Victor Gu <xigu@marvell.com>
> -Reviewed-by: Wilson Ding <dingwei@marvell.com>
> -Reviewed-by: Nadav Haklai <nadavh@marvell.com>
> -[Thomas: tweak commit log.]
> -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ----
> - drivers/pci/host/pci-aardvark.c | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> ---- a/drivers/pci/host/pci-aardvark.c
> -+++ b/drivers/pci/host/pci-aardvark.c
> -@@ -459,7 +459,7 @@ static int advk_pcie_rd_conf(struct pci_
> - 	advk_writel(pcie, reg, PIO_CTRL);
> -
> - 	/* Program the address registers */
> --	reg = PCIE_BDF(devfn) | PCIE_CONF_REG(where);
> -+	reg = PCIE_CONF_ADDR(bus->number, devfn, where);
> - 	advk_writel(pcie, reg, PIO_ADDR_LS);
> - 	advk_writel(pcie, 0, PIO_ADDR_MS);
> -
> diff --git 
> a/target/linux/mvebu/patches-4.14/524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch 
> b/target/linux/mvebu/patches-4.14/524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch
> index f7e71aa06034..1847c44803a4 100644
> --- 
> a/target/linux/mvebu/patches-4.14/524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch
> +++ 
> b/target/linux/mvebu/patches-4.14/524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch
> @@ -45,13 +45,14 @@ Signed-off-by: Thomas Petazzoni 
> <thomas.petazzoni@free-electrons.com>
> 
>  --- a/drivers/pci/host/pci-aardvark.c
>  +++ b/drivers/pci/host/pci-aardvark.c
> -@@ -30,8 +30,10 @@
> +@@ -30,9 +30,11 @@
>   #define PCIE_CORE_DEV_CTRL_STATS_REG				0xc8
>   #define     PCIE_CORE_DEV_CTRL_STATS_RELAX_ORDER_DISABLE	(0 << 4)
>   #define     PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ_SHIFT	5
>  +#define     PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ		0x2
>   #define     PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE		(0 << 11)
>   #define     PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT	12
> + #define     PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ		0x2
>  +#define     PCIE_CORE_MPS_UNIT_BYTE				128
>   #define PCIE_CORE_LINK_CTRL_STAT_REG				0xd0
>   #define     PCIE_CORE_LINK_L0S_ENTRY				BIT(0)
> @@ -64,9 +65,9 @@ Signed-off-by: Thomas Petazzoni 
> <thomas.petazzoni@free-electrons.com>
>  +		(PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ <<
>  +		 PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ_SHIFT) |
>   		PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE |
> - 		PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT;
> - 	advk_writel(pcie, reg, PCIE_CORE_DEV_CTRL_STATS_REG);
> -@@ -879,6 +882,58 @@ out_release_res:
> + 		(PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ <<
> + 		 PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT);
> +@@ -886,6 +889,58 @@ out_release_res:
>   	return err;
>   }
> 
> @@ -125,7 +126,7 @@ Signed-off-by: Thomas Petazzoni 
> <thomas.petazzoni@free-electrons.com>
>   static int advk_pcie_probe(struct platform_device *pdev)
>   {
>   	struct device *dev = &pdev->dev;
> -@@ -952,6 +1007,9 @@ static int advk_pcie_probe(struct platfo
> +@@ -959,6 +1014,9 @@ static int advk_pcie_probe(struct platfo
>   	list_for_each_entry(child, &bus->children, node)
>   		pcie_bus_configure_settings(child);
> 
> diff --git 
> a/target/linux/mvebu/patches-4.14/525-PCI-aardvark-use-isr1-instead-of-isr0-interrupt-in-legacy-irq-mode.patch 
> b/target/linux/mvebu/patches-4.14/525-PCI-aardvark-use-isr1-instead-of-isr0-interrupt-in-legacy-irq-mode.patch
> deleted file mode 100644
> index 777a078ef910..000000000000
> --- 
> a/target/linux/mvebu/patches-4.14/525-PCI-aardvark-use-isr1-instead-of-isr0-interrupt-in-legacy-irq-mode.patch
> +++ /dev/null
> @@ -1,143 +0,0 @@
> -From patchwork Thu Sep 28 12:58:35 2017
> -Content-Type: text/plain; charset="utf-8"
> -MIME-Version: 1.0
> -Content-Transfer-Encoding: 7bit
> -Subject: [v2,
> - 4/7] PCI: aardvark: use isr1 instead of isr0 interrupt in legacy irq
> - mode
> -X-Patchwork-Submitter: Thomas Petazzoni 
> <thomas.petazzoni@free-electrons.com>
> -X-Patchwork-Id: 819592
> -Message-Id: 
> <20170928125838.11887-5-thomas.petazzoni@free-electrons.com>
> -To: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org
> -Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn 
> <andrew@lunn.ch>,
> - Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Gregory 
> Clement
> - <gregory.clement@free-electrons.com>,
> - Nadav Haklai <nadavh@marvell.com>, Hanna Hawa <hannah@marvell.com>,
> - Yehuda Yitschak <yehuday@marvell.com>,
> - linux-arm-kernel@lists.infradead.org, Antoine Tenart
> - <antoine.tenart@free-electrons.com>, =?utf-8?q?Miqu=C3=A8l_Raynal?=
> - <miquel.raynal@free-electrons.com>, Victor Gu <xigu@marvell.com>,
> - Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> -Date: Thu, 28 Sep 2017 14:58:35 +0200
> -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> -List-Id: <linux-pci.vger.kernel.org>
> -
> -From: Victor Gu <xigu@marvell.com>
> -
> -The Aardvark has two interrupts sets:
> -
> - - first set is bit[23:16] of PCIe ISR 0 register(RD0074840h)
> -
> - - second set is bit[11:8] of PCIe ISR 1 register(RD0074848h)
> -
> -Only one set should be used, while another set should be masked.
> -
> -The second set, ISR1, is more advanced, the Legacy INT_X status bit 
> is
> -asserted once Assert_INTX message is received, and de-asserted after
> -Deassert_INTX message is received. Therefore, it matches what the
> -driver is currently doing in the ->irq_mask() and ->irq_unmask()
> -functions. The ISR0 requires additional work to deassert the
> -interrupt, which the driver doesn't do currently.
> -
> -This commit resolves a number of issues with legacy interrupts.
> -
> -This is part of fixing bug
> -https://bugzilla.kernel.org/show_bug.cgi?id=196339, this commit was
> -reported as the user to be important to get a Intel 7260 mini-PCIe
> -WiFi card working.
> -
> -Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host 
> controller driver")
> -Signed-off-by: Victor Gu <xigu@marvell.com>
> -Reviewed-by: Evan Wang <xswang@marvell.com>
> -Reviewed-by: Nadav Haklai <nadavh@marvell.com>
> -[Thomas: tweak commit log.]
> -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ----
> - drivers/pci/host/pci-aardvark.c | 41 
> ++++++++++++++++++++++++-----------------
> - 1 file changed, 24 insertions(+), 17 deletions(-)
> -
> ---- a/drivers/pci/host/pci-aardvark.c
> -+++ b/drivers/pci/host/pci-aardvark.c
> -@@ -105,7 +105,8 @@
> - #define PCIE_ISR1_MASK_REG			(CONTROL_BASE_ADDR + 0x4C)
> - #define     PCIE_ISR1_POWER_STATE_CHANGE	BIT(4)
> - #define     PCIE_ISR1_FLUSH			BIT(5)
> --#define     PCIE_ISR1_ALL_MASK			GENMASK(5, 4)
> -+#define     PCIE_ISR1_INTX_ASSERT(val)		BIT(8 + (val))
> -+#define     PCIE_ISR1_ALL_MASK			GENMASK(11, 4)
> - #define PCIE_MSI_ADDR_LOW_REG			(CONTROL_BASE_ADDR + 0x50)
> - #define PCIE_MSI_ADDR_HIGH_REG			(CONTROL_BASE_ADDR + 0x54)
> - #define PCIE_MSI_STATUS_REG			(CONTROL_BASE_ADDR + 0x58)
> -@@ -615,9 +616,9 @@ static void advk_pcie_irq_mask(struct ir
> - 	irq_hw_number_t hwirq = irqd_to_hwirq(d);
> - 	u32 mask;
> -
> --	mask = advk_readl(pcie, PCIE_ISR0_MASK_REG);
> --	mask |= PCIE_ISR0_INTX_ASSERT(hwirq);
> --	advk_writel(pcie, mask, PCIE_ISR0_MASK_REG);
> -+	mask = advk_readl(pcie, PCIE_ISR1_MASK_REG);
> -+	mask |= PCIE_ISR1_INTX_ASSERT(hwirq);
> -+	advk_writel(pcie, mask, PCIE_ISR1_MASK_REG);
> - }
> -
> - static void advk_pcie_irq_unmask(struct irq_data *d)
> -@@ -626,9 +627,9 @@ static void advk_pcie_irq_unmask(struct
> - 	irq_hw_number_t hwirq = irqd_to_hwirq(d);
> - 	u32 mask;
> -
> --	mask = advk_readl(pcie, PCIE_ISR0_MASK_REG);
> --	mask &= ~PCIE_ISR0_INTX_ASSERT(hwirq);
> --	advk_writel(pcie, mask, PCIE_ISR0_MASK_REG);
> -+	mask = advk_readl(pcie, PCIE_ISR1_MASK_REG);
> -+	mask &= ~PCIE_ISR1_INTX_ASSERT(hwirq);
> -+	advk_writel(pcie, mask, PCIE_ISR1_MASK_REG);
> - }
> -
> - static int advk_pcie_irq_map(struct irq_domain *h,
> -@@ -771,29 +772,35 @@ static void advk_pcie_handle_msi(struct
> -
> - static void advk_pcie_handle_int(struct advk_pcie *pcie)
> - {
> --	u32 val, mask, status;
> -+	u32 isr0_val, isr0_mask, isr0_status;
> -+	u32 isr1_val, isr1_mask, isr1_status;
> - 	int i, virq;
> -
> --	val = advk_readl(pcie, PCIE_ISR0_REG);
> --	mask = advk_readl(pcie, PCIE_ISR0_MASK_REG);
> --	status = val & ((~mask) & PCIE_ISR0_ALL_MASK);
> --
> --	if (!status) {
> --		advk_writel(pcie, val, PCIE_ISR0_REG);
> -+	isr0_val = advk_readl(pcie, PCIE_ISR0_REG);
> -+	isr0_mask = advk_readl(pcie, PCIE_ISR0_MASK_REG);
> -+	isr0_status = isr0_val & ((~isr0_mask) & PCIE_ISR0_ALL_MASK);
> -+
> -+	isr1_val = advk_readl(pcie, PCIE_ISR1_REG);
> -+	isr1_mask = advk_readl(pcie, PCIE_ISR1_MASK_REG);
> -+	isr1_status = isr1_val & ((~isr1_mask) & PCIE_ISR1_ALL_MASK);
> -+
> -+	if (!isr0_status && !isr1_status) {
> -+		advk_writel(pcie, isr0_val, PCIE_ISR0_REG);
> -+		advk_writel(pcie, isr1_val, PCIE_ISR1_REG);
> - 		return;
> - 	}
> -
> - 	/* Process MSI interrupts */
> --	if (status & PCIE_ISR0_MSI_INT_PENDING)
> -+	if (isr0_status & PCIE_ISR0_MSI_INT_PENDING)
> - 		advk_pcie_handle_msi(pcie);
> -
> - 	/* Process legacy interrupts */
> - 	for (i = 0; i < PCI_NUM_INTX; i++) {
> --		if (!(status & PCIE_ISR0_INTX_ASSERT(i)))
> -+		if (!(isr1_status & PCIE_ISR1_INTX_ASSERT(i)))
> - 			continue;
> -
> --		advk_writel(pcie, PCIE_ISR0_INTX_ASSERT(i),
> --			    PCIE_ISR0_REG);
> -+		advk_writel(pcie, PCIE_ISR1_INTX_ASSERT(i),
> -+			    PCIE_ISR1_REG);
> -
> - 		virq = irq_find_mapping(pcie->irq_domain, i);
> - 		generic_handle_irq(virq);
> diff --git 
> a/target/linux/mvebu/patches-4.14/527-PCI-aardvark-fix-PCIe-max-read-request-size-setting.patch 
> b/target/linux/mvebu/patches-4.14/527-PCI-aardvark-fix-PCIe-max-read-request-size-setting.patch
> deleted file mode 100644
> index eaf7b097b0ee..000000000000
> --- 
> a/target/linux/mvebu/patches-4.14/527-PCI-aardvark-fix-PCIe-max-read-request-size-setting.patch
> +++ /dev/null
> @@ -1,63 +0,0 @@
> -From patchwork Thu Sep 28 12:58:37 2017
> -Content-Type: text/plain; charset="utf-8"
> -MIME-Version: 1.0
> -Content-Transfer-Encoding: 7bit
> -Subject: [v2,6/7] PCI: aardvark: fix PCIe max read request size 
> setting
> -X-Patchwork-Submitter: Thomas Petazzoni 
> <thomas.petazzoni@free-electrons.com>
> -X-Patchwork-Id: 819591
> -Message-Id: 
> <20170928125838.11887-7-thomas.petazzoni@free-electrons.com>
> -To: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org
> -Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn 
> <andrew@lunn.ch>,
> - Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Gregory 
> Clement
> - <gregory.clement@free-electrons.com>,
> - Nadav Haklai <nadavh@marvell.com>, Hanna Hawa <hannah@marvell.com>,
> - Yehuda Yitschak <yehuday@marvell.com>,
> - linux-arm-kernel@lists.infradead.org, Antoine Tenart
> - <antoine.tenart@free-electrons.com>, =?utf-8?q?Miqu=C3=A8l_Raynal?=
> - <miquel.raynal@free-electrons.com>, Evan Wang <xswang@marvell.com>,
> - Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> -Date: Thu, 28 Sep 2017 14:58:37 +0200
> -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> -List-Id: <linux-pci.vger.kernel.org>
> -
> -From: Evan Wang <xswang@marvell.com>
> -
> -There is an obvious typo issue in the definition of the PCIe maximum
> -read request size: a bit shift is directly used as a value, while it
> -should be used to shift the correct value.
> -
> -This is part of fixing bug
> -https://bugzilla.kernel.org/show_bug.cgi?id=196339, this commit was
> -reported as the user to be important to get a Intel 7260 mini-PCIe
> -WiFi card working.
> -
> -Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host 
> controller driver")
> -Signed-off-by: Evan Wang <xswang@marvell.com>
> -Reviewed-by: Victor Gu <xigu@marvell.com>
> -Reviewed-by: Nadav Haklai <nadavh@marvell.com>
> -[Thomas: tweak commit log.]
> -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ----
> - drivers/pci/host/pci-aardvark.c | 4 +++-
> - 1 file changed, 3 insertions(+), 1 deletion(-)
> -
> ---- a/drivers/pci/host/pci-aardvark.c
> -+++ b/drivers/pci/host/pci-aardvark.c
> -@@ -33,6 +33,7 @@
> - #define     PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ		0x2
> - #define     PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE		(0 << 11)
> - #define     PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT	12
> -+#define     PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ		0x2
> - #define     PCIE_CORE_MPS_UNIT_BYTE				128
> - #define PCIE_CORE_LINK_CTRL_STAT_REG				0xd0
> - #define     PCIE_CORE_LINK_L0S_ENTRY				BIT(0)
> -@@ -303,7 +304,8 @@ static void advk_pcie_setup_hw(struct ad
> - 		(PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ <<
> - 		 PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ_SHIFT) |
> - 		PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE |
> --		PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT;
> -+		(PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ <<
> -+		 PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT);
> - 	advk_writel(pcie, reg, PCIE_CORE_DEV_CTRL_STATS_REG);
> -
> - 	/* Program PCIe Control 2 to disable strict ordering */
> diff --git 
> a/target/linux/ramips/patches-4.14/0036-mtd-fix-cfi-cmdset-0002-erase-status-check.patch 
> b/target/linux/ramips/patches-4.14/0036-mtd-fix-cfi-cmdset-0002-erase-status-check.patch
> index 0b3a6c40e485..9226202b7f87 100644
> --- 
> a/target/linux/ramips/patches-4.14/0036-mtd-fix-cfi-cmdset-0002-erase-status-check.patch
> +++ 
> b/target/linux/ramips/patches-4.14/0036-mtd-fix-cfi-cmdset-0002-erase-status-check.patch
> @@ -9,7 +9,7 @@ Subject: [PATCH 36/53] mtd: fix cfi cmdset 0002 erase 
> status check
> 
>  --- a/drivers/mtd/chips/cfi_cmdset_0002.c
>  +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
> -@@ -2293,7 +2293,7 @@ static int __xipram do_erase_chip(struct
> +@@ -2295,7 +2295,7 @@ static int __xipram do_erase_chip(struct
>   			chip->erase_suspended = 0;
>   		}
> 
> @@ -18,7 +18,7 @@ Subject: [PATCH 36/53] mtd: fix cfi cmdset 0002 
> erase status check
>   			break;
> 
>   		if (time_after(jiffies, timeo)) {
> -@@ -2382,7 +2382,7 @@ static int __xipram do_erase_oneblock(st
> +@@ -2385,7 +2385,7 @@ static int __xipram do_erase_oneblock(st
>   			chip->erase_suspended = 0;
>   		}
> 
> diff --git 
> a/target/linux/ramips/patches-4.14/0037-mtd-cfi-cmdset-0002-force-word-write.patch 
> b/target/linux/ramips/patches-4.14/0037-mtd-cfi-cmdset-0002-force-word-write.patch
> index 8ac6964cd128..7ee8284535f1 100644
> --- 
> a/target/linux/ramips/patches-4.14/0037-mtd-cfi-cmdset-0002-force-word-write.patch
> +++ 
> b/target/linux/ramips/patches-4.14/0037-mtd-cfi-cmdset-0002-force-word-write.patch
> @@ -44,7 +44,7 @@ Subject: [PATCH 37/53] mtd: cfi cmdset 0002 force 
> word write
> 
>   /* Atmel chips don't use the same PRI format as AMD chips */
>   static void fixup_convert_atmel_pri(struct mtd_info *mtd)
> -@@ -1791,6 +1795,7 @@ static int cfi_amdstd_write_words(struct
> +@@ -1792,6 +1796,7 @@ static int cfi_amdstd_write_words(struct
>   /*
>    * FIXME: interleaved mode not tested, and probably not supported!
>    */
> @@ -52,7 +52,7 @@ Subject: [PATCH 37/53] mtd: cfi cmdset 0002 force 
> word write
>   static int __xipram do_write_buffer(struct map_info *map, struct 
> flchip *chip,
>   				    unsigned long adr, const u_char *buf,
>   				    int len)
> -@@ -1919,7 +1924,6 @@ static int __xipram do_write_buffer(stru
> +@@ -1920,7 +1925,6 @@ static int __xipram do_write_buffer(stru
>   	return ret;
>   }
> 
> @@ -60,7 +60,7 @@ Subject: [PATCH 37/53] mtd: cfi cmdset 0002 force 
> word write
>   static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t 
> to, size_t len,
>   				    size_t *retlen, const u_char *buf)
>   {
> -@@ -1994,6 +1998,7 @@ static int cfi_amdstd_write_buffers(stru
> +@@ -1995,6 +1999,7 @@ static int cfi_amdstd_write_buffers(stru
> 
>   	return 0;
>   }
> diff --git 
> a/target/linux/ramips/patches-4.14/0043-spi-add-mt7621-support.patch 
> b/target/linux/ramips/patches-4.14/0043-spi-add-mt7621-support.patch
> index f59e52a5b944..d9bc48d69b09 100644
> --- 
> a/target/linux/ramips/patches-4.14/0043-spi-add-mt7621-support.patch
> +++ 
> b/target/linux/ramips/patches-4.14/0043-spi-add-mt7621-support.patch
> @@ -11,10 +11,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
>   3 files changed, 487 insertions(+)
>   create mode 100644 drivers/spi/spi-mt7621.c
> 
> -Index: linux-4.14.37/drivers/spi/Kconfig
> -===================================================================
> ---- linux-4.14.37.orig/drivers/spi/Kconfig
> -+++ linux-4.14.37/drivers/spi/Kconfig
> +--- a/drivers/spi/Kconfig
> ++++ b/drivers/spi/Kconfig
>  @@ -569,6 +569,12 @@ config SPI_RT2880
>   	help
>   	  This selects a driver for the Ralink RT288x/RT305x SPI 
> Controller.
> @@ -28,10 +26,8 @@ Index: linux-4.14.37/drivers/spi/Kconfig
>   config SPI_S3C24XX
>   	tristate "Samsung S3C24XX series SPI"
>   	depends on ARCH_S3C24XX
> -Index: linux-4.14.37/drivers/spi/Makefile
> -===================================================================
> ---- linux-4.14.37.orig/drivers/spi/Makefile
> -+++ linux-4.14.37/drivers/spi/Makefile
> +--- a/drivers/spi/Makefile
> ++++ b/drivers/spi/Makefile
>  @@ -60,6 +60,7 @@ obj-$(CONFIG_SPI_MPC512x_PSC)		+= spi-mp
>   obj-$(CONFIG_SPI_MPC52xx_PSC)		+= spi-mpc52xx-psc.o
>   obj-$(CONFIG_SPI_MPC52xx)		+= spi-mpc52xx.o
> @@ -40,10 +36,8 @@ Index: linux-4.14.37/drivers/spi/Makefile
>   obj-$(CONFIG_SPI_MXS)			+= spi-mxs.o
>   obj-$(CONFIG_SPI_NUC900)		+= spi-nuc900.o
>   obj-$(CONFIG_SPI_OC_TINY)		+= spi-oc-tiny.o
> -Index: linux-4.14.37/drivers/spi/spi-mt7621.c
> -===================================================================
>  --- /dev/null
> -+++ linux-4.14.37/drivers/spi/spi-mt7621.c
> ++++ b/drivers/spi/spi-mt7621.c
>  @@ -0,0 +1,494 @@
>  +/*
>  + * spi-mt7621.c -- MediaTek MT7621 SPI controller driver
> --
> 2.7.4
> 
> 
> _______________________________________________
> Lede-dev mailing list
> Lede-dev@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev
Syrone Wong May 9, 2018, 12:12 p.m. UTC | #3
4.14.40 released.


Best Regards,
Syrone Wong


On Wed, May 9, 2018 at 6:04 PM, Stijn Segers <foss@volatilesystems.org> wrote:
> Op di, 8 mei 2018 om 6:42 , schreef Koen Vandeputte
> <koen.vandeputte@ncentric.com>:
>>
>> Refreshed all patches
>>
>> Dropped upstreamed patches:
>> 522-PCI-aardvark-fix-logic-in-PCI-configuration-read-write-functions.patch
>> 523-PCI-aardvark-set-PIO_ADDR_LS-correctly-in-advk_pcie_rd_conf.patch
>>
>> 525-PCI-aardvark-use-isr1-instead-of-isr0-interrupt-in-legacy-irq-mode.patch
>> 527-PCI-aardvark-fix-PCIe-max-read-request-size-setting.patch
>>
>> updated patches:
>> 524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch
>>
>> Compile-tested on: cns3xxx, imx6, mvebu, x86_64
>> Runtime-tested on: cns3xxx, imx6,
>
>
> Compile-tested: x86/64, ramips/mt7621
> Run-tested: ramips/mt7621
>
>>
>> Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
>
>
> Tested-by: Stijn Segers <foss@volatilesystems.org>
>
>>
>> ---
>>
>> note:
>> Please apply following patch first:  be374d13fef3 "kernel: bump to 4.9.98"
>>
>> V2:
>> - Rebased using the 4.9.98 bump patch from Kevin DB
>> - Fully refreshed including patch changes from commit f9dcdc7fefca
>> ("kernel: mark source kernel for netfilter backports")
>> - Removed bump script from patch ..
>> - Recompiled and retested mentioned targets
>>
>>
>>
>>  include/kernel-version.mk                          |   4 +-
>>  ...d-firmware-loader-for-uPD720201-and-uPD72.patch |   6 +-
>>  .../802-usb-xhci-force-msi-renesas-xhci.patch      |   2 +-
>>  ...1-tty-serial-drop-QCA-pecific-SoC-symbols.patch |   7 +-
>>  .../0002-watchdog-ath79-fix-maximum-timeout.patch  |   7 +-
>>  ...03-leds-add-reset-controller-based-driver.patch |  16 +-
>>  .../patches-4.14/0004-phy-add-ath79-usb-phys.patch |  20 +-
>>  .../0005-usb-add-more-OF-quirk-properties.patch    |   7 +-
>>  .../0006-usb-drop-deprecated-symbols.patch         |   9 +-
>>  ...-ath79-intc-add-irq-cascade-driver-for-QC.patch |   8 -
>>  ...irqchip-irq-ath79-cpu-drop-OF-init-helper.patch |   5 -
>>  ...-MIPS-ath79-add-lots-of-missing-registers.patch |   8 +-
>>  ...0-MIPS-ath79-select-the-PINCTRL-subsystem.patch |   7 +-
>>  ...fix-register-address-in-ath79_ddr_wb_flus.patch |   5 -
>>  ...th79-Avoid-using-unitialized-reg-variable.patch |   5 -
>>  .../0013-MIPS-ath79-fix-system-restart.patch       |  11 +-
>>  .../0014-MIPS-ath79-finetune-cpu-overrides.patch   |   5 -
>>  ...MIPS-ath79-enable-uart-during-early_prink.patch |   7 +-
>>  ...16-MIPS-ath79-add-support-for-QCA953x-SoC.patch |  27 +--
>>  ...17-MIPS-ath79-add-support-for-qca956x-soc.patch |  29 +--
>>  ...PS-ath79-get-PCIe-controller-out-of-reset.patch |   9 +-
>>  ...turn-pci-ar71xx-driver-into-a-pure-OF-dri.patch |  17 +-
>>  ...turn-pci-ar724x-driver-into-a-pure-OF-dri.patch |  13 +-
>>  .../patches-4.14/0022-MIPS-ath79-drop-pci.c.patch  |  20 +-
>>  .../0023-MIPS-ath79-drop-mach-files.patch          |  32 +--
>>  .../0024-MIPS-ath79-drop-pdata-helpers.patch       |  41 ----
>>  .../patches-4.14/0025-MIPS-ath79-drop-irq.c.patch  |  10 -
>>  .../0026-MIPS-ath79-sanitize-Kconfig-symbols.patch |  24 +-
>>  ...0027-MIPS-ath79-drop-mips_machine-support.patch |  22 +-
>>  ...add-helpers-for-setting-clocks-and-expose.patch |   4 +-
>>  .../004-register_gpio_driver_earlier.patch         |   6 +-
>>  .../405-mtd-tp-link-partition-parser.patch         |  12 +-
>>  .../patches-4.14/420-net-ar71xx_mac_driver.patch   |   2 +-
>>  .../430-drivers-link-spi-before-mtd.patch          |   2 +-
>>  .../461-spi-ath79-add-fast-flash-read.patch        |   6 +-
>>  ...MIPS-ath79-swizzle-pci-address-for-ar71xx.patch |  10 +-
>>  .../490-usb-ehci-add-quirks-for-qca-socs.patch     |   6 +-
>>  ...tbang-prevent-rescheduling-during-command.patch |   6 +-
>>  .../902-at803x-add-reset-gpio-pdata.patch          |   6 +-
>>  .../patches-4.14/910-unaligned_access_hacks.patch  | 258
>> +++++++--------------
>>  ...ycon-initialise-baud-field-of-earlycon-de.patch |   2 +-
>>  .../brcm47xx/patches-4.14/159-cpu_fixes.patch      |   8 +-
>>  ...b-host-fotg2-restart-hcd-after-port-reset.patch |   7 +-
>>  ...ts-Fix-bootargs-for-Gemini-D-Link-devices.patch |   7 -
>>  ...-dts-Add-ethernet-to-a-bunch-of-platforms.patch |   7 -
>>  ...rm-dts-gemini-dlink-dir-685-add-rtl8366rb.patch |   2 +-
>>  ...ata-corruption-related-to-cache-coherence.patch |   6 +-
>>  ..._cmdset_0002-add-buffer-write-cmd-timeout.patch |   2 +-
>>  .../pending-4.14/630-packet_socket_type.patch      |  16 +-
>>  ...pppoe-support-hardware-flow-table-offload.patch |   2 +-
>>  ...jecting-with-source-address-failed-policy.patch |  16 +-
>>  ...in-PCI-configuration-read-write-functions.patch |  66 ------
>>  ...IO_ADDR_LS-correctly-in-advk_pcie_rd_conf.patch |  53 -----
>>  ...t-and-device-to-the-same-MAX-payload-size.patch |  11 +-
>>  ...tead-of-isr0-interrupt-in-legacy-irq-mode.patch | 143 ------------
>>  ...rk-fix-PCIe-max-read-request-size-setting.patch |  63 -----
>>  ...td-fix-cfi-cmdset-0002-erase-status-check.patch |   4 +-
>>  ...0037-mtd-cfi-cmdset-0002-force-word-write.patch |   6 +-
>>  .../patches-4.14/0043-spi-add-mt7621-support.patch |  16 +-
>>  59 files changed, 233 insertions(+), 905 deletions(-)
>>  mode change 100755 => 100644
>> target/linux/generic/pending-4.14/103-MIPS-c-r4k-fix-data-corruption-related-to-cache-coherence.patch
>>  delete mode 100644
>> target/linux/mvebu/patches-4.14/522-PCI-aardvark-fix-logic-in-PCI-configuration-read-write-functions.patch
>>  delete mode 100644
>> target/linux/mvebu/patches-4.14/523-PCI-aardvark-set-PIO_ADDR_LS-correctly-in-advk_pcie_rd_conf.patch
>>  delete mode 100644
>> target/linux/mvebu/patches-4.14/525-PCI-aardvark-use-isr1-instead-of-isr0-interrupt-in-legacy-irq-mode.patch
>>  delete mode 100644
>> target/linux/mvebu/patches-4.14/527-PCI-aardvark-fix-PCIe-max-read-request-size-setting.patch
>>
>> diff --git a/include/kernel-version.mk b/include/kernel-version.mk
>> index fc0856554c45..192ee1c2e969 100644
>> --- a/include/kernel-version.mk
>> +++ b/include/kernel-version.mk
>> @@ -5,12 +5,12 @@ LINUX_RELEASE?=1
>>  LINUX_VERSION-3.18 = .71
>>  LINUX_VERSION-4.4 = .121
>>  LINUX_VERSION-4.9 = .98
>> -LINUX_VERSION-4.14 = .37
>> +LINUX_VERSION-4.14 = .39
>>
>>  LINUX_KERNEL_HASH-3.18.71 =
>> 5abc9778ad44ce02ed6c8ab52ece8a21c6d20d21f6ed8a19287b4a38a50c1240
>>  LINUX_KERNEL_HASH-4.4.121 =
>> 44a88268b5088dc326b30c9b9133ac35a9a200b636b7268d08f32abeae6ca729
>>  LINUX_KERNEL_HASH-4.9.98 =
>> 12cd90355adbc946e7e95aa5cdef2dd99b8e166cb64fe53a91c3e1d8f81810ef
>> -LINUX_KERNEL_HASH-4.14.37 =
>> 8197e7ed3620713e412905430a7bf93e2048384042ffba189a66f0eeb6908e92
>> +LINUX_KERNEL_HASH-4.14.39 =
>> 269fc576ab0509e10c3b26e57866aea3f272c17f172f14fd75e2676d38c1b7bd
>>
>>  remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst
>> https://,,$(1))))
>>  sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst
>> -,_,$(subst /,_,$(1)))))))
>> diff --git
>> a/target/linux/apm821xx/patches-4.14/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
>> b/target/linux/apm821xx/patches-4.14/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
>> index 49304ef8707a..efaf61a5f313 100644
>> ---
>> a/target/linux/apm821xx/patches-4.14/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
>> +++
>> b/target/linux/apm821xx/patches-4.14/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
>> @@ -44,7 +44,7 @@ Signed-off-by: Christian Lamparter
>> <chunkeey@googlemail.com>
>>
>>   #include "xhci.h"
>>   #include "xhci-trace.h"
>> -@@ -241,6 +243,458 @@ static void xhci_pme_acpi_rtd3_enable(st
>> +@@ -244,6 +246,458 @@ static void xhci_pme_acpi_rtd3_enable(st
>>   static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
>>   #endif /* CONFIG_ACPI */
>>
>> @@ -503,7 +503,7 @@ Signed-off-by: Christian Lamparter
>> <chunkeey@googlemail.com>
>>   /* called during probe() after chip reset completes */
>>   static int xhci_pci_setup(struct usb_hcd *hcd)
>>   {
>> -@@ -276,6 +730,22 @@ static int xhci_pci_probe(struct pci_dev
>> +@@ -279,6 +733,22 @@ static int xhci_pci_probe(struct pci_dev
>>         struct hc_driver *driver;
>>         struct usb_hcd *hcd;
>>
>> @@ -526,7 +526,7 @@ Signed-off-by: Christian Lamparter
>> <chunkeey@googlemail.com>
>>         driver = (struct hc_driver *)id->driver_data;
>>
>>         /* For some HW implementation, a XHCI reset is just not enough...
>> */
>> -@@ -340,6 +810,16 @@ static void xhci_pci_remove(struct pci_d
>> +@@ -343,6 +813,16 @@ static void xhci_pci_remove(struct pci_d
>>   {
>>         struct xhci_hcd *xhci;
>>
>> diff --git
>> a/target/linux/apm821xx/patches-4.14/802-usb-xhci-force-msi-renesas-xhci.patch
>> b/target/linux/apm821xx/patches-4.14/802-usb-xhci-force-msi-renesas-xhci.patch
>> index ae05d291f348..b78a7881c124 100644
>> ---
>> a/target/linux/apm821xx/patches-4.14/802-usb-xhci-force-msi-renesas-xhci.patch
>> +++
>> b/target/linux/apm821xx/patches-4.14/802-usb-xhci-force-msi-renesas-xhci.patch
>> @@ -13,7 +13,7 @@ produce a noisy warning.
>>
>>  --- a/drivers/usb/host/xhci-pci.c
>>  +++ b/drivers/usb/host/xhci-pci.c
>> -@@ -199,7 +199,7 @@ static void xhci_pci_quirks(struct devic
>> +@@ -202,7 +202,7 @@ static void xhci_pci_quirks(struct devic
>>                 xhci->quirks |= XHCI_TRUST_TX_LENGTH;
>>         if (pdev->vendor == PCI_VENDOR_ID_RENESAS &&
>>                         pdev->device == 0x0015)
>> diff --git
>> a/target/linux/ath79/patches-4.14/0001-tty-serial-drop-QCA-pecific-SoC-symbols.patch
>> b/target/linux/ath79/patches-4.14/0001-tty-serial-drop-QCA-pecific-SoC-symbols.patch
>> index 0d3f9b51ce65..6c4b907e2201 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0001-tty-serial-drop-QCA-pecific-SoC-symbols.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0001-tty-serial-drop-QCA-pecific-SoC-symbols.patch
>> @@ -8,11 +8,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   drivers/tty/serial/Kconfig | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> -diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
>> -index 3682fd3e960c..c92bd969bbf9 100644
>>  --- a/drivers/tty/serial/Kconfig
>>  +++ b/drivers/tty/serial/Kconfig
>> -@@ -1469,7 +1469,7 @@ config SERIAL_XILINX_PS_UART_CONSOLE
>> +@@ -1463,7 +1463,7 @@ config SERIAL_XILINX_PS_UART_CONSOLE
>>
>>   config SERIAL_AR933X
>>         tristate "AR933X serial port support"
>> @@ -21,6 +19,3 @@ index 3682fd3e960c..c92bd969bbf9 100644
>>         select SERIAL_CORE
>>         help
>>           If you have an Atheros AR933X SOC based board and want to use
>> the
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0002-watchdog-ath79-fix-maximum-timeout.patch
>> b/target/linux/ath79/patches-4.14/0002-watchdog-ath79-fix-maximum-timeout.patch
>> index 8cf4fb3c942a..36234d8d83ed 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0002-watchdog-ath79-fix-maximum-timeout.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0002-watchdog-ath79-fix-maximum-timeout.patch
>> @@ -11,11 +11,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   drivers/watchdog/ath79_wdt.c | 8 ++++++--
>>   1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> -diff --git a/drivers/watchdog/ath79_wdt.c b/drivers/watchdog/ath79_wdt.c
>> -index e2209bf5fa8a..c2fc6c3d0092 100644
>>  --- a/drivers/watchdog/ath79_wdt.c
>>  +++ b/drivers/watchdog/ath79_wdt.c
>> -@@ -115,10 +115,14 @@ static inline void ath79_wdt_disable(void)
>> +@@ -115,10 +115,14 @@ static inline void ath79_wdt_disable(voi
>>
>>   static int ath79_wdt_set_timeout(int val)
>>   {
>> @@ -32,6 +30,3 @@ index e2209bf5fa8a..c2fc6c3d0092 100644
>>         ath79_wdt_keepalive();
>>
>>         return 0;
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0003-leds-add-reset-controller-based-driver.patch
>> b/target/linux/ath79/patches-4.14/0003-leds-add-reset-controller-based-driver.patch
>> index 358da3b8302c..495d79288b3b 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0003-leds-add-reset-controller-based-driver.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0003-leds-add-reset-controller-based-driver.patch
>> @@ -11,10 +11,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   3 files changed, 149 insertions(+)
>>   create mode 100644 drivers/leds/leds-reset.c
>>
>> -Index: linux-4.14.32/drivers/leds/Kconfig
>> -===================================================================
>> ---- linux-4.14.32.orig/drivers/leds/Kconfig
>> -+++ linux-4.14.32/drivers/leds/Kconfig
>> +--- a/drivers/leds/Kconfig
>> ++++ b/drivers/leds/Kconfig
>>  @@ -696,6 +696,17 @@ config LEDS_NIC78BX
>>           To compile this driver as a module, choose M here: the module
>>           will be called leds-nic78bx.
>> @@ -33,10 +31,8 @@ Index: linux-4.14.32/drivers/leds/Kconfig
>>   comment "LED Triggers"
>>   source "drivers/leds/trigger/Kconfig"
>>
>> -Index: linux-4.14.32/drivers/leds/leds-reset.c
>> -===================================================================
>>  --- /dev/null
>> -+++ linux-4.14.32/drivers/leds/leds-reset.c
>> ++++ b/drivers/leds/leds-reset.c
>>  @@ -0,0 +1,137 @@
>>  +/*
>>  + * Copyright (C) 2018 John Crispin <john@phrozen.org>
>> @@ -175,10 +171,8 @@ Index: linux-4.14.32/drivers/leds/leds-reset.c
>>  +MODULE_DESCRIPTION("reset controller LED driver");
>>  +MODULE_LICENSE("GPL");
>>  +MODULE_ALIAS("platform:leds-reset");
>> -Index: linux-4.14.32/drivers/leds/Makefile
>> -===================================================================
>> ---- linux-4.14.32.orig/drivers/leds/Makefile
>> -+++ linux-4.14.32/drivers/leds/Makefile
>> +--- a/drivers/leds/Makefile
>> ++++ b/drivers/leds/Makefile
>>  @@ -73,6 +73,7 @@ obj-$(CONFIG_LEDS_PM8058)            += leds-pm805
>>   obj-$(CONFIG_LEDS_MLXCPLD)            += leds-mlxcpld.o
>>   obj-$(CONFIG_LEDS_NIC78BX)            += leds-nic78bx.o
>> diff --git
>> a/target/linux/ath79/patches-4.14/0004-phy-add-ath79-usb-phys.patch
>> b/target/linux/ath79/patches-4.14/0004-phy-add-ath79-usb-phys.patch
>> index 38763d2d743b..6280baf913ff 100644
>> --- a/target/linux/ath79/patches-4.14/0004-phy-add-ath79-usb-phys.patch
>> +++ b/target/linux/ath79/patches-4.14/0004-phy-add-ath79-usb-phys.patch
>> @@ -13,10 +13,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   create mode 100644 drivers/phy/phy-ar7100-usb.c
>>   create mode 100644 drivers/phy/phy-ar7200-usb.c
>>
>> -Index: linux-4.14.37/drivers/phy/Kconfig
>> -===================================================================
>> ---- linux-4.14.37.orig/drivers/phy/Kconfig
>> -+++ linux-4.14.37/drivers/phy/Kconfig
>> +--- a/drivers/phy/Kconfig
>> ++++ b/drivers/phy/Kconfig
>>  @@ -15,6 +15,22 @@ config GENERIC_PHY
>>           phy users can obtain reference to the PHY. All the users of this
>>           framework should select this config.
>> @@ -40,10 +38,8 @@ Index: linux-4.14.37/drivers/phy/Kconfig
>>   config PHY_LPC18XX_USB_OTG
>>         tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
>>         depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
>> -Index: linux-4.14.37/drivers/phy/Makefile
>> -===================================================================
>> ---- linux-4.14.37.orig/drivers/phy/Makefile
>> -+++ linux-4.14.37/drivers/phy/Makefile
>> +--- a/drivers/phy/Makefile
>> ++++ b/drivers/phy/Makefile
>>  @@ -4,6 +4,8 @@
>>   #
>>
>> @@ -53,10 +49,8 @@ Index: linux-4.14.37/drivers/phy/Makefile
>>   obj-$(CONFIG_PHY_LPC18XX_USB_OTG)     += phy-lpc18xx-usb-otg.o
>>   obj-$(CONFIG_PHY_XGENE)                       += phy-xgene.o
>>   obj-$(CONFIG_PHY_PISTACHIO_USB)               += phy-pistachio-usb.o
>> -Index: linux-4.14.37/drivers/phy/phy-ar7100-usb.c
>> -===================================================================
>>  --- /dev/null
>> -+++ linux-4.14.37/drivers/phy/phy-ar7100-usb.c
>> ++++ b/drivers/phy/phy-ar7100-usb.c
>>  @@ -0,0 +1,140 @@
>>  +/*
>>  + * Copyright (C) 2018 John Crispin <john@phrozen.org>
>> @@ -198,10 +192,8 @@ Index: linux-4.14.37/drivers/phy/phy-ar7100-usb.c
>>  +MODULE_DESCRIPTION("ATH79 USB PHY driver");
>>  +MODULE_AUTHOR("Alban Bedel <albeu@free.fr>");
>>  +MODULE_LICENSE("GPL");
>> -Index: linux-4.14.37/drivers/phy/phy-ar7200-usb.c
>> -===================================================================
>>  --- /dev/null
>> -+++ linux-4.14.37/drivers/phy/phy-ar7200-usb.c
>> ++++ b/drivers/phy/phy-ar7200-usb.c
>>  @@ -0,0 +1,123 @@
>>  +/*
>>  + * Copyright (C) 2015 Alban Bedel <albeu@free.fr>
>> diff --git
>> a/target/linux/ath79/patches-4.14/0005-usb-add-more-OF-quirk-properties.patch
>> b/target/linux/ath79/patches-4.14/0005-usb-add-more-OF-quirk-properties.patch
>> index a87fd70979ff..ec1bc3f7f706 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0005-usb-add-more-OF-quirk-properties.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0005-usb-add-more-OF-quirk-properties.patch
>> @@ -8,11 +8,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   drivers/usb/host/ehci-platform.c | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> -diff --git a/drivers/usb/host/ehci-platform.c
>> b/drivers/usb/host/ehci-platform.c
>> -index b065a960adc2..b1cc841b5399 100644
>>  --- a/drivers/usb/host/ehci-platform.c
>>  +++ b/drivers/usb/host/ehci-platform.c
>> -@@ -185,6 +185,11 @@ static int ehci_platform_probe(struct
>> platform_device *dev)
>> +@@ -187,6 +187,11 @@ static int ehci_platform_probe(struct pl
>>         ehci = hcd_to_ehci(hcd);
>>
>>         if (pdata == &ehci_platform_defaults && dev->dev.of_node) {
>> @@ -24,6 +22,3 @@ index b065a960adc2..b1cc841b5399 100644
>>                 if (of_property_read_bool(dev->dev.of_node,
>> "big-endian-regs"))
>>                         ehci->big_endian_mmio = 1;
>>
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0006-usb-drop-deprecated-symbols.patch
>> b/target/linux/ath79/patches-4.14/0006-usb-drop-deprecated-symbols.patch
>> index 6821aa74fa1b..a97fab71f49a 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0006-usb-drop-deprecated-symbols.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0006-usb-drop-deprecated-symbols.patch
>> @@ -8,11 +8,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   drivers/usb/host/Kconfig | 25 -------------------------
>>   1 file changed, 25 deletions(-)
>>
>> -diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
>> -index 4fcfb3084b36..55b45dcd7a4b 100644
>>  --- a/drivers/usb/host/Kconfig
>>  +++ b/drivers/usb/host/Kconfig
>> -@@ -293,19 +293,6 @@ config USB_CNS3XXX_EHCI
>> +@@ -297,19 +297,6 @@ config USB_CNS3XXX_EHCI
>>           It is needed for high-speed (480Mbit/sec) USB 2.0 device
>>           support.
>>
>> @@ -32,7 +30,7 @@ index 4fcfb3084b36..55b45dcd7a4b 100644
>>   config USB_EHCI_HCD_PLATFORM
>>         tristate "Generic EHCI driver for a platform device"
>>         default n
>> -@@ -489,18 +476,6 @@ config USB_OHCI_HCD_DAVINCI
>> +@@ -493,18 +480,6 @@ config USB_OHCI_HCD_DAVINCI
>>           controller. This driver cannot currently be a loadable
>>           module because it lacks a proper PHY abstraction.
>>
>> @@ -51,6 +49,3 @@ index 4fcfb3084b36..55b45dcd7a4b 100644
>>   config USB_OHCI_HCD_PPC_OF_BE
>>         bool "OHCI support for OF platform bus (big endian)"
>>         depends on PPC
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0007-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch
>> b/target/linux/ath79/patches-4.14/0007-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch
>> index 18c9fd4e1561..72a7a5ee2960 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0007-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0007-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch
>> @@ -11,8 +11,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   2 files changed, 105 insertions(+)
>>   create mode 100644 drivers/irqchip/irq-ath79-intc.c
>>
>> -diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile
>> -index d27e3e3619e0..f63c94a92e25 100644
>>  --- a/drivers/irqchip/Makefile
>>  +++ b/drivers/irqchip/Makefile
>>  @@ -3,6 +3,7 @@ obj-$(CONFIG_IRQCHIP)                  += irqchip.o
>> @@ -23,9 +21,6 @@ index d27e3e3619e0..f63c94a92e25 100644
>>   obj-$(CONFIG_ATH79)                   += irq-ath79-misc.o
>>   obj-$(CONFIG_ARCH_BCM2835)            += irq-bcm2835.o
>>   obj-$(CONFIG_ARCH_BCM2835)            += irq-bcm2836.o
>> -diff --git a/drivers/irqchip/irq-ath79-intc.c
>> b/drivers/irqchip/irq-ath79-intc.c
>> -new file mode 100644
>> -index 000000000000..a26d3efe6e10
>>  --- /dev/null
>>  +++ b/drivers/irqchip/irq-ath79-intc.c
>>  @@ -0,0 +1,104 @@
>> @@ -133,6 +128,3 @@ index 000000000000..a26d3efe6e10
>>  +}
>>  +IRQCHIP_DECLARE(qca9556_intc, "qcom,qca9556-intc",
>>  +              qca9556_intc_of_init);
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0008-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch
>> b/target/linux/ath79/patches-4.14/0008-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch
>> index 8c364cbce6b0..84e066e2a63a 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0008-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0008-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch
>> @@ -8,8 +8,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   drivers/irqchip/irq-ath79-cpu.c | 7 -------
>>   1 file changed, 7 deletions(-)
>>
>> -diff --git a/drivers/irqchip/irq-ath79-cpu.c
>> b/drivers/irqchip/irq-ath79-cpu.c
>> -index befe93c5a51a..f29cb9c933f5 100644
>>  --- a/drivers/irqchip/irq-ath79-cpu.c
>>  +++ b/drivers/irqchip/irq-ath79-cpu.c
>>  @@ -88,10 +88,3 @@ static int __init ar79_cpu_intc_of_init(
>> @@ -23,6 +21,3 @@ index befe93c5a51a..f29cb9c933f5 100644
>>  -      irq_wb_chan[3] = irq_wb_chan3;
>>  -      mips_cpu_irq_init();
>>  -}
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0009-MIPS-ath79-add-lots-of-missing-registers.patch
>> b/target/linux/ath79/patches-4.14/0009-MIPS-ath79-add-lots-of-missing-registers.patch
>> index 6b6d934509d6..5963ee8991ea 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0009-MIPS-ath79-add-lots-of-missing-registers.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0009-MIPS-ath79-add-lots-of-missing-registers.patch
>> @@ -8,8 +8,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   arch/mips/include/asm/mach-ath79/ar71xx_regs.h | 773
>> ++++++++++++++++++++++++-
>>   1 file changed, 771 insertions(+), 2 deletions(-)
>>
>> -diff --git a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
>> b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
>> -index aa3800c82332..284b4fa23e03 100644
>>  --- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
>>  +++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
>>  @@ -20,6 +20,10 @@
>> @@ -399,7 +397,6 @@ index aa3800c82332..284b4fa23e03 100644
>>   #define AR934X_RESET_USB_HOST         BIT(5)
>>   #define AR934X_RESET_USB_PHY          BIT(4)
>>   #define AR934X_RESET_USBSUS_OVERRIDE  BIT(3)
>> --
>>  +#define AR934X_RESET_LUT              BIT(2)
>>  +#define AR934X_RESET_MBOX             BIT(1)
>>  +#define AR934X_RESET_I2S              BIT(0)
>> @@ -476,7 +473,7 @@ index aa3800c82332..284b4fa23e03 100644
>>  +#define QCA956X_RESET_USBSUS_OVERRIDE BIT(3)
>>  +#define QCA956X_RESET_SWITCH_ANALOG   BIT(2)
>>  +#define QCA956X_RESET_SWITCH          BIT(0)
>> -+
>> +
>>  +#define AR933X_BOOTSTRAP_MDIO_GPIO_EN BIT(18)
>>  +#define AR933X_BOOTSTRAP_EEPBUSY      BIT(4)
>>   #define AR933X_BOOTSTRAP_REF_CLK_40   BIT(0)
>> @@ -972,6 +969,3 @@ index aa3800c82332..284b4fa23e03 100644
>>  +#define QCA956X_SGMII_CONFIG_MODE_CTRL_MASK   0x7
>>  +
>>   #endif /* __ASM_MACH_AR71XX_REGS_H */
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0010-MIPS-ath79-select-the-PINCTRL-subsystem.patch
>> b/target/linux/ath79/patches-4.14/0010-MIPS-ath79-select-the-PINCTRL-subsystem.patch
>> index b6704708a2b1..cd3f96c3f326 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0010-MIPS-ath79-select-the-PINCTRL-subsystem.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0010-MIPS-ath79-select-the-PINCTRL-subsystem.patch
>> @@ -8,11 +8,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   arch/mips/Kconfig | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> -diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
>> -index 8128c3b68d6b..922a53cb1b3d 100644
>>  --- a/arch/mips/Kconfig
>>  +++ b/arch/mips/Kconfig
>> -@@ -188,6 +188,7 @@ config ATH79
>> +@@ -191,6 +191,7 @@ config ATH79
>>         select CSRC_R4K
>>         select DMA_NONCOHERENT
>>         select GPIOLIB
>> @@ -20,6 +18,3 @@ index 8128c3b68d6b..922a53cb1b3d 100644
>>         select HAVE_CLK
>>         select COMMON_CLK
>>         select CLKDEV_LOOKUP
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0011-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch
>> b/target/linux/ath79/patches-4.14/0011-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch
>> index c7ad39e1287f..85ee24c208ae 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0011-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0011-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch
>> @@ -14,8 +14,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>>   arch/mips/ath79/common.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> -diff --git a/arch/mips/ath79/common.c b/arch/mips/ath79/common.c
>> -index 10a405d593df..c782b10ddf50 100644
>>  --- a/arch/mips/ath79/common.c
>>  +++ b/arch/mips/ath79/common.c
>>  @@ -58,7 +58,7 @@ EXPORT_SYMBOL_GPL(ath79_ddr_ctrl_init);
>> @@ -27,6 +25,3 @@ index 10a405d593df..c782b10ddf50 100644
>>
>>         /* Flush the DDR write buffer. */
>>         __raw_writel(0x1, flush_reg);
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0012-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch
>> b/target/linux/ath79/patches-4.14/0012-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch
>> index c622617e524c..2b744ee94f48 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0012-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0012-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch
>> @@ -20,8 +20,6 @@ Acked-by: Gabor Juhos <juhosg@openwrt.org>
>>   arch/mips/ath79/common.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> -diff --git a/arch/mips/ath79/common.c b/arch/mips/ath79/common.c
>> -index c782b10ddf50..a32a9181a296 100644
>>  --- a/arch/mips/ath79/common.c
>>  +++ b/arch/mips/ath79/common.c
>>  @@ -106,7 +106,7 @@ void ath79_device_reset_set(u32 mask)
>> @@ -42,6 +40,3 @@ index c782b10ddf50..a32a9181a296 100644
>>
>>         spin_lock_irqsave(&ath79_device_reset_lock, flags);
>>         t = ath79_reset_rr(reg);
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0013-MIPS-ath79-fix-system-restart.patch
>> b/target/linux/ath79/patches-4.14/0013-MIPS-ath79-fix-system-restart.patch
>> index ecf275db8213..969636128f5c 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0013-MIPS-ath79-fix-system-restart.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0013-MIPS-ath79-fix-system-restart.patch
>> @@ -10,11 +10,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   arch/mips/include/asm/mach-ath79/ath79.h | 1 +
>>   2 files changed, 2 insertions(+)
>>
>> -diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
>> -index f206dafbb0a3..26a058d58d37 100644
>>  --- a/arch/mips/ath79/setup.c
>>  +++ b/arch/mips/ath79/setup.c
>> -@@ -40,6 +40,7 @@ static char ath79_sys_type[ATH79_SYS_TYPE_LEN];
>> +@@ -40,6 +40,7 @@ static char ath79_sys_type[ATH79_SYS_TYP
>>
>>   static void ath79_restart(char *command)
>>   {
>> @@ -22,11 +20,9 @@ index f206dafbb0a3..26a058d58d37 100644
>>         ath79_device_reset_set(AR71XX_RESET_FULL_CHIP);
>>         for (;;)
>>                 if (cpu_wait)
>> -diff --git a/arch/mips/include/asm/mach-ath79/ath79.h
>> b/arch/mips/include/asm/mach-ath79/ath79.h
>> -index 441faa92c3cd..6e6c0fead776 100644
>>  --- a/arch/mips/include/asm/mach-ath79/ath79.h
>>  +++ b/arch/mips/include/asm/mach-ath79/ath79.h
>> -@@ -134,6 +134,7 @@ static inline u32 ath79_pll_rr(unsigned reg)
>> +@@ -134,6 +134,7 @@ static inline u32 ath79_pll_rr(unsigned
>>   static inline void ath79_reset_wr(unsigned reg, u32 val)
>>   {
>>         __raw_writel(val, ath79_reset_base + reg);
>> @@ -34,6 +30,3 @@ index 441faa92c3cd..6e6c0fead776 100644
>>   }
>>
>>   static inline u32 ath79_reset_rr(unsigned reg)
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0014-MIPS-ath79-finetune-cpu-overrides.patch
>> b/target/linux/ath79/patches-4.14/0014-MIPS-ath79-finetune-cpu-overrides.patch
>> index d3f98107045f..e390e584f6eb 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0014-MIPS-ath79-finetune-cpu-overrides.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0014-MIPS-ath79-finetune-cpu-overrides.patch
>> @@ -8,8 +8,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>>   arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> -diff --git a/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
>> b/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
>> -index 0089a740e5ae..026ad90c8ac0 100644
>>  --- a/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
>>  +++ b/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
>>  @@ -36,6 +36,7 @@
>> @@ -38,6 +36,3 @@ index 0089a740e5ae..026ad90c8ac0 100644
>>  +#define cpu_has_pindexed_dcache       0
>>
>>   #endif /* __ASM_MACH_ATH79_CPU_FEATURE_OVERRIDES_H */
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0015-MIPS-ath79-enable-uart-during-early_prink.patch
>> b/target/linux/ath79/patches-4.14/0015-MIPS-ath79-enable-uart-during-early_prink.patch
>> index a46603727574..5826d01764ab 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0015-MIPS-ath79-enable-uart-during-early_prink.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0015-MIPS-ath79-enable-uart-during-early_prink.patch
>> @@ -8,11 +8,9 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
>>   arch/mips/ath79/early_printk.c | 44
>> +++++++++++++++++++++++++++++++++++++++++-
>>   1 file changed, 43 insertions(+), 1 deletion(-)
>>
>> -diff --git a/arch/mips/ath79/early_printk.c
>> b/arch/mips/ath79/early_printk.c
>> -index d1adc59af5bf..ec3978678653 100644
>>  --- a/arch/mips/ath79/early_printk.c
>>  +++ b/arch/mips/ath79/early_printk.c
>> -@@ -58,6 +58,46 @@ static void prom_putchar_dummy(unsigned char ch)
>> +@@ -58,6 +58,46 @@ static void prom_putchar_dummy(unsigned
>>         /* nothing to do */
>>   }
>>
>> @@ -71,6 +69,3 @@ index d1adc59af5bf..ec3978678653 100644
>>   }
>>
>>   void prom_putchar(unsigned char ch)
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0016-MIPS-ath79-add-support-for-QCA953x-SoC.patch
>> b/target/linux/ath79/patches-4.14/0016-MIPS-ath79-add-support-for-QCA953x-SoC.patch
>> index 0eb1831c5bf9..0432a23d1419 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0016-MIPS-ath79-add-support-for-QCA953x-SoC.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0016-MIPS-ath79-add-support-for-QCA953x-SoC.patch
>> @@ -18,8 +18,6 @@ Signed-off-by: Matthias Schiffer
>> <mschiffer@universe-factory.net>
>>   arch/mips/include/asm/mach-ath79/ath79.h | 11 ++++
>>   8 files changed, 162 insertions(+), 6 deletions(-)
>>
>> -diff --git a/arch/mips/ath79/Kconfig b/arch/mips/ath79/Kconfig
>> -index 9547cf1ea38d..b03f5c8b9d1e 100644
>>  --- a/arch/mips/ath79/Kconfig
>>  +++ b/arch/mips/ath79/Kconfig
>>  @@ -94,6 +94,10 @@ config SOC_AR934X
>> @@ -42,11 +40,9 @@ index 9547cf1ea38d..b03f5c8b9d1e 100644
>>         def_bool n
>>
>>   endif
>> -diff --git a/arch/mips/ath79/clock.c b/arch/mips/ath79/clock.c
>> -index 6b1000b6a6a6..b9595b2d1b65 100644
>>  --- a/arch/mips/ath79/clock.c
>>  +++ b/arch/mips/ath79/clock.c
>> -@@ -355,6 +355,91 @@ static void __init ar934x_clocks_init(void)
>> +@@ -355,6 +355,91 @@ static void __init ar934x_clocks_init(vo
>>         iounmap(dpll_base);
>>   }
>>
>> @@ -147,8 +143,6 @@ index 6b1000b6a6a6..b9595b2d1b65 100644
>>         else if (soc_is_qca955x())
>>                 qca955x_clocks_init();
>>         else
>> -diff --git a/arch/mips/ath79/common.c b/arch/mips/ath79/common.c
>> -index a32a9181a296..a485a7c35b9b 100644
>>  --- a/arch/mips/ath79/common.c
>>  +++ b/arch/mips/ath79/common.c
>>  @@ -103,6 +103,8 @@ void ath79_device_reset_set(u32 mask)
>> @@ -169,8 +163,6 @@ index a32a9181a296..a485a7c35b9b 100644
>>         else if (soc_is_qca955x())
>>                 reg = QCA955X_RESET_REG_RESET_MODULE;
>>         else
>> -diff --git a/arch/mips/ath79/dev-common.c b/arch/mips/ath79/dev-common.c
>> -index 9d0172a4dc69..99d8b88f1e6d 100644
>>  --- a/arch/mips/ath79/dev-common.c
>>  +++ b/arch/mips/ath79/dev-common.c
>>  @@ -85,6 +85,7 @@ void __init ath79_register_uart(void)
>> @@ -191,8 +183,6 @@ index 9d0172a4dc69..99d8b88f1e6d 100644
>>         } else if (soc_is_qca955x()) {
>>                 ath79_gpio_pdata.ngpios = QCA955X_GPIO_COUNT;
>>                 ath79_gpio_pdata.oe_inverted = 1;
>> -diff --git a/arch/mips/ath79/early_printk.c
>> b/arch/mips/ath79/early_printk.c
>> -index ec3978678653..cc00839b7181 100644
>>  --- a/arch/mips/ath79/early_printk.c
>>  +++ b/arch/mips/ath79/early_printk.c
>>  @@ -116,6 +116,8 @@ static void prom_putchar_init(void)
>> @@ -204,8 +194,6 @@ index ec3978678653..cc00839b7181 100644
>>         case REV_ID_MAJOR_QCA9556:
>>         case REV_ID_MAJOR_QCA9558:
>>                 _prom_putchar = prom_putchar_ar71xx;
>> -diff --git a/arch/mips/ath79/irq.c b/arch/mips/ath79/irq.c
>> -index 2dfff1f19004..756b5aee3500 100644
>>  --- a/arch/mips/ath79/irq.c
>>  +++ b/arch/mips/ath79/irq.c
>>  @@ -56,6 +56,34 @@ static void ar934x_ip2_irq_init(void)
>> @@ -269,11 +257,9 @@ index 2dfff1f19004..756b5aee3500 100644
>>         else if (soc_is_qca955x())
>>                 qca955x_irq_init();
>>   }
>> -diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
>> -index 26a058d58d37..f782ae6c77d6 100644
>>  --- a/arch/mips/ath79/setup.c
>>  +++ b/arch/mips/ath79/setup.c
>> -@@ -60,6 +60,7 @@ static void __init ath79_detect_sys_type(void)
>> +@@ -60,6 +60,7 @@ static void __init ath79_detect_sys_type
>>         u32 major;
>>         u32 minor;
>>         u32 rev = 0;
>> @@ -281,7 +267,7 @@ index 26a058d58d37..f782ae6c77d6 100644
>>
>>         id = ath79_reset_rr(AR71XX_RESET_REG_REV_ID);
>>         major = id & REV_ID_MAJOR_MASK;
>> -@@ -152,6 +153,17 @@ static void __init ath79_detect_sys_type(void)
>> +@@ -152,6 +153,17 @@ static void __init ath79_detect_sys_type
>>                 rev = id & AR934X_REV_ID_REVISION_MASK;
>>                 break;
>>
>> @@ -299,7 +285,7 @@ index 26a058d58d37..f782ae6c77d6 100644
>>         case REV_ID_MAJOR_QCA9556:
>>                 ath79_soc = ATH79_SOC_QCA9556;
>>                 chip = "9556";
>> -@@ -168,11 +180,12 @@ static void __init ath79_detect_sys_type(void)
>> +@@ -168,11 +180,12 @@ static void __init ath79_detect_sys_type
>>                 panic("ath79: unknown SoC, id:0x%08x", id);
>>         }
>>
>> @@ -316,8 +302,6 @@ index 26a058d58d37..f782ae6c77d6 100644
>>         else
>>                 sprintf(ath79_sys_type, "Atheros AR%s rev %u", chip, rev);
>>         pr_info("SoC: %s\n", ath79_sys_type);
>> -diff --git a/arch/mips/include/asm/mach-ath79/ath79.h
>> b/arch/mips/include/asm/mach-ath79/ath79.h
>> -index 6e6c0fead776..98a7ccf3d358 100644
>>  --- a/arch/mips/include/asm/mach-ath79/ath79.h
>>  +++ b/arch/mips/include/asm/mach-ath79/ath79.h
>>  @@ -32,6 +32,7 @@ enum ath79_soc_type {
>> @@ -345,6 +329,3 @@ index 6e6c0fead776..98a7ccf3d358 100644
>>   static inline int soc_is_qca9556(void)
>>   {
>>         return ath79_soc == ATH79_SOC_QCA9556;
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0017-MIPS-ath79-add-support-for-qca956x-soc.patch
>> b/target/linux/ath79/patches-4.14/0017-MIPS-ath79-add-support-for-qca956x-soc.patch
>> index 052d23c8ba75..294fb32a1709 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0017-MIPS-ath79-add-support-for-qca956x-soc.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0017-MIPS-ath79-add-support-for-qca956x-soc.patch
>> @@ -22,8 +22,6 @@ Signed-off-by: Weijie Gao <hackpascal@gmail.com>
>>   arch/mips/include/asm/mach-ath79/ath79.h | 22 ++++++++
>>   9 files changed, 245 insertions(+), 4 deletions(-)
>>
>> -diff --git a/arch/mips/ath79/Kconfig b/arch/mips/ath79/Kconfig
>> -index b03f5c8b9d1e..ad56cdbc8abd 100644
>>  --- a/arch/mips/ath79/Kconfig
>>  +++ b/arch/mips/ath79/Kconfig
>>  @@ -119,7 +119,7 @@ config ATH79_DEV_USB
>> @@ -35,11 +33,9 @@ index b03f5c8b9d1e..ad56cdbc8abd 100644
>>         def_bool n
>>
>>   endif
>> -diff --git a/arch/mips/ath79/clock.c b/arch/mips/ath79/clock.c
>> -index b9595b2d1b65..65701b45fb1b 100644
>>  --- a/arch/mips/ath79/clock.c
>>  +++ b/arch/mips/ath79/clock.c
>> -@@ -525,6 +525,100 @@ static void __init qca955x_clocks_init(void)
>> +@@ -525,6 +525,100 @@ static void __init qca955x_clocks_init(v
>>         clk_add_alias("uart", NULL, "ref", NULL);
>>   }
>>
>> @@ -149,8 +145,6 @@ index b9595b2d1b65..65701b45fb1b 100644
>>         else
>>                 BUG();
>>   }
>> -diff --git a/arch/mips/ath79/common.c b/arch/mips/ath79/common.c
>> -index a485a7c35b9b..fc3438150b3e 100644
>>  --- a/arch/mips/ath79/common.c
>>  +++ b/arch/mips/ath79/common.c
>>  @@ -107,6 +107,8 @@ void ath79_device_reset_set(u32 mask)
>> @@ -171,8 +165,6 @@ index a485a7c35b9b..fc3438150b3e 100644
>>         else
>>                 panic("Reset register not defined for this SOC");
>>
>> -diff --git a/arch/mips/ath79/dev-common.c b/arch/mips/ath79/dev-common.c
>> -index 99d8b88f1e6d..ac8bfe86b656 100644
>>  --- a/arch/mips/ath79/dev-common.c
>>  +++ b/arch/mips/ath79/dev-common.c
>>  @@ -86,7 +86,9 @@ void __init ath79_register_uart(void)
>> @@ -196,8 +188,6 @@ index 99d8b88f1e6d..ac8bfe86b656 100644
>>         } else {
>>                 BUG();
>>         }
>> -diff --git a/arch/mips/ath79/early_printk.c
>> b/arch/mips/ath79/early_printk.c
>> -index cc00839b7181..2024a0bb9144 100644
>>  --- a/arch/mips/ath79/early_printk.c
>>  +++ b/arch/mips/ath79/early_printk.c
>>  @@ -120,6 +120,8 @@ static void prom_putchar_init(void)
>> @@ -209,8 +199,6 @@ index cc00839b7181..2024a0bb9144 100644
>>                 _prom_putchar = prom_putchar_ar71xx;
>>                 break;
>>
>> -diff --git a/arch/mips/ath79/irq.c b/arch/mips/ath79/irq.c
>> -index 756b5aee3500..58d17ef6f58f 100644
>>  --- a/arch/mips/ath79/irq.c
>>  +++ b/arch/mips/ath79/irq.c
>>  @@ -156,6 +156,87 @@ static void qca955x_irq_init(void)
>> @@ -319,11 +307,9 @@ index 756b5aee3500..58d17ef6f58f 100644
>>  +      else if (soc_is_qca956x() || soc_is_tp9343())
>>  +              qca956x_irq_init();
>>   }
>> -diff --git a/arch/mips/ath79/pci.c b/arch/mips/ath79/pci.c
>> -index b816cb4a25ff..d905a67e1a07 100644
>>  --- a/arch/mips/ath79/pci.c
>>  +++ b/arch/mips/ath79/pci.c
>> -@@ -82,6 +82,9 @@ int pcibios_map_irq(const struct pci_dev *dev, uint8_t
>> slot, uint8_t pin)
>> +@@ -82,6 +82,9 @@ int pcibios_map_irq(const struct pci_dev
>>                 } else if (soc_is_qca955x()) {
>>                         ath79_pci_irq_map = qca955x_pci_irq_map;
>>                         ath79_pci_nr_irqs =
>> ARRAY_SIZE(qca955x_pci_irq_map);
>> @@ -349,11 +335,9 @@ index b816cb4a25ff..d905a67e1a07 100644
>>         } else {
>>                 /* No PCI support */
>>                 return -ENODEV;
>> -diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
>> -index f782ae6c77d6..4c7a93f4039a 100644
>>  --- a/arch/mips/ath79/setup.c
>>  +++ b/arch/mips/ath79/setup.c
>> -@@ -176,6 +176,18 @@ static void __init ath79_detect_sys_type(void)
>> +@@ -176,6 +176,18 @@ static void __init ath79_detect_sys_type
>>                 rev = id & QCA955X_REV_ID_REVISION_MASK;
>>                 break;
>>
>> @@ -372,7 +356,7 @@ index f782ae6c77d6..4c7a93f4039a 100644
>>         default:
>>                 panic("ath79: unknown SoC, id:0x%08x", id);
>>         }
>> -@@ -183,9 +195,12 @@ static void __init ath79_detect_sys_type(void)
>> +@@ -183,9 +195,12 @@ static void __init ath79_detect_sys_type
>>         if (ver == 1)
>>                 ath79_soc_rev = rev;
>>
>> @@ -386,8 +370,6 @@ index f782ae6c77d6..4c7a93f4039a 100644
>>         else
>>                 sprintf(ath79_sys_type, "Atheros AR%s rev %u", chip, rev);
>>         pr_info("SoC: %s\n", ath79_sys_type);
>> -diff --git a/arch/mips/include/asm/mach-ath79/ath79.h
>> b/arch/mips/include/asm/mach-ath79/ath79.h
>> -index 98a7ccf3d358..73dcd63b8243 100644
>>  --- a/arch/mips/include/asm/mach-ath79/ath79.h
>>  +++ b/arch/mips/include/asm/mach-ath79/ath79.h
>>  @@ -35,6 +35,8 @@ enum ath79_soc_type {
>> @@ -426,6 +408,3 @@ index 98a7ccf3d358..73dcd63b8243 100644
>>   void ath79_ddr_wb_flush(unsigned int reg);
>>   void ath79_ddr_set_pci_windows(void);
>>
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0019-MIPS-ath79-get-PCIe-controller-out-of-reset.patch
>> b/target/linux/ath79/patches-4.14/0019-MIPS-ath79-get-PCIe-controller-out-of-reset.patch
>> index 2148637f9b8a..f435e9bc1cdd 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0019-MIPS-ath79-get-PCIe-controller-out-of-reset.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0019-MIPS-ath79-get-PCIe-controller-out-of-reset.patch
>> @@ -25,8 +25,6 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
>>   arch/mips/pci/pci-ar724x.c | 42
>> ++++++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 42 insertions(+)
>>
>> -diff --git a/arch/mips/pci/pci-ar724x.c b/arch/mips/pci/pci-ar724x.c
>> -index 1e23c8d587bd..64b58cc48a91 100644
>>  --- a/arch/mips/pci/pci-ar724x.c
>>  +++ b/arch/mips/pci/pci-ar724x.c
>>  @@ -12,14 +12,18 @@
>> @@ -48,7 +46,7 @@ index 1e23c8d587bd..64b58cc48a91 100644
>>   #define AR724X_PCI_RESET_LINK_UP      BIT(0)
>>
>>   #define AR724X_PCI_INT_DEV0           BIT(14)
>> -@@ -325,6 +329,37 @@ static void ar724x_pci_irq_init(struct
>> ar724x_pci_controller *apc,
>> +@@ -325,6 +329,37 @@ static void ar724x_pci_irq_init(struct a
>>                                          apc);
>>   }
>>
>> @@ -86,7 +84,7 @@ index 1e23c8d587bd..64b58cc48a91 100644
>>   static int ar724x_pci_probe(struct platform_device *pdev)
>>   {
>>         struct ar724x_pci_controller *apc;
>> -@@ -383,6 +418,13 @@ static int ar724x_pci_probe(struct platform_device
>> *pdev)
>> +@@ -383,6 +418,13 @@ static int ar724x_pci_probe(struct platf
>>         apc->pci_controller.io_resource = &apc->io_res;
>>         apc->pci_controller.mem_resource = &apc->mem_res;
>>
>> @@ -100,6 +98,3 @@ index 1e23c8d587bd..64b58cc48a91 100644
>>         apc->link_up = ar724x_pci_check_link(apc);
>>         if (!apc->link_up)
>>                 dev_warn(&pdev->dev, "PCIe link is down\n");
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0020-MIPS-ath79-turn-pci-ar71xx-driver-into-a-pure-OF-dri.patch
>> b/target/linux/ath79/patches-4.14/0020-MIPS-ath79-turn-pci-ar71xx-driver-into-a-pure-OF-dri.patch
>> index d25f265d8423..2d9ddf4a2c55 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0020-MIPS-ath79-turn-pci-ar71xx-driver-into-a-pure-OF-dri.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0020-MIPS-ath79-turn-pci-ar71xx-driver-into-a-pure-OF-dri.patch
>> @@ -9,8 +9,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   arch/mips/pci/pci-ar71xx.c | 81
>> +++++++++++++++++++++++-----------------------
>>   1 file changed, 40 insertions(+), 41 deletions(-)
>>
>> -diff --git a/arch/mips/pci/pci-ar71xx.c b/arch/mips/pci/pci-ar71xx.c
>> -index bdf87b43633f..1dc9f01a495d 100644
>>  --- a/arch/mips/pci/pci-ar71xx.c
>>  +++ b/arch/mips/pci/pci-ar71xx.c
>>  @@ -18,8 +18,11 @@
>> @@ -78,7 +76,7 @@ index bdf87b43633f..1dc9f01a495d 100644
>>   }
>>
>>   static void ar71xx_pci_irq_unmask(struct irq_data *d)
>> -@@ -261,7 +266,7 @@ static void ar71xx_pci_irq_unmask(struct irq_data *d)
>> +@@ -261,7 +266,7 @@ static void ar71xx_pci_irq_unmask(struct
>>         u32 t;
>>
>>         apc = irq_data_get_irq_chip_data(d);
>> @@ -87,7 +85,7 @@ index bdf87b43633f..1dc9f01a495d 100644
>>
>>         t = __raw_readl(base + AR71XX_RESET_REG_PCI_INT_ENABLE);
>>         __raw_writel(t | (1 << irq), base +
>> AR71XX_RESET_REG_PCI_INT_ENABLE);
>> -@@ -278,7 +283,7 @@ static void ar71xx_pci_irq_mask(struct irq_data *d)
>> +@@ -278,7 +283,7 @@ static void ar71xx_pci_irq_mask(struct i
>>         u32 t;
>>
>>         apc = irq_data_get_irq_chip_data(d);
>> @@ -96,7 +94,7 @@ index bdf87b43633f..1dc9f01a495d 100644
>>
>>         t = __raw_readl(base + AR71XX_RESET_REG_PCI_INT_ENABLE);
>>         __raw_writel(t & ~(1 << irq), base +
>> AR71XX_RESET_REG_PCI_INT_ENABLE);
>> -@@ -294,24 +299,30 @@ static struct irq_chip ar71xx_pci_irq_chip = {
>> +@@ -294,24 +299,30 @@ static struct irq_chip ar71xx_pci_irq_ch
>>         .irq_mask_ack   = ar71xx_pci_irq_mask,
>>   };
>>
>> @@ -150,7 +148,7 @@ index bdf87b43633f..1dc9f01a495d 100644
>>   static int ar71xx_pci_probe(struct platform_device *pdev)
>>   {
>>         struct ar71xx_pci_controller *apc;
>> -@@ -348,26 +364,6 @@ static int ar71xx_pci_probe(struct platform_device
>> *pdev)
>> +@@ -348,26 +364,6 @@ static int ar71xx_pci_probe(struct platf
>>         if (apc->irq < 0)
>>                 return -EINVAL;
>>
>> @@ -177,7 +175,7 @@ index bdf87b43633f..1dc9f01a495d 100644
>>         ar71xx_pci_reset();
>>
>>         /* setup COMMAND register */
>> -@@ -380,9 +376,11 @@ static int ar71xx_pci_probe(struct platform_device
>> *pdev)
>> +@@ -380,9 +376,11 @@ static int ar71xx_pci_probe(struct platf
>>
>>         ar71xx_pci_irq_init(apc);
>>
>> @@ -189,7 +187,7 @@ index bdf87b43633f..1dc9f01a495d 100644
>>
>>         register_pci_controller(&apc->pci_ctrl);
>>
>> -@@ -393,6 +391,7 @@ static struct platform_driver ar71xx_pci_driver = {
>> +@@ -393,6 +391,7 @@ static struct platform_driver ar71xx_pci
>>         .probe = ar71xx_pci_probe,
>>         .driver = {
>>                 .name = "ar71xx-pci",
>> @@ -197,6 +195,3 @@ index bdf87b43633f..1dc9f01a495d 100644
>>         },
>>   };
>>
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0021-MIPS-ath79-turn-pci-ar724x-driver-into-a-pure-OF-dri.patch
>> b/target/linux/ath79/patches-4.14/0021-MIPS-ath79-turn-pci-ar724x-driver-into-a-pure-OF-dri.patch
>> index e3eba5a5f647..d5ebeb87aec0 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0021-MIPS-ath79-turn-pci-ar724x-driver-into-a-pure-OF-dri.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0021-MIPS-ath79-turn-pci-ar724x-driver-into-a-pure-OF-dri.patch
>> @@ -9,8 +9,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   arch/mips/pci/pci-ar724x.c | 86
>> +++++++++++++++++++++-------------------------
>>   1 file changed, 40 insertions(+), 46 deletions(-)
>>
>> -diff --git a/arch/mips/pci/pci-ar724x.c b/arch/mips/pci/pci-ar724x.c
>> -index 64b58cc48a91..7eb9b0999c8c 100644
>>  --- a/arch/mips/pci/pci-ar724x.c
>>  +++ b/arch/mips/pci/pci-ar724x.c
>>  @@ -14,8 +14,11 @@
>> @@ -91,7 +89,7 @@ index 64b58cc48a91..7eb9b0999c8c 100644
>>         case 0:
>>                 t = __raw_readl(base + AR724X_PCI_REG_INT_MASK);
>>                 __raw_writel(t | AR724X_PCI_INT_DEV0,
>> -@@ -273,14 +275,12 @@ static void ar724x_pci_irq_mask(struct irq_data *d)
>> +@@ -273,14 +275,12 @@ static void ar724x_pci_irq_mask(struct i
>>   {
>>         struct ar724x_pci_controller *apc;
>>         void __iomem *base;
>> @@ -107,7 +105,7 @@ index 64b58cc48a91..7eb9b0999c8c 100644
>>         case 0:
>>                 t = __raw_readl(base + AR724X_PCI_REG_INT_MASK);
>>                 __raw_writel(t & ~AR724X_PCI_INT_DEV0,
>> -@@ -305,26 +305,32 @@ static struct irq_chip ar724x_pci_irq_chip = {
>> +@@ -305,26 +305,32 @@ static struct irq_chip ar724x_pci_irq_ch
>>         .irq_mask_ack   = ar724x_pci_irq_mask,
>>   };
>>
>> @@ -150,7 +148,7 @@ index 64b58cc48a91..7eb9b0999c8c 100644
>>         irq_set_chained_handler_and_data(apc->irq, ar724x_pci_irq_handler,
>>                                          apc);
>>   }
>> -@@ -394,29 +400,11 @@ static int ar724x_pci_probe(struct platform_device
>> *pdev)
>> +@@ -394,29 +400,11 @@ static int ar724x_pci_probe(struct platf
>>         if (apc->irq < 0)
>>                 return -EINVAL;
>>
>> @@ -182,7 +180,7 @@ index 64b58cc48a91..7eb9b0999c8c 100644
>>
>>         /*
>>          * Do the full PCIE Root Complex Initialization Sequence if the
>> PCIe
>> -@@ -438,10 +426,16 @@ static int ar724x_pci_probe(struct platform_device
>> *pdev)
>> +@@ -438,10 +426,16 @@ static int ar724x_pci_probe(struct platf
>>         return 0;
>>   }
>>
>> @@ -199,6 +197,3 @@ index 64b58cc48a91..7eb9b0999c8c 100644
>>         },
>>   };
>>
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0022-MIPS-ath79-drop-pci.c.patch
>> b/target/linux/ath79/patches-4.14/0022-MIPS-ath79-drop-pci.c.patch
>> index 036bfc31c75d..58ed122c68d7 100644
>> --- a/target/linux/ath79/patches-4.14/0022-MIPS-ath79-drop-pci.c.patch
>> +++ b/target/linux/ath79/patches-4.14/0022-MIPS-ath79-drop-pci.c.patch
>> @@ -16,10 +16,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   delete mode 100644 arch/mips/ath79/pci.c
>>   create mode 100644 arch/mips/pci/fixup-ath79.c
>>
>> -Index: linux-4.14.25/arch/mips/ath79/Makefile
>> -===================================================================
>> ---- linux-4.14.25.orig/arch/mips/ath79/Makefile
>> -+++ linux-4.14.25/arch/mips/ath79/Makefile
>> +--- a/arch/mips/ath79/Makefile
>> ++++ b/arch/mips/ath79/Makefile
>>  @@ -11,7 +11,6 @@
>>   obj-y := prom.o setup.o irq.o common.o clock.o
>>
>> @@ -28,9 +26,7 @@ Index: linux-4.14.25/arch/mips/ath79/Makefile
>>
>>   #
>>   # Devices
>> -Index: linux-4.14.25/arch/mips/ath79/pci.c
>> -===================================================================
>> ---- linux-4.14.25.orig/arch/mips/ath79/pci.c
>> +--- a/arch/mips/ath79/pci.c
>>  +++ /dev/null
>>  @@ -1,285 +0,0 @@
>>  -/*
>> @@ -318,10 +314,8 @@ Index: linux-4.14.25/arch/mips/ath79/pci.c
>>  -
>>  -      return pdev ? 0 : -ENODEV;
>>  -}
>> -Index: linux-4.14.25/arch/mips/pci/Makefile
>> -===================================================================
>> ---- linux-4.14.25.orig/arch/mips/pci/Makefile
>> -+++ linux-4.14.25/arch/mips/pci/Makefile
>> +--- a/arch/mips/pci/Makefile
>> ++++ b/arch/mips/pci/Makefile
>>  @@ -29,6 +29,7 @@ obj-$(CONFIG_MIPS_PCI_VIRTIO)        += pci-vir
>>   #
>>   # These are still pretty much in the old state, watch, go blind.
>> @@ -330,10 +324,8 @@ Index: linux-4.14.25/arch/mips/pci/Makefile
>>   obj-$(CONFIG_LASAT)           += pci-lasat.o
>>   obj-$(CONFIG_MIPS_COBALT)     += fixup-cobalt.o
>>   obj-$(CONFIG_LEMOTE_FULOONG2E)        += fixup-fuloong2e.o
>> ops-loongson2.o
>> -Index: linux-4.14.25/arch/mips/pci/fixup-ath79.c
>> -===================================================================
>>  --- /dev/null
>> -+++ linux-4.14.25/arch/mips/pci/fixup-ath79.c
>> ++++ b/arch/mips/pci/fixup-ath79.c
>>  @@ -0,0 +1,21 @@
>>  +/*
>>  + *  Copyright (C) 2018 John Crispin <john@phrozen.org>
>> diff --git
>> a/target/linux/ath79/patches-4.14/0023-MIPS-ath79-drop-mach-files.patch
>> b/target/linux/ath79/patches-4.14/0023-MIPS-ath79-drop-mach-files.patch
>> index b491371e0623..2d9a9bc97118 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0023-MIPS-ath79-drop-mach-files.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0023-MIPS-ath79-drop-mach-files.patch
>> @@ -21,10 +21,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   delete mode 100644 arch/mips/ath79/mach-pb44.c
>>   delete mode 100644 arch/mips/ath79/mach-ubnt-xm.c
>>
>> -Index: linux-4.14.25/arch/mips/ath79/Kconfig
>> -===================================================================
>> ---- linux-4.14.25.orig/arch/mips/ath79/Kconfig
>> -+++ linux-4.14.25/arch/mips/ath79/Kconfig
>> +--- a/arch/mips/ath79/Kconfig
>> ++++ b/arch/mips/ath79/Kconfig
>>  @@ -1,79 +1,6 @@
>>   # SPDX-License-Identifier: GPL-2.0
>>   if ATH79
>> @@ -105,10 +103,8 @@ Index: linux-4.14.25/arch/mips/ath79/Kconfig
>>   config SOC_AR71XX
>>         select HW_HAS_PCI
>>         def_bool n
>> -Index: linux-4.14.25/arch/mips/ath79/Makefile
>> -===================================================================
>> ---- linux-4.14.25.orig/arch/mips/ath79/Makefile
>> -+++ linux-4.14.25/arch/mips/ath79/Makefile
>> +--- a/arch/mips/ath79/Makefile
>> ++++ b/arch/mips/ath79/Makefile
>>  @@ -21,13 +21,3 @@ obj-$(CONFIG_ATH79_DEV_LEDS_GPIO)   += dev
>>   obj-$(CONFIG_ATH79_DEV_SPI)           += dev-spi.o
>>   obj-$(CONFIG_ATH79_DEV_USB)           += dev-usb.o
>> @@ -123,9 +119,7 @@ Index: linux-4.14.25/arch/mips/ath79/Makefile
>>  -obj-$(CONFIG_ATH79_MACH_DB120)                += mach-db120.o
>>  -obj-$(CONFIG_ATH79_MACH_PB44)         += mach-pb44.o
>>  -obj-$(CONFIG_ATH79_MACH_UBNT_XM)      += mach-ubnt-xm.o
>> -Index: linux-4.14.25/arch/mips/ath79/mach-ap121.c
>> -===================================================================
>> ---- linux-4.14.25.orig/arch/mips/ath79/mach-ap121.c
>> +--- a/arch/mips/ath79/mach-ap121.c
>>  +++ /dev/null
>>  @@ -1,92 +0,0 @@
>>  -/*
>> @@ -220,9 +214,7 @@ Index: linux-4.14.25/arch/mips/ath79/mach-ap121.c
>>  -
>>  -MIPS_MACHINE(ATH79_MACH_AP121, "AP121", "Atheros AP121 reference board",
>>  -           ap121_setup);
>> -Index: linux-4.14.25/arch/mips/ath79/mach-ap136.c
>> -===================================================================
>> ---- linux-4.14.25.orig/arch/mips/ath79/mach-ap136.c
>> +--- a/arch/mips/ath79/mach-ap136.c
>>  +++ /dev/null
>>  @@ -1,156 +0,0 @@
>>  -/*
>> @@ -381,9 +373,7 @@ Index: linux-4.14.25/arch/mips/ath79/mach-ap136.c
>>  -MIPS_MACHINE(ATH79_MACH_AP136_010, "AP136-010",
>>  -           "Atheros AP136-010 reference board",
>>  -           ap136_setup);
>> -Index: linux-4.14.25/arch/mips/ath79/mach-ap81.c
>> -===================================================================
>> ---- linux-4.14.25.orig/arch/mips/ath79/mach-ap81.c
>> +--- a/arch/mips/ath79/mach-ap81.c
>>  +++ /dev/null
>>  @@ -1,100 +0,0 @@
>>  -/*
>> @@ -486,9 +476,7 @@ Index: linux-4.14.25/arch/mips/ath79/mach-ap81.c
>>  -
>>  -MIPS_MACHINE(ATH79_MACH_AP81, "AP81", "Atheros AP81 reference board",
>>  -           ap81_setup);
>> -Index: linux-4.14.25/arch/mips/ath79/mach-db120.c
>> -===================================================================
>> ---- linux-4.14.25.orig/arch/mips/ath79/mach-db120.c
>> +--- a/arch/mips/ath79/mach-db120.c
>>  +++ /dev/null
>>  @@ -1,136 +0,0 @@
>>  -/*
>> @@ -627,9 +615,7 @@ Index: linux-4.14.25/arch/mips/ath79/mach-db120.c
>>  -
>>  -MIPS_MACHINE(ATH79_MACH_DB120, "DB120", "Atheros DB120 reference board",
>>  -           db120_setup);
>> -Index: linux-4.14.25/arch/mips/ath79/mach-pb44.c
>> -===================================================================
>> ---- linux-4.14.25.orig/arch/mips/ath79/mach-pb44.c
>> +--- a/arch/mips/ath79/mach-pb44.c
>>  +++ /dev/null
>>  @@ -1,122 +0,0 @@
>>  -/*
>> diff --git
>> a/target/linux/ath79/patches-4.14/0024-MIPS-ath79-drop-pdata-helpers.patch
>> b/target/linux/ath79/patches-4.14/0024-MIPS-ath79-drop-pdata-helpers.patch
>> index a5d517093d9c..8c4956ec343b 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0024-MIPS-ath79-drop-pdata-helpers.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0024-MIPS-ath79-drop-pdata-helpers.patch
>> @@ -32,9 +32,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   delete mode 100644 arch/mips/ath79/dev-wmac.c
>>   delete mode 100644 arch/mips/ath79/dev-wmac.h
>>
>> -diff --git a/arch/mips/ath79/dev-common.c b/arch/mips/ath79/dev-common.c
>> -deleted file mode 100644
>> -index ac8bfe86b656..000000000000
>>  --- a/arch/mips/ath79/dev-common.c
>>  +++ /dev/null
>>  @@ -1,168 +0,0 @@
>> @@ -206,9 +203,6 @@ index ac8bfe86b656..000000000000
>>  -
>>  -      platform_device_register(&ath79_gpio_device);
>>  -}
>> -diff --git a/arch/mips/ath79/dev-common.h b/arch/mips/ath79/dev-common.h
>> -deleted file mode 100644
>> -index 0f514e1affce..000000000000
>>  --- a/arch/mips/ath79/dev-common.h
>>  +++ /dev/null
>>  @@ -1,18 +0,0 @@
>> @@ -230,9 +224,6 @@ index 0f514e1affce..000000000000
>>  -void ath79_register_wdt(void);
>>  -
>>  -#endif /* _ATH79_DEV_COMMON_H */
>> -diff --git a/arch/mips/ath79/dev-gpio-buttons.c
>> b/arch/mips/ath79/dev-gpio-buttons.c
>> -deleted file mode 100644
>> -index 366b35fb164d..000000000000
>>  --- a/arch/mips/ath79/dev-gpio-buttons.c
>>  +++ /dev/null
>>  @@ -1,56 +0,0 @@
>> @@ -292,9 +283,6 @@ index 366b35fb164d..000000000000
>>  -err_free_buttons:
>>  -      kfree(p);
>>  -}
>> -diff --git a/arch/mips/ath79/dev-gpio-buttons.h
>> b/arch/mips/ath79/dev-gpio-buttons.h
>> -deleted file mode 100644
>> -index 481847ac1cba..000000000000
>>  --- a/arch/mips/ath79/dev-gpio-buttons.h
>>  +++ /dev/null
>>  @@ -1,23 +0,0 @@
>> @@ -321,9 +309,6 @@ index 481847ac1cba..000000000000
>>  -                                   struct gpio_keys_button *buttons);
>>  -
>>  -#endif /* _ATH79_DEV_GPIO_BUTTONS_H */
>> -diff --git a/arch/mips/ath79/dev-leds-gpio.c
>> b/arch/mips/ath79/dev-leds-gpio.c
>> -deleted file mode 100644
>> -index dcb1debcefb8..000000000000
>>  --- a/arch/mips/ath79/dev-leds-gpio.c
>>  +++ /dev/null
>>  @@ -1,54 +0,0 @@
>> @@ -381,9 +366,6 @@ index dcb1debcefb8..000000000000
>>  -err_free_leds:
>>  -      kfree(p);
>>  -}
>> -diff --git a/arch/mips/ath79/dev-leds-gpio.h
>> b/arch/mips/ath79/dev-leds-gpio.h
>> -deleted file mode 100644
>> -index 6e5d8851ebcf..000000000000
>>  --- a/arch/mips/ath79/dev-leds-gpio.h
>>  +++ /dev/null
>>  @@ -1,21 +0,0 @@
>> @@ -408,9 +390,6 @@ index 6e5d8851ebcf..000000000000
>>  -                            struct gpio_led *leds);
>>  -
>>  -#endif /* _ATH79_DEV_LEDS_GPIO_H */
>> -diff --git a/arch/mips/ath79/dev-spi.c b/arch/mips/ath79/dev-spi.c
>> -deleted file mode 100644
>> -index aa30163efbfd..000000000000
>>  --- a/arch/mips/ath79/dev-spi.c
>>  +++ /dev/null
>>  @@ -1,38 +0,0 @@
>> @@ -452,9 +431,6 @@ index aa30163efbfd..000000000000
>>  -      ath79_spi_device.dev.platform_data = pdata;
>>  -      platform_device_register(&ath79_spi_device);
>>  -}
>> -diff --git a/arch/mips/ath79/dev-spi.h b/arch/mips/ath79/dev-spi.h
>> -deleted file mode 100644
>> -index d732565ca736..000000000000
>>  --- a/arch/mips/ath79/dev-spi.h
>>  +++ /dev/null
>>  @@ -1,22 +0,0 @@
>> @@ -480,9 +456,6 @@ index d732565ca736..000000000000
>>  -                       unsigned n);
>>  -
>>  -#endif /* _ATH79_DEV_SPI_H */
>> -diff --git a/arch/mips/ath79/dev-usb.c b/arch/mips/ath79/dev-usb.c
>> -deleted file mode 100644
>> -index 8227265bcc2d..000000000000
>>  --- a/arch/mips/ath79/dev-usb.c
>>  +++ /dev/null
>>  @@ -1,242 +0,0 @@
>> @@ -728,9 +701,6 @@ index 8227265bcc2d..000000000000
>>  -      else
>>  -              BUG();
>>  -}
>> -diff --git a/arch/mips/ath79/dev-usb.h b/arch/mips/ath79/dev-usb.h
>> -deleted file mode 100644
>> -index 4b86a69ca080..000000000000
>>  --- a/arch/mips/ath79/dev-usb.h
>>  +++ /dev/null
>>  @@ -1,17 +0,0 @@
>> @@ -751,9 +721,6 @@ index 4b86a69ca080..000000000000
>>  -void ath79_register_usb(void);
>>  -
>>  -#endif /* _ATH79_DEV_USB_H */
>> -diff --git a/arch/mips/ath79/dev-wmac.c b/arch/mips/ath79/dev-wmac.c
>> -deleted file mode 100644
>> -index da190b1b87ce..000000000000
>>  --- a/arch/mips/ath79/dev-wmac.c
>>  +++ /dev/null
>>  @@ -1,155 +0,0 @@
>> @@ -912,9 +879,6 @@ index da190b1b87ce..000000000000
>>  -
>>  -      platform_device_register(&ath79_wmac_device);
>>  -}
>> -diff --git a/arch/mips/ath79/dev-wmac.h b/arch/mips/ath79/dev-wmac.h
>> -deleted file mode 100644
>> -index c9cd8709f090..000000000000
>>  --- a/arch/mips/ath79/dev-wmac.h
>>  +++ /dev/null
>>  @@ -1,17 +0,0 @@
>> @@ -935,8 +899,6 @@ index c9cd8709f090..000000000000
>>  -void ath79_register_wmac(u8 *cal_data);
>>  -
>>  -#endif /* _ATH79_DEV_WMAC_H */
>> -diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
>> -index 4c7a93f4039a..8d7ffa2e8265 100644
>>  --- a/arch/mips/ath79/setup.c
>>  +++ b/arch/mips/ath79/setup.c
>>  @@ -31,7 +31,6 @@
>> @@ -958,6 +920,3 @@ index 4c7a93f4039a..8d7ffa2e8265 100644
>>         mips_machine_setup();
>>
>>         return 0;
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0025-MIPS-ath79-drop-irq.c.patch
>> b/target/linux/ath79/patches-4.14/0025-MIPS-ath79-drop-irq.c.patch
>> index 738f239af01d..95b29455f0db 100644
>> --- a/target/linux/ath79/patches-4.14/0025-MIPS-ath79-drop-irq.c.patch
>> +++ b/target/linux/ath79/patches-4.14/0025-MIPS-ath79-drop-irq.c.patch
>> @@ -13,8 +13,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   3 files changed, 7 insertions(+), 286 deletions(-)
>>   delete mode 100644 arch/mips/ath79/irq.c
>>
>> -diff --git a/arch/mips/ath79/Makefile b/arch/mips/ath79/Makefile
>> -index 783369bc1c5b..bd0c9b8b1b5b 100644
>>  --- a/arch/mips/ath79/Makefile
>>  +++ b/arch/mips/ath79/Makefile
>>  @@ -8,7 +8,7 @@
>> @@ -26,9 +24,6 @@ index 783369bc1c5b..bd0c9b8b1b5b 100644
>>
>>   obj-$(CONFIG_EARLY_PRINTK)            += early_printk.o
>>
>> -diff --git a/arch/mips/ath79/irq.c b/arch/mips/ath79/irq.c
>> -deleted file mode 100644
>> -index 58d17ef6f58f..000000000000
>>  --- a/arch/mips/ath79/irq.c
>>  +++ /dev/null
>>  @@ -1,285 +0,0 @@
>> @@ -317,8 +312,6 @@ index 58d17ef6f58f..000000000000
>>  -      else if (soc_is_qca956x() || soc_is_tp9343())
>>  -              qca956x_irq_init();
>>  -}
>> -diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
>> -index 8d7ffa2e8265..7b089c07d2fa 100644
>>  --- a/arch/mips/ath79/setup.c
>>  +++ b/arch/mips/ath79/setup.c
>>  @@ -19,6 +19,7 @@
>> @@ -341,6 +334,3 @@ index 8d7ffa2e8265..7b089c07d2fa 100644
>>   static int __init ath79_setup(void)
>>   {
>>         if  (mips_machtype == ATH79_MACH_GENERIC_OF)
>> ---
>> -2.11.0
>> -
>> diff --git
>> a/target/linux/ath79/patches-4.14/0026-MIPS-ath79-sanitize-Kconfig-symbols.patch
>> b/target/linux/ath79/patches-4.14/0026-MIPS-ath79-sanitize-Kconfig-symbols.patch
>> index 5f41656d1bcd..f9906516d9bc 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0026-MIPS-ath79-sanitize-Kconfig-symbols.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0026-MIPS-ath79-sanitize-Kconfig-symbols.patch
>> @@ -11,10 +11,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   arch/mips/pci/Makefile   |  2 +-
>>   4 files changed, 8 insertions(+), 54 deletions(-)
>>
>> -Index: linux-4.14.18/arch/mips/Kconfig
>> -===================================================================
>> ---- linux-4.14.18.orig/arch/mips/Kconfig
>> -+++ linux-4.14.18/arch/mips/Kconfig
>> +--- a/arch/mips/Kconfig
>> ++++ b/arch/mips/Kconfig
>>  @@ -203,6 +203,8 @@ config ATH79
>>         select SYS_SUPPORTS_BIG_ENDIAN
>>         select SYS_SUPPORTS_MIPS16
>> @@ -24,10 +22,8 @@ Index: linux-4.14.18/arch/mips/Kconfig
>>         select USE_OF
>>         help
>>           Support for the Atheros AR71XX/AR724X/AR913X SoCs.
>> -Index: linux-4.14.18/arch/mips/ath79/Kconfig
>> -===================================================================
>> ---- linux-4.14.18.orig/arch/mips/ath79/Kconfig
>> -+++ linux-4.14.18/arch/mips/ath79/Kconfig
>> +--- a/arch/mips/ath79/Kconfig
>> ++++ b/arch/mips/ath79/Kconfig
>>  @@ -1,52 +1,14 @@
>>   # SPDX-License-Identifier: GPL-2.0
>>   if ATH79
>> @@ -86,10 +82,8 @@ Index: linux-4.14.18/arch/mips/ath79/Kconfig
>>         def_bool n
>>
>>   endif
>> -Index: linux-4.14.18/arch/mips/ath79/Makefile
>> -===================================================================
>> ---- linux-4.14.18.orig/arch/mips/ath79/Makefile
>> -+++ linux-4.14.18/arch/mips/ath79/Makefile
>> +--- a/arch/mips/ath79/Makefile
>> ++++ b/arch/mips/ath79/Makefile
>>  @@ -11,13 +11,3 @@
>>   obj-y := prom.o setup.o common.o clock.o
>>
>> @@ -104,10 +98,8 @@ Index: linux-4.14.18/arch/mips/ath79/Makefile
>>  -obj-$(CONFIG_ATH79_DEV_SPI)           += dev-spi.o
>>  -obj-$(CONFIG_ATH79_DEV_USB)           += dev-usb.o
>>  -obj-$(CONFIG_ATH79_DEV_WMAC)          += dev-wmac.o
>> -Index: linux-4.14.18/arch/mips/pci/Makefile
>> -===================================================================
>> ---- linux-4.14.18.orig/arch/mips/pci/Makefile
>> -+++ linux-4.14.18/arch/mips/pci/Makefile
>> +--- a/arch/mips/pci/Makefile
>> ++++ b/arch/mips/pci/Makefile
>>  @@ -23,7 +23,7 @@ obj-$(CONFIG_BCM63XX)                += pci-bcm63xx.o
>>                                         ops-bcm63xx.o
>>   obj-$(CONFIG_MIPS_ALCHEMY)    += pci-alchemy.o
>> diff --git
>> a/target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch
>> b/target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch
>> index fd47b775f03d..cde3bae67419 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch
>> @@ -11,10 +11,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
>>   3 files changed, 10 insertions(+), 93 deletions(-)
>>   delete mode 100644 arch/mips/ath79/machtypes.h
>>
>> -Index: linux-4.14.18/arch/mips/Kconfig
>> -===================================================================
>> ---- linux-4.14.18.orig/arch/mips/Kconfig
>> -+++ linux-4.14.18/arch/mips/Kconfig
>> +--- a/arch/mips/Kconfig
>> ++++ b/arch/mips/Kconfig
>>  @@ -196,7 +196,6 @@ config ATH79
>>         select COMMON_CLK
>>         select CLKDEV_LOOKUP
>> @@ -23,9 +21,7 @@ Index: linux-4.14.18/arch/mips/Kconfig
>>         select SYS_HAS_CPU_MIPS32_R2
>>         select SYS_HAS_EARLY_PRINTK
>>         select SYS_SUPPORTS_32BIT_KERNEL
>> -Index: linux-4.14.18/arch/mips/ath79/machtypes.h
>> -===================================================================
>> ---- linux-4.14.18.orig/arch/mips/ath79/machtypes.h
>> +--- a/arch/mips/ath79/machtypes.h
>>  +++ /dev/null
>>  @@ -1,28 +0,0 @@
>>  -/*
>> @@ -56,10 +52,8 @@ Index: linux-4.14.18/arch/mips/ath79/machtypes.h
>>  -};
>>  -
>>  -#endif /* _ATH79_MACHTYPE_H */
>> -Index: linux-4.14.18/arch/mips/ath79/setup.c
>> -===================================================================
>> ---- linux-4.14.18.orig/arch/mips/ath79/setup.c
>> -+++ linux-4.14.18/arch/mips/ath79/setup.c
>> +--- a/arch/mips/ath79/setup.c
>> ++++ b/arch/mips/ath79/setup.c
>>  @@ -32,7 +32,6 @@
>>   #include <asm/mach-ath79/ath79.h>
>>   #include <asm/mach-ath79/ar71xx_regs.h>
>> @@ -166,10 +160,8 @@ Index: linux-4.14.18/arch/mips/ath79/setup.c
>>  -           "DTB",
>>  -           "Generic AR71XX/AR724X/AR913X based board (DT)",
>>  -           NULL);
>> -Index: linux-4.14.18/arch/mips/ath79/clock.c
>> -===================================================================
>> ---- linux-4.14.18.orig/arch/mips/ath79/clock.c
>> -+++ linux-4.14.18/arch/mips/ath79/clock.c
>> +--- a/arch/mips/ath79/clock.c
>> ++++ b/arch/mips/ath79/clock.c
>>  @@ -26,7 +26,6 @@
>>   #include <asm/mach-ath79/ath79.h>
>>   #include <asm/mach-ath79/ar71xx_regs.h>
>> diff --git
>> a/target/linux/ath79/patches-4.14/0028-MIPS-ath79-add-helpers-for-setting-clocks-and-expose.patch
>> b/target/linux/ath79/patches-4.14/0028-MIPS-ath79-add-helpers-for-setting-clocks-and-expose.patch
>> index 4e73c0a7fd24..15f6b1f8cea8 100644
>> ---
>> a/target/linux/ath79/patches-4.14/0028-MIPS-ath79-add-helpers-for-setting-clocks-and-expose.patch
>> +++
>> b/target/linux/ath79/patches-4.14/0028-MIPS-ath79-add-helpers-for-setting-clocks-and-expose.patch
>> @@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>>  +      clks[type] = clk;
>>  +      clk_register_clkdev(clk, name, NULL);
>>  +}
>> -+
>> +
>>  +static struct clk * __init ath79_set_clk(int type, unsigned long rate)
>>  +{
>>  +      const char *name = ath79_clk_name(type);
>> @@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>>  +{
>>  +      const char *name = ath79_clk_name(type);
>>  +      struct clk *clk;
>> -
>> ++
>>  +      clk = clk_register_fixed_factor(NULL, name, parent, 0, mult, div);
>>  +      __ath79_set_clk(type, name, clk);
>>         return clk;
>> diff --git
>> a/target/linux/ath79/patches-4.14/004-register_gpio_driver_earlier.patch
>> b/target/linux/ath79/patches-4.14/004-register_gpio_driver_earlier.patch
>> index 9090491f9f30..cc30e2d91e28 100644
>> ---
>> a/target/linux/ath79/patches-4.14/004-register_gpio_driver_earlier.patch
>> +++
>> b/target/linux/ath79/patches-4.14/004-register_gpio_driver_earlier.patch
>> @@ -1,10 +1,8 @@
>>  HACK: register the GPIO driver earlier to ensure that gpio_request calls
>>  from mach files succeed.
>>
>> -Index: linux-4.14.18/drivers/gpio/gpio-ath79.c
>> -===================================================================
>> ---- linux-4.14.18.orig/drivers/gpio/gpio-ath79.c
>> -+++ linux-4.14.18/drivers/gpio/gpio-ath79.c
>> +--- a/drivers/gpio/gpio-ath79.c
>> ++++ b/drivers/gpio/gpio-ath79.c
>>  @@ -322,7 +322,11 @@ static struct platform_driver ath79_gpio
>>         .remove = ath79_gpio_remove,
>>   };
>> diff --git
>> a/target/linux/ath79/patches-4.14/405-mtd-tp-link-partition-parser.patch
>> b/target/linux/ath79/patches-4.14/405-mtd-tp-link-partition-parser.patch
>> index 3734d3e5c55a..846b7f0a0ccc 100644
>> ---
>> a/target/linux/ath79/patches-4.14/405-mtd-tp-link-partition-parser.patch
>> +++
>> b/target/linux/ath79/patches-4.14/405-mtd-tp-link-partition-parser.patch
>> @@ -1,7 +1,5 @@
>> -Index: linux-4.14.18/drivers/mtd/Kconfig
>> -===================================================================
>> ---- linux-4.14.18.orig/drivers/mtd/Kconfig
>> -+++ linux-4.14.18/drivers/mtd/Kconfig
>> +--- a/drivers/mtd/Kconfig
>> ++++ b/drivers/mtd/Kconfig
>>  @@ -194,6 +194,12 @@ config MTD_MYLOADER_PARTS
>>           You will still need the parsing functions to be called by the
>> driver
>>           for your particular device. It won't happen automatically.
>> @@ -15,10 +13,8 @@ Index: linux-4.14.18/drivers/mtd/Kconfig
>>   comment "User Modules And Translation Layers"
>>
>>   #
>> -Index: linux-4.14.18/drivers/mtd/Makefile
>> -===================================================================
>> ---- linux-4.14.18.orig/drivers/mtd/Makefile
>> -+++ linux-4.14.18/drivers/mtd/Makefile
>> +--- a/drivers/mtd/Makefile
>> ++++ b/drivers/mtd/Makefile
>>  @@ -18,6 +18,7 @@ obj-$(CONFIG_MTD_BCM63XX_PARTS)      += bcm63
>>   obj-$(CONFIG_MTD_BCM47XX_PARTS)       += bcm47xxpart.o
>>   obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o
>> diff --git
>> a/target/linux/ath79/patches-4.14/420-net-ar71xx_mac_driver.patch
>> b/target/linux/ath79/patches-4.14/420-net-ar71xx_mac_driver.patch
>> index feb2e6a39387..6377db0ac22b 100644
>> --- a/target/linux/ath79/patches-4.14/420-net-ar71xx_mac_driver.patch
>> +++ b/target/linux/ath79/patches-4.14/420-net-ar71xx_mac_driver.patch
>> @@ -18,7 +18,7 @@
>>   endif # NET_VENDOR_ATHEROS
>>  --- a/drivers/net/ethernet/atheros/Makefile
>>  +++ b/drivers/net/ethernet/atheros/Makefile
>> -@@ -2,6 +2,7 @@
>> +@@ -3,6 +3,7 @@
>>   # Makefile for the Atheros network device drivers.
>>   #
>>
>> diff --git
>> a/target/linux/ath79/patches-4.14/430-drivers-link-spi-before-mtd.patch
>> b/target/linux/ath79/patches-4.14/430-drivers-link-spi-before-mtd.patch
>> index a86245459787..2f1549710bc9 100644
>> ---
>> a/target/linux/ath79/patches-4.14/430-drivers-link-spi-before-mtd.patch
>> +++
>> b/target/linux/ath79/patches-4.14/430-drivers-link-spi-before-mtd.patch
>> @@ -1,6 +1,6 @@
>>  --- a/drivers/Makefile
>>  +++ b/drivers/Makefile
>> -@@ -77,8 +77,8 @@ obj-$(CONFIG_SCSI)           += scsi/
>> +@@ -83,8 +83,8 @@ obj-$(CONFIG_SCSI)           += scsi/
>>   obj-y                         += nvme/
>>   obj-$(CONFIG_ATA)             += ata/
>>   obj-$(CONFIG_TARGET_CORE)     += target/
>> diff --git
>> a/target/linux/ath79/patches-4.14/461-spi-ath79-add-fast-flash-read.patch
>> b/target/linux/ath79/patches-4.14/461-spi-ath79-add-fast-flash-read.patch
>> index 5c3583f758bb..06da2b34e889 100644
>> ---
>> a/target/linux/ath79/patches-4.14/461-spi-ath79-add-fast-flash-read.patch
>> +++
>> b/target/linux/ath79/patches-4.14/461-spi-ath79-add-fast-flash-read.patch
>> @@ -10,7 +10,7 @@
>>   }
>>
>>   static void ath79_spi_disable(struct ath79_spi *sp)
>> -@@ -205,6 +202,38 @@ static u32 ath79_spi_txrx_mode0(struct s
>> +@@ -204,6 +201,38 @@ static u32 ath79_spi_txrx_mode0(struct s
>>         return ath79_spi_rr(sp, AR71XX_SPI_REG_RDS);
>>   }
>>
>> @@ -49,9 +49,9 @@
>>   static int ath79_spi_probe(struct platform_device *pdev)
>>   {
>>         struct spi_master *master;
>> -@@ -234,6 +263,8 @@ static int ath79_spi_probe(struct platfo
>> +@@ -232,6 +261,8 @@ static int ath79_spi_probe(struct platfo
>> +               master->bus_num = pdata->bus_num;
>>                 master->num_chipselect = pdata->num_chipselect;
>> -               master->cs_gpios = pdata->cs_gpios;
>>         }
>>  +      master->spi_flash_read = ath79_spi_read_flash_data;
>>  +      master->flash_read_supported = ath79_spi_flash_read_supported;
>> diff --git
>> a/target/linux/ath79/patches-4.14/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch
>> b/target/linux/ath79/patches-4.14/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch
>> index c0d30eaefa98..ad8b7b47d110 100644
>> ---
>> a/target/linux/ath79/patches-4.14/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch
>> +++
>> b/target/linux/ath79/patches-4.14/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch
>> @@ -1,7 +1,5 @@
>> -Index: linux-4.14.18/arch/mips/include/asm/mach-ath79/mangle-port.h
>> -===================================================================
>>  --- /dev/null
>> -+++ linux-4.14.18/arch/mips/include/asm/mach-ath79/mangle-port.h
>> ++++ b/arch/mips/include/asm/mach-ath79/mangle-port.h
>>  @@ -0,0 +1,37 @@
>>  +/*
>>  + *  Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
>> @@ -40,10 +38,8 @@ Index:
>> linux-4.14.18/arch/mips/include/asm/mach-ath79/mangle-port.h
>>  +# define __mem_ioswabq(a, x)     cpu_to_le64(x)
>>  +
>>  +#endif /* __ASM_MACH_ATH79_MANGLE_PORT_H */
>> -Index: linux-4.14.18/arch/mips/pci/pci-ar71xx.c
>> -===================================================================
>> ---- linux-4.14.18.orig/arch/mips/pci/pci-ar71xx.c
>> -+++ linux-4.14.18/arch/mips/pci/pci-ar71xx.c
>> +--- a/arch/mips/pci/pci-ar71xx.c
>> ++++ b/arch/mips/pci/pci-ar71xx.c
>>  @@ -73,6 +73,45 @@ static const u32 ar71xx_pci_read_mask[8]
>>         0, 0xff, 0xffff, 0, 0xffffffff, 0, 0, 0
>>   };
>> diff --git
>> a/target/linux/ath79/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch
>> b/target/linux/ath79/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch
>> index 8a05adb05060..1d1979cd6eb8 100644
>> ---
>> a/target/linux/ath79/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch
>> +++
>> b/target/linux/ath79/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch
>> @@ -40,7 +40,7 @@
>>         retval = ehci_handshake(ehci, &ehci->regs->command,
>>  --- a/drivers/usb/host/ehci.h
>>  +++ b/drivers/usb/host/ehci.h
>> -@@ -231,6 +231,10 @@ struct ehci_hcd {                 /* one per
>> controlle
>> +@@ -232,6 +232,10 @@ struct ehci_hcd {                 /* one per
>> controlle
>>         unsigned                need_oc_pp_cycle:1; /* MPC834X port power
>> */
>>         unsigned                imx28_write_fix:1; /* For Freescale i.MX28
>> */
>>         unsigned                ignore_oc:1;
>> @@ -72,7 +72,7 @@
>>   #endif /* __USB_CORE_EHCI_PDRIVER_H */
>>  --- a/drivers/usb/host/ehci-platform.c
>>  +++ b/drivers/usb/host/ehci-platform.c
>> -@@ -52,6 +52,14 @@ struct ehci_platform_priv {
>> +@@ -53,6 +53,14 @@ struct ehci_platform_priv {
>>
>>   static const char hcd_name[] = "ehci-platform";
>>
>> @@ -87,7 +87,7 @@
>>   static int ehci_platform_reset(struct usb_hcd *hcd)
>>   {
>>         struct platform_device *pdev =
>> to_platform_device(hcd->self.controller);
>> -@@ -261,6 +269,13 @@ static int ehci_platform_probe(struct pl
>> +@@ -270,6 +278,13 @@ static int ehci_platform_probe(struct pl
>>                 priv->reset_on_resume = true;
>>         if (pdata->ignore_oc)
>>                 ehci->ignore_oc = 1;
>> diff --git
>> a/target/linux/ath79/patches-4.14/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch
>> b/target/linux/ath79/patches-4.14/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch
>> index 6151cc292a97..a830346a31ef 100644
>> ---
>> a/target/linux/ath79/patches-4.14/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch
>> +++
>> b/target/linux/ath79/patches-4.14/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch
>> @@ -12,10 +12,8 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
>>   drivers/net/phy/mdio-bitbang.c | 9 +++++++++
>>   1 file changed, 9 insertions(+)
>>
>> -Index: linux-4.14.18/drivers/net/phy/mdio-bitbang.c
>> -===================================================================
>> ---- linux-4.14.18.orig/drivers/net/phy/mdio-bitbang.c
>> -+++ linux-4.14.18/drivers/net/phy/mdio-bitbang.c
>> +--- a/drivers/net/phy/mdio-bitbang.c
>> ++++ b/drivers/net/phy/mdio-bitbang.c
>>  @@ -17,6 +17,7 @@
>>    * kind, whether express or implied.
>>    */
>> diff --git
>> a/target/linux/ath79/patches-4.14/902-at803x-add-reset-gpio-pdata.patch
>> b/target/linux/ath79/patches-4.14/902-at803x-add-reset-gpio-pdata.patch
>> index cb3ed89e985c..7822158cf29a 100644
>> ---
>> a/target/linux/ath79/patches-4.14/902-at803x-add-reset-gpio-pdata.patch
>> +++
>> b/target/linux/ath79/patches-4.14/902-at803x-add-reset-gpio-pdata.patch
>> @@ -16,7 +16,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>>   #endif /* _PHY_AT803X_PDATA_H */
>>  --- a/drivers/net/phy/at803x.c
>>  +++ b/drivers/net/phy/at803x.c
>> -@@ -264,6 +264,7 @@ static int at803x_resume(struct phy_devi
>> +@@ -261,6 +261,7 @@ static int at803x_resume(struct phy_devi
>>
>>   static int at803x_probe(struct phy_device *phydev)
>>   {
>> @@ -24,7 +24,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>>         struct device *dev = &phydev->mdio.dev;
>>         struct at803x_priv *priv;
>>         struct gpio_desc *gpiod_reset;
>> -@@ -276,6 +277,12 @@ static int at803x_probe(struct phy_devic
>> +@@ -273,6 +274,12 @@ static int at803x_probe(struct phy_devic
>>             phydev->drv->phy_id != ATH8032_PHY_ID)
>>                 goto does_not_require_reset_workaround;
>>
>> @@ -37,7 +37,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>>         gpiod_reset = devm_gpiod_get_optional(dev, "reset",
>> GPIOD_OUT_LOW);
>>         if (IS_ERR(gpiod_reset))
>>                 return PTR_ERR(gpiod_reset);
>> -@@ -407,15 +414,23 @@ static void at803x_link_change_notify(st
>> +@@ -404,15 +411,23 @@ static void at803x_link_change_notify(st
>>          * cannot recover from by software.
>>          */
>>         if (phydev->state == PHY_NOLINK) {
>> diff --git
>> a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch
>> b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch
>> index 1ac28e67c278..e2ca932af04a 100644
>> --- a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch
>> +++ b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch
>> @@ -1,7 +1,5 @@
>> -Index: linux-4.14.18/arch/mips/include/asm/checksum.h
>> -===================================================================
>> ---- linux-4.14.18.orig/arch/mips/include/asm/checksum.h
>> -+++ linux-4.14.18/arch/mips/include/asm/checksum.h
>> +--- a/arch/mips/include/asm/checksum.h
>> ++++ b/arch/mips/include/asm/checksum.h
>>  @@ -134,26 +134,30 @@ static inline __sum16 ip_fast_csum(const
>>         const unsigned int *stop = word + ihl;
>>         unsigned int csum;
>> @@ -118,10 +116,8 @@ Index: linux-4.14.18/arch/mips/include/asm/checksum.h
>>   #include <asm-generic/checksum.h>
>>   #endif /* CONFIG_GENERIC_CSUM */
>>
>> -Index: linux-4.14.18/include/uapi/linux/ip.h
>> -===================================================================
diff mbox series

Patch

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index fc0856554c45..192ee1c2e969 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -5,12 +5,12 @@  LINUX_RELEASE?=1
 LINUX_VERSION-3.18 = .71
 LINUX_VERSION-4.4 = .121
 LINUX_VERSION-4.9 = .98
-LINUX_VERSION-4.14 = .37
+LINUX_VERSION-4.14 = .39
 
 LINUX_KERNEL_HASH-3.18.71 = 5abc9778ad44ce02ed6c8ab52ece8a21c6d20d21f6ed8a19287b4a38a50c1240
 LINUX_KERNEL_HASH-4.4.121 = 44a88268b5088dc326b30c9b9133ac35a9a200b636b7268d08f32abeae6ca729
 LINUX_KERNEL_HASH-4.9.98 = 12cd90355adbc946e7e95aa5cdef2dd99b8e166cb64fe53a91c3e1d8f81810ef
-LINUX_KERNEL_HASH-4.14.37 = 8197e7ed3620713e412905430a7bf93e2048384042ffba189a66f0eeb6908e92
+LINUX_KERNEL_HASH-4.14.39 = 269fc576ab0509e10c3b26e57866aea3f272c17f172f14fd75e2676d38c1b7bd
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
diff --git a/target/linux/apm821xx/patches-4.14/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch b/target/linux/apm821xx/patches-4.14/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
index 49304ef8707a..efaf61a5f313 100644
--- a/target/linux/apm821xx/patches-4.14/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
+++ b/target/linux/apm821xx/patches-4.14/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch
@@ -44,7 +44,7 @@  Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
  
  #include "xhci.h"
  #include "xhci-trace.h"
-@@ -241,6 +243,458 @@ static void xhci_pme_acpi_rtd3_enable(st
+@@ -244,6 +246,458 @@ static void xhci_pme_acpi_rtd3_enable(st
  static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
  #endif /* CONFIG_ACPI */
  
@@ -503,7 +503,7 @@  Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
  /* called during probe() after chip reset completes */
  static int xhci_pci_setup(struct usb_hcd *hcd)
  {
-@@ -276,6 +730,22 @@ static int xhci_pci_probe(struct pci_dev
+@@ -279,6 +733,22 @@ static int xhci_pci_probe(struct pci_dev
  	struct hc_driver *driver;
  	struct usb_hcd *hcd;
  
@@ -526,7 +526,7 @@  Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
  	driver = (struct hc_driver *)id->driver_data;
  
  	/* For some HW implementation, a XHCI reset is just not enough... */
-@@ -340,6 +810,16 @@ static void xhci_pci_remove(struct pci_d
+@@ -343,6 +813,16 @@ static void xhci_pci_remove(struct pci_d
  {
  	struct xhci_hcd *xhci;
  
diff --git a/target/linux/apm821xx/patches-4.14/802-usb-xhci-force-msi-renesas-xhci.patch b/target/linux/apm821xx/patches-4.14/802-usb-xhci-force-msi-renesas-xhci.patch
index ae05d291f348..b78a7881c124 100644
--- a/target/linux/apm821xx/patches-4.14/802-usb-xhci-force-msi-renesas-xhci.patch
+++ b/target/linux/apm821xx/patches-4.14/802-usb-xhci-force-msi-renesas-xhci.patch
@@ -13,7 +13,7 @@  produce a noisy warning.
 
 --- a/drivers/usb/host/xhci-pci.c
 +++ b/drivers/usb/host/xhci-pci.c
-@@ -199,7 +199,7 @@ static void xhci_pci_quirks(struct devic
+@@ -202,7 +202,7 @@ static void xhci_pci_quirks(struct devic
  		xhci->quirks |= XHCI_TRUST_TX_LENGTH;
  	if (pdev->vendor == PCI_VENDOR_ID_RENESAS &&
  			pdev->device == 0x0015)
diff --git a/target/linux/ath79/patches-4.14/0001-tty-serial-drop-QCA-pecific-SoC-symbols.patch b/target/linux/ath79/patches-4.14/0001-tty-serial-drop-QCA-pecific-SoC-symbols.patch
index 0d3f9b51ce65..6c4b907e2201 100644
--- a/target/linux/ath79/patches-4.14/0001-tty-serial-drop-QCA-pecific-SoC-symbols.patch
+++ b/target/linux/ath79/patches-4.14/0001-tty-serial-drop-QCA-pecific-SoC-symbols.patch
@@ -8,11 +8,9 @@  Signed-off-by: John Crispin <john@phrozen.org>
  drivers/tty/serial/Kconfig | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
-index 3682fd3e960c..c92bd969bbf9 100644
 --- a/drivers/tty/serial/Kconfig
 +++ b/drivers/tty/serial/Kconfig
-@@ -1469,7 +1469,7 @@ config SERIAL_XILINX_PS_UART_CONSOLE
+@@ -1463,7 +1463,7 @@ config SERIAL_XILINX_PS_UART_CONSOLE
  
  config SERIAL_AR933X
  	tristate "AR933X serial port support"
@@ -21,6 +19,3 @@  index 3682fd3e960c..c92bd969bbf9 100644
  	select SERIAL_CORE
  	help
  	  If you have an Atheros AR933X SOC based board and want to use the
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0002-watchdog-ath79-fix-maximum-timeout.patch b/target/linux/ath79/patches-4.14/0002-watchdog-ath79-fix-maximum-timeout.patch
index 8cf4fb3c942a..36234d8d83ed 100644
--- a/target/linux/ath79/patches-4.14/0002-watchdog-ath79-fix-maximum-timeout.patch
+++ b/target/linux/ath79/patches-4.14/0002-watchdog-ath79-fix-maximum-timeout.patch
@@ -11,11 +11,9 @@  Signed-off-by: John Crispin <john@phrozen.org>
  drivers/watchdog/ath79_wdt.c | 8 ++++++--
  1 file changed, 6 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/watchdog/ath79_wdt.c b/drivers/watchdog/ath79_wdt.c
-index e2209bf5fa8a..c2fc6c3d0092 100644
 --- a/drivers/watchdog/ath79_wdt.c
 +++ b/drivers/watchdog/ath79_wdt.c
-@@ -115,10 +115,14 @@ static inline void ath79_wdt_disable(void)
+@@ -115,10 +115,14 @@ static inline void ath79_wdt_disable(voi
  
  static int ath79_wdt_set_timeout(int val)
  {
@@ -32,6 +30,3 @@  index e2209bf5fa8a..c2fc6c3d0092 100644
  	ath79_wdt_keepalive();
  
  	return 0;
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0003-leds-add-reset-controller-based-driver.patch b/target/linux/ath79/patches-4.14/0003-leds-add-reset-controller-based-driver.patch
index 358da3b8302c..495d79288b3b 100644
--- a/target/linux/ath79/patches-4.14/0003-leds-add-reset-controller-based-driver.patch
+++ b/target/linux/ath79/patches-4.14/0003-leds-add-reset-controller-based-driver.patch
@@ -11,10 +11,8 @@  Signed-off-by: John Crispin <john@phrozen.org>
  3 files changed, 149 insertions(+)
  create mode 100644 drivers/leds/leds-reset.c
 
-Index: linux-4.14.32/drivers/leds/Kconfig
-===================================================================
---- linux-4.14.32.orig/drivers/leds/Kconfig
-+++ linux-4.14.32/drivers/leds/Kconfig
+--- a/drivers/leds/Kconfig
++++ b/drivers/leds/Kconfig
 @@ -696,6 +696,17 @@ config LEDS_NIC78BX
  	  To compile this driver as a module, choose M here: the module
  	  will be called leds-nic78bx.
@@ -33,10 +31,8 @@  Index: linux-4.14.32/drivers/leds/Kconfig
  comment "LED Triggers"
  source "drivers/leds/trigger/Kconfig"
  
-Index: linux-4.14.32/drivers/leds/leds-reset.c
-===================================================================
 --- /dev/null
-+++ linux-4.14.32/drivers/leds/leds-reset.c
++++ b/drivers/leds/leds-reset.c
 @@ -0,0 +1,137 @@
 +/*
 + * Copyright (C) 2018 John Crispin <john@phrozen.org>
@@ -175,10 +171,8 @@  Index: linux-4.14.32/drivers/leds/leds-reset.c
 +MODULE_DESCRIPTION("reset controller LED driver");
 +MODULE_LICENSE("GPL");
 +MODULE_ALIAS("platform:leds-reset");
-Index: linux-4.14.32/drivers/leds/Makefile
-===================================================================
---- linux-4.14.32.orig/drivers/leds/Makefile
-+++ linux-4.14.32/drivers/leds/Makefile
+--- a/drivers/leds/Makefile
++++ b/drivers/leds/Makefile
 @@ -73,6 +73,7 @@ obj-$(CONFIG_LEDS_PM8058)		+= leds-pm805
  obj-$(CONFIG_LEDS_MLXCPLD)		+= leds-mlxcpld.o
  obj-$(CONFIG_LEDS_NIC78BX)		+= leds-nic78bx.o
diff --git a/target/linux/ath79/patches-4.14/0004-phy-add-ath79-usb-phys.patch b/target/linux/ath79/patches-4.14/0004-phy-add-ath79-usb-phys.patch
index 38763d2d743b..6280baf913ff 100644
--- a/target/linux/ath79/patches-4.14/0004-phy-add-ath79-usb-phys.patch
+++ b/target/linux/ath79/patches-4.14/0004-phy-add-ath79-usb-phys.patch
@@ -13,10 +13,8 @@  Signed-off-by: John Crispin <john@phrozen.org>
  create mode 100644 drivers/phy/phy-ar7100-usb.c
  create mode 100644 drivers/phy/phy-ar7200-usb.c
 
-Index: linux-4.14.37/drivers/phy/Kconfig
-===================================================================
---- linux-4.14.37.orig/drivers/phy/Kconfig
-+++ linux-4.14.37/drivers/phy/Kconfig
+--- a/drivers/phy/Kconfig
++++ b/drivers/phy/Kconfig
 @@ -15,6 +15,22 @@ config GENERIC_PHY
  	  phy users can obtain reference to the PHY. All the users of this
  	  framework should select this config.
@@ -40,10 +38,8 @@  Index: linux-4.14.37/drivers/phy/Kconfig
  config PHY_LPC18XX_USB_OTG
  	tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
  	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
-Index: linux-4.14.37/drivers/phy/Makefile
-===================================================================
---- linux-4.14.37.orig/drivers/phy/Makefile
-+++ linux-4.14.37/drivers/phy/Makefile
+--- a/drivers/phy/Makefile
++++ b/drivers/phy/Makefile
 @@ -4,6 +4,8 @@
  #
  
@@ -53,10 +49,8 @@  Index: linux-4.14.37/drivers/phy/Makefile
  obj-$(CONFIG_PHY_LPC18XX_USB_OTG)	+= phy-lpc18xx-usb-otg.o
  obj-$(CONFIG_PHY_XGENE)			+= phy-xgene.o
  obj-$(CONFIG_PHY_PISTACHIO_USB)		+= phy-pistachio-usb.o
-Index: linux-4.14.37/drivers/phy/phy-ar7100-usb.c
-===================================================================
 --- /dev/null
-+++ linux-4.14.37/drivers/phy/phy-ar7100-usb.c
++++ b/drivers/phy/phy-ar7100-usb.c
 @@ -0,0 +1,140 @@
 +/*
 + * Copyright (C) 2018 John Crispin <john@phrozen.org>
@@ -198,10 +192,8 @@  Index: linux-4.14.37/drivers/phy/phy-ar7100-usb.c
 +MODULE_DESCRIPTION("ATH79 USB PHY driver");
 +MODULE_AUTHOR("Alban Bedel <albeu@free.fr>");
 +MODULE_LICENSE("GPL");
-Index: linux-4.14.37/drivers/phy/phy-ar7200-usb.c
-===================================================================
 --- /dev/null
-+++ linux-4.14.37/drivers/phy/phy-ar7200-usb.c
++++ b/drivers/phy/phy-ar7200-usb.c
 @@ -0,0 +1,123 @@
 +/*
 + * Copyright (C) 2015 Alban Bedel <albeu@free.fr>
diff --git a/target/linux/ath79/patches-4.14/0005-usb-add-more-OF-quirk-properties.patch b/target/linux/ath79/patches-4.14/0005-usb-add-more-OF-quirk-properties.patch
index a87fd70979ff..ec1bc3f7f706 100644
--- a/target/linux/ath79/patches-4.14/0005-usb-add-more-OF-quirk-properties.patch
+++ b/target/linux/ath79/patches-4.14/0005-usb-add-more-OF-quirk-properties.patch
@@ -8,11 +8,9 @@  Signed-off-by: John Crispin <john@phrozen.org>
  drivers/usb/host/ehci-platform.c | 5 +++++
  1 file changed, 5 insertions(+)
 
-diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
-index b065a960adc2..b1cc841b5399 100644
 --- a/drivers/usb/host/ehci-platform.c
 +++ b/drivers/usb/host/ehci-platform.c
-@@ -185,6 +185,11 @@ static int ehci_platform_probe(struct platform_device *dev)
+@@ -187,6 +187,11 @@ static int ehci_platform_probe(struct pl
  	ehci = hcd_to_ehci(hcd);
  
  	if (pdata == &ehci_platform_defaults && dev->dev.of_node) {
@@ -24,6 +22,3 @@  index b065a960adc2..b1cc841b5399 100644
  		if (of_property_read_bool(dev->dev.of_node, "big-endian-regs"))
  			ehci->big_endian_mmio = 1;
  
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0006-usb-drop-deprecated-symbols.patch b/target/linux/ath79/patches-4.14/0006-usb-drop-deprecated-symbols.patch
index 6821aa74fa1b..a97fab71f49a 100644
--- a/target/linux/ath79/patches-4.14/0006-usb-drop-deprecated-symbols.patch
+++ b/target/linux/ath79/patches-4.14/0006-usb-drop-deprecated-symbols.patch
@@ -8,11 +8,9 @@  Signed-off-by: John Crispin <john@phrozen.org>
  drivers/usb/host/Kconfig | 25 -------------------------
  1 file changed, 25 deletions(-)
 
-diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
-index 4fcfb3084b36..55b45dcd7a4b 100644
 --- a/drivers/usb/host/Kconfig
 +++ b/drivers/usb/host/Kconfig
-@@ -293,19 +293,6 @@ config USB_CNS3XXX_EHCI
+@@ -297,19 +297,6 @@ config USB_CNS3XXX_EHCI
  	  It is needed for high-speed (480Mbit/sec) USB 2.0 device
  	  support.
  
@@ -32,7 +30,7 @@  index 4fcfb3084b36..55b45dcd7a4b 100644
  config USB_EHCI_HCD_PLATFORM
  	tristate "Generic EHCI driver for a platform device"
  	default n
-@@ -489,18 +476,6 @@ config USB_OHCI_HCD_DAVINCI
+@@ -493,18 +480,6 @@ config USB_OHCI_HCD_DAVINCI
  	  controller. This driver cannot currently be a loadable
  	  module because it lacks a proper PHY abstraction.
  
@@ -51,6 +49,3 @@  index 4fcfb3084b36..55b45dcd7a4b 100644
  config USB_OHCI_HCD_PPC_OF_BE
  	bool "OHCI support for OF platform bus (big endian)"
  	depends on PPC
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0007-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch b/target/linux/ath79/patches-4.14/0007-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch
index 18c9fd4e1561..72a7a5ee2960 100644
--- a/target/linux/ath79/patches-4.14/0007-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch
+++ b/target/linux/ath79/patches-4.14/0007-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch
@@ -11,8 +11,6 @@  Signed-off-by: John Crispin <john@phrozen.org>
  2 files changed, 105 insertions(+)
  create mode 100644 drivers/irqchip/irq-ath79-intc.c
 
-diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile
-index d27e3e3619e0..f63c94a92e25 100644
 --- a/drivers/irqchip/Makefile
 +++ b/drivers/irqchip/Makefile
 @@ -3,6 +3,7 @@ obj-$(CONFIG_IRQCHIP)			+= irqchip.o
@@ -23,9 +21,6 @@  index d27e3e3619e0..f63c94a92e25 100644
  obj-$(CONFIG_ATH79)			+= irq-ath79-misc.o
  obj-$(CONFIG_ARCH_BCM2835)		+= irq-bcm2835.o
  obj-$(CONFIG_ARCH_BCM2835)		+= irq-bcm2836.o
-diff --git a/drivers/irqchip/irq-ath79-intc.c b/drivers/irqchip/irq-ath79-intc.c
-new file mode 100644
-index 000000000000..a26d3efe6e10
 --- /dev/null
 +++ b/drivers/irqchip/irq-ath79-intc.c
 @@ -0,0 +1,104 @@
@@ -133,6 +128,3 @@  index 000000000000..a26d3efe6e10
 +}
 +IRQCHIP_DECLARE(qca9556_intc, "qcom,qca9556-intc",
 +		qca9556_intc_of_init);
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0008-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch b/target/linux/ath79/patches-4.14/0008-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch
index 8c364cbce6b0..84e066e2a63a 100644
--- a/target/linux/ath79/patches-4.14/0008-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch
+++ b/target/linux/ath79/patches-4.14/0008-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch
@@ -8,8 +8,6 @@  Signed-off-by: John Crispin <john@phrozen.org>
  drivers/irqchip/irq-ath79-cpu.c | 7 -------
  1 file changed, 7 deletions(-)
 
-diff --git a/drivers/irqchip/irq-ath79-cpu.c b/drivers/irqchip/irq-ath79-cpu.c
-index befe93c5a51a..f29cb9c933f5 100644
 --- a/drivers/irqchip/irq-ath79-cpu.c
 +++ b/drivers/irqchip/irq-ath79-cpu.c
 @@ -88,10 +88,3 @@ static int __init ar79_cpu_intc_of_init(
@@ -23,6 +21,3 @@  index befe93c5a51a..f29cb9c933f5 100644
 -	irq_wb_chan[3] = irq_wb_chan3;
 -	mips_cpu_irq_init();
 -}
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0009-MIPS-ath79-add-lots-of-missing-registers.patch b/target/linux/ath79/patches-4.14/0009-MIPS-ath79-add-lots-of-missing-registers.patch
index 6b6d934509d6..5963ee8991ea 100644
--- a/target/linux/ath79/patches-4.14/0009-MIPS-ath79-add-lots-of-missing-registers.patch
+++ b/target/linux/ath79/patches-4.14/0009-MIPS-ath79-add-lots-of-missing-registers.patch
@@ -8,8 +8,6 @@  Signed-off-by: John Crispin <john@phrozen.org>
  arch/mips/include/asm/mach-ath79/ar71xx_regs.h | 773 ++++++++++++++++++++++++-
  1 file changed, 771 insertions(+), 2 deletions(-)
 
-diff --git a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
-index aa3800c82332..284b4fa23e03 100644
 --- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
 +++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
 @@ -20,6 +20,10 @@
@@ -399,7 +397,6 @@  index aa3800c82332..284b4fa23e03 100644
  #define AR934X_RESET_USB_HOST		BIT(5)
  #define AR934X_RESET_USB_PHY		BIT(4)
  #define AR934X_RESET_USBSUS_OVERRIDE	BIT(3)
--
 +#define AR934X_RESET_LUT		BIT(2)
 +#define AR934X_RESET_MBOX		BIT(1)
 +#define AR934X_RESET_I2S		BIT(0)
@@ -476,7 +473,7 @@  index aa3800c82332..284b4fa23e03 100644
 +#define QCA956X_RESET_USBSUS_OVERRIDE	BIT(3)
 +#define QCA956X_RESET_SWITCH_ANALOG	BIT(2)
 +#define QCA956X_RESET_SWITCH		BIT(0)
-+
+ 
 +#define AR933X_BOOTSTRAP_MDIO_GPIO_EN	BIT(18)
 +#define AR933X_BOOTSTRAP_EEPBUSY	BIT(4)
  #define AR933X_BOOTSTRAP_REF_CLK_40	BIT(0)
@@ -972,6 +969,3 @@  index aa3800c82332..284b4fa23e03 100644
 +#define QCA956X_SGMII_CONFIG_MODE_CTRL_MASK	0x7
 +
  #endif /* __ASM_MACH_AR71XX_REGS_H */
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0010-MIPS-ath79-select-the-PINCTRL-subsystem.patch b/target/linux/ath79/patches-4.14/0010-MIPS-ath79-select-the-PINCTRL-subsystem.patch
index b6704708a2b1..cd3f96c3f326 100644
--- a/target/linux/ath79/patches-4.14/0010-MIPS-ath79-select-the-PINCTRL-subsystem.patch
+++ b/target/linux/ath79/patches-4.14/0010-MIPS-ath79-select-the-PINCTRL-subsystem.patch
@@ -8,11 +8,9 @@  Signed-off-by: John Crispin <john@phrozen.org>
  arch/mips/Kconfig | 1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
-index 8128c3b68d6b..922a53cb1b3d 100644
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -188,6 +188,7 @@ config ATH79
+@@ -191,6 +191,7 @@ config ATH79
  	select CSRC_R4K
  	select DMA_NONCOHERENT
  	select GPIOLIB
@@ -20,6 +18,3 @@  index 8128c3b68d6b..922a53cb1b3d 100644
  	select HAVE_CLK
  	select COMMON_CLK
  	select CLKDEV_LOOKUP
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0011-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch b/target/linux/ath79/patches-4.14/0011-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch
index c7ad39e1287f..85ee24c208ae 100644
--- a/target/linux/ath79/patches-4.14/0011-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch
+++ b/target/linux/ath79/patches-4.14/0011-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch
@@ -14,8 +14,6 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
  arch/mips/ath79/common.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/arch/mips/ath79/common.c b/arch/mips/ath79/common.c
-index 10a405d593df..c782b10ddf50 100644
 --- a/arch/mips/ath79/common.c
 +++ b/arch/mips/ath79/common.c
 @@ -58,7 +58,7 @@ EXPORT_SYMBOL_GPL(ath79_ddr_ctrl_init);
@@ -27,6 +25,3 @@  index 10a405d593df..c782b10ddf50 100644
  
  	/* Flush the DDR write buffer. */
  	__raw_writel(0x1, flush_reg);
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0012-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch b/target/linux/ath79/patches-4.14/0012-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch
index c622617e524c..2b744ee94f48 100644
--- a/target/linux/ath79/patches-4.14/0012-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch
+++ b/target/linux/ath79/patches-4.14/0012-MIPS-ath79-Avoid-using-unitialized-reg-variable.patch
@@ -20,8 +20,6 @@  Acked-by: Gabor Juhos <juhosg@openwrt.org>
  arch/mips/ath79/common.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/arch/mips/ath79/common.c b/arch/mips/ath79/common.c
-index c782b10ddf50..a32a9181a296 100644
 --- a/arch/mips/ath79/common.c
 +++ b/arch/mips/ath79/common.c
 @@ -106,7 +106,7 @@ void ath79_device_reset_set(u32 mask)
@@ -42,6 +40,3 @@  index c782b10ddf50..a32a9181a296 100644
  
  	spin_lock_irqsave(&ath79_device_reset_lock, flags);
  	t = ath79_reset_rr(reg);
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0013-MIPS-ath79-fix-system-restart.patch b/target/linux/ath79/patches-4.14/0013-MIPS-ath79-fix-system-restart.patch
index ecf275db8213..969636128f5c 100644
--- a/target/linux/ath79/patches-4.14/0013-MIPS-ath79-fix-system-restart.patch
+++ b/target/linux/ath79/patches-4.14/0013-MIPS-ath79-fix-system-restart.patch
@@ -10,11 +10,9 @@  Signed-off-by: John Crispin <john@phrozen.org>
  arch/mips/include/asm/mach-ath79/ath79.h | 1 +
  2 files changed, 2 insertions(+)
 
-diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
-index f206dafbb0a3..26a058d58d37 100644
 --- a/arch/mips/ath79/setup.c
 +++ b/arch/mips/ath79/setup.c
-@@ -40,6 +40,7 @@ static char ath79_sys_type[ATH79_SYS_TYPE_LEN];
+@@ -40,6 +40,7 @@ static char ath79_sys_type[ATH79_SYS_TYP
  
  static void ath79_restart(char *command)
  {
@@ -22,11 +20,9 @@  index f206dafbb0a3..26a058d58d37 100644
  	ath79_device_reset_set(AR71XX_RESET_FULL_CHIP);
  	for (;;)
  		if (cpu_wait)
-diff --git a/arch/mips/include/asm/mach-ath79/ath79.h b/arch/mips/include/asm/mach-ath79/ath79.h
-index 441faa92c3cd..6e6c0fead776 100644
 --- a/arch/mips/include/asm/mach-ath79/ath79.h
 +++ b/arch/mips/include/asm/mach-ath79/ath79.h
-@@ -134,6 +134,7 @@ static inline u32 ath79_pll_rr(unsigned reg)
+@@ -134,6 +134,7 @@ static inline u32 ath79_pll_rr(unsigned
  static inline void ath79_reset_wr(unsigned reg, u32 val)
  {
  	__raw_writel(val, ath79_reset_base + reg);
@@ -34,6 +30,3 @@  index 441faa92c3cd..6e6c0fead776 100644
  }
  
  static inline u32 ath79_reset_rr(unsigned reg)
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0014-MIPS-ath79-finetune-cpu-overrides.patch b/target/linux/ath79/patches-4.14/0014-MIPS-ath79-finetune-cpu-overrides.patch
index d3f98107045f..e390e584f6eb 100644
--- a/target/linux/ath79/patches-4.14/0014-MIPS-ath79-finetune-cpu-overrides.patch
+++ b/target/linux/ath79/patches-4.14/0014-MIPS-ath79-finetune-cpu-overrides.patch
@@ -8,8 +8,6 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
  arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h | 6 ++++++
  1 file changed, 6 insertions(+)
 
-diff --git a/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h b/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
-index 0089a740e5ae..026ad90c8ac0 100644
 --- a/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
 +++ b/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
 @@ -36,6 +36,7 @@
@@ -38,6 +36,3 @@  index 0089a740e5ae..026ad90c8ac0 100644
 +#define cpu_has_pindexed_dcache	0
  
  #endif /* __ASM_MACH_ATH79_CPU_FEATURE_OVERRIDES_H */
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0015-MIPS-ath79-enable-uart-during-early_prink.patch b/target/linux/ath79/patches-4.14/0015-MIPS-ath79-enable-uart-during-early_prink.patch
index a46603727574..5826d01764ab 100644
--- a/target/linux/ath79/patches-4.14/0015-MIPS-ath79-enable-uart-during-early_prink.patch
+++ b/target/linux/ath79/patches-4.14/0015-MIPS-ath79-enable-uart-during-early_prink.patch
@@ -8,11 +8,9 @@  Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  arch/mips/ath79/early_printk.c | 44 +++++++++++++++++++++++++++++++++++++++++-
  1 file changed, 43 insertions(+), 1 deletion(-)
 
-diff --git a/arch/mips/ath79/early_printk.c b/arch/mips/ath79/early_printk.c
-index d1adc59af5bf..ec3978678653 100644
 --- a/arch/mips/ath79/early_printk.c
 +++ b/arch/mips/ath79/early_printk.c
-@@ -58,6 +58,46 @@ static void prom_putchar_dummy(unsigned char ch)
+@@ -58,6 +58,46 @@ static void prom_putchar_dummy(unsigned
  	/* nothing to do */
  }
  
@@ -71,6 +69,3 @@  index d1adc59af5bf..ec3978678653 100644
  }
  
  void prom_putchar(unsigned char ch)
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0016-MIPS-ath79-add-support-for-QCA953x-SoC.patch b/target/linux/ath79/patches-4.14/0016-MIPS-ath79-add-support-for-QCA953x-SoC.patch
index 0eb1831c5bf9..0432a23d1419 100644
--- a/target/linux/ath79/patches-4.14/0016-MIPS-ath79-add-support-for-QCA953x-SoC.patch
+++ b/target/linux/ath79/patches-4.14/0016-MIPS-ath79-add-support-for-QCA953x-SoC.patch
@@ -18,8 +18,6 @@  Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
  arch/mips/include/asm/mach-ath79/ath79.h | 11 ++++
  8 files changed, 162 insertions(+), 6 deletions(-)
 
-diff --git a/arch/mips/ath79/Kconfig b/arch/mips/ath79/Kconfig
-index 9547cf1ea38d..b03f5c8b9d1e 100644
 --- a/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
 @@ -94,6 +94,10 @@ config SOC_AR934X
@@ -42,11 +40,9 @@  index 9547cf1ea38d..b03f5c8b9d1e 100644
  	def_bool n
  
  endif
-diff --git a/arch/mips/ath79/clock.c b/arch/mips/ath79/clock.c
-index 6b1000b6a6a6..b9595b2d1b65 100644
 --- a/arch/mips/ath79/clock.c
 +++ b/arch/mips/ath79/clock.c
-@@ -355,6 +355,91 @@ static void __init ar934x_clocks_init(void)
+@@ -355,6 +355,91 @@ static void __init ar934x_clocks_init(vo
  	iounmap(dpll_base);
  }
  
@@ -147,8 +143,6 @@  index 6b1000b6a6a6..b9595b2d1b65 100644
  	else if (soc_is_qca955x())
  		qca955x_clocks_init();
  	else
-diff --git a/arch/mips/ath79/common.c b/arch/mips/ath79/common.c
-index a32a9181a296..a485a7c35b9b 100644
 --- a/arch/mips/ath79/common.c
 +++ b/arch/mips/ath79/common.c
 @@ -103,6 +103,8 @@ void ath79_device_reset_set(u32 mask)
@@ -169,8 +163,6 @@  index a32a9181a296..a485a7c35b9b 100644
  	else if (soc_is_qca955x())
  		reg = QCA955X_RESET_REG_RESET_MODULE;
  	else
-diff --git a/arch/mips/ath79/dev-common.c b/arch/mips/ath79/dev-common.c
-index 9d0172a4dc69..99d8b88f1e6d 100644
 --- a/arch/mips/ath79/dev-common.c
 +++ b/arch/mips/ath79/dev-common.c
 @@ -85,6 +85,7 @@ void __init ath79_register_uart(void)
@@ -191,8 +183,6 @@  index 9d0172a4dc69..99d8b88f1e6d 100644
  	} else if (soc_is_qca955x()) {
  		ath79_gpio_pdata.ngpios = QCA955X_GPIO_COUNT;
  		ath79_gpio_pdata.oe_inverted = 1;
-diff --git a/arch/mips/ath79/early_printk.c b/arch/mips/ath79/early_printk.c
-index ec3978678653..cc00839b7181 100644
 --- a/arch/mips/ath79/early_printk.c
 +++ b/arch/mips/ath79/early_printk.c
 @@ -116,6 +116,8 @@ static void prom_putchar_init(void)
@@ -204,8 +194,6 @@  index ec3978678653..cc00839b7181 100644
  	case REV_ID_MAJOR_QCA9556:
  	case REV_ID_MAJOR_QCA9558:
  		_prom_putchar = prom_putchar_ar71xx;
-diff --git a/arch/mips/ath79/irq.c b/arch/mips/ath79/irq.c
-index 2dfff1f19004..756b5aee3500 100644
 --- a/arch/mips/ath79/irq.c
 +++ b/arch/mips/ath79/irq.c
 @@ -56,6 +56,34 @@ static void ar934x_ip2_irq_init(void)
@@ -269,11 +257,9 @@  index 2dfff1f19004..756b5aee3500 100644
  	else if (soc_is_qca955x())
  		qca955x_irq_init();
  }
-diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
-index 26a058d58d37..f782ae6c77d6 100644
 --- a/arch/mips/ath79/setup.c
 +++ b/arch/mips/ath79/setup.c
-@@ -60,6 +60,7 @@ static void __init ath79_detect_sys_type(void)
+@@ -60,6 +60,7 @@ static void __init ath79_detect_sys_type
  	u32 major;
  	u32 minor;
  	u32 rev = 0;
@@ -281,7 +267,7 @@  index 26a058d58d37..f782ae6c77d6 100644
  
  	id = ath79_reset_rr(AR71XX_RESET_REG_REV_ID);
  	major = id & REV_ID_MAJOR_MASK;
-@@ -152,6 +153,17 @@ static void __init ath79_detect_sys_type(void)
+@@ -152,6 +153,17 @@ static void __init ath79_detect_sys_type
  		rev = id & AR934X_REV_ID_REVISION_MASK;
  		break;
  
@@ -299,7 +285,7 @@  index 26a058d58d37..f782ae6c77d6 100644
  	case REV_ID_MAJOR_QCA9556:
  		ath79_soc = ATH79_SOC_QCA9556;
  		chip = "9556";
-@@ -168,11 +180,12 @@ static void __init ath79_detect_sys_type(void)
+@@ -168,11 +180,12 @@ static void __init ath79_detect_sys_type
  		panic("ath79: unknown SoC, id:0x%08x", id);
  	}
  
@@ -316,8 +302,6 @@  index 26a058d58d37..f782ae6c77d6 100644
  	else
  		sprintf(ath79_sys_type, "Atheros AR%s rev %u", chip, rev);
  	pr_info("SoC: %s\n", ath79_sys_type);
-diff --git a/arch/mips/include/asm/mach-ath79/ath79.h b/arch/mips/include/asm/mach-ath79/ath79.h
-index 6e6c0fead776..98a7ccf3d358 100644
 --- a/arch/mips/include/asm/mach-ath79/ath79.h
 +++ b/arch/mips/include/asm/mach-ath79/ath79.h
 @@ -32,6 +32,7 @@ enum ath79_soc_type {
@@ -345,6 +329,3 @@  index 6e6c0fead776..98a7ccf3d358 100644
  static inline int soc_is_qca9556(void)
  {
  	return ath79_soc == ATH79_SOC_QCA9556;
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0017-MIPS-ath79-add-support-for-qca956x-soc.patch b/target/linux/ath79/patches-4.14/0017-MIPS-ath79-add-support-for-qca956x-soc.patch
index 052d23c8ba75..294fb32a1709 100644
--- a/target/linux/ath79/patches-4.14/0017-MIPS-ath79-add-support-for-qca956x-soc.patch
+++ b/target/linux/ath79/patches-4.14/0017-MIPS-ath79-add-support-for-qca956x-soc.patch
@@ -22,8 +22,6 @@  Signed-off-by: Weijie Gao <hackpascal@gmail.com>
  arch/mips/include/asm/mach-ath79/ath79.h | 22 ++++++++
  9 files changed, 245 insertions(+), 4 deletions(-)
 
-diff --git a/arch/mips/ath79/Kconfig b/arch/mips/ath79/Kconfig
-index b03f5c8b9d1e..ad56cdbc8abd 100644
 --- a/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
 @@ -119,7 +119,7 @@ config ATH79_DEV_USB
@@ -35,11 +33,9 @@  index b03f5c8b9d1e..ad56cdbc8abd 100644
  	def_bool n
  
  endif
-diff --git a/arch/mips/ath79/clock.c b/arch/mips/ath79/clock.c
-index b9595b2d1b65..65701b45fb1b 100644
 --- a/arch/mips/ath79/clock.c
 +++ b/arch/mips/ath79/clock.c
-@@ -525,6 +525,100 @@ static void __init qca955x_clocks_init(void)
+@@ -525,6 +525,100 @@ static void __init qca955x_clocks_init(v
  	clk_add_alias("uart", NULL, "ref", NULL);
  }
  
@@ -149,8 +145,6 @@  index b9595b2d1b65..65701b45fb1b 100644
  	else
  		BUG();
  }
-diff --git a/arch/mips/ath79/common.c b/arch/mips/ath79/common.c
-index a485a7c35b9b..fc3438150b3e 100644
 --- a/arch/mips/ath79/common.c
 +++ b/arch/mips/ath79/common.c
 @@ -107,6 +107,8 @@ void ath79_device_reset_set(u32 mask)
@@ -171,8 +165,6 @@  index a485a7c35b9b..fc3438150b3e 100644
  	else
  		panic("Reset register not defined for this SOC");
  
-diff --git a/arch/mips/ath79/dev-common.c b/arch/mips/ath79/dev-common.c
-index 99d8b88f1e6d..ac8bfe86b656 100644
 --- a/arch/mips/ath79/dev-common.c
 +++ b/arch/mips/ath79/dev-common.c
 @@ -86,7 +86,9 @@ void __init ath79_register_uart(void)
@@ -196,8 +188,6 @@  index 99d8b88f1e6d..ac8bfe86b656 100644
  	} else {
  		BUG();
  	}
-diff --git a/arch/mips/ath79/early_printk.c b/arch/mips/ath79/early_printk.c
-index cc00839b7181..2024a0bb9144 100644
 --- a/arch/mips/ath79/early_printk.c
 +++ b/arch/mips/ath79/early_printk.c
 @@ -120,6 +120,8 @@ static void prom_putchar_init(void)
@@ -209,8 +199,6 @@  index cc00839b7181..2024a0bb9144 100644
  		_prom_putchar = prom_putchar_ar71xx;
  		break;
  
-diff --git a/arch/mips/ath79/irq.c b/arch/mips/ath79/irq.c
-index 756b5aee3500..58d17ef6f58f 100644
 --- a/arch/mips/ath79/irq.c
 +++ b/arch/mips/ath79/irq.c
 @@ -156,6 +156,87 @@ static void qca955x_irq_init(void)
@@ -319,11 +307,9 @@  index 756b5aee3500..58d17ef6f58f 100644
 +	else if (soc_is_qca956x() || soc_is_tp9343())
 +		qca956x_irq_init();
  }
-diff --git a/arch/mips/ath79/pci.c b/arch/mips/ath79/pci.c
-index b816cb4a25ff..d905a67e1a07 100644
 --- a/arch/mips/ath79/pci.c
 +++ b/arch/mips/ath79/pci.c
-@@ -82,6 +82,9 @@ int pcibios_map_irq(const struct pci_dev *dev, uint8_t slot, uint8_t pin)
+@@ -82,6 +82,9 @@ int pcibios_map_irq(const struct pci_dev
  		} else if (soc_is_qca955x()) {
  			ath79_pci_irq_map = qca955x_pci_irq_map;
  			ath79_pci_nr_irqs = ARRAY_SIZE(qca955x_pci_irq_map);
@@ -349,11 +335,9 @@  index b816cb4a25ff..d905a67e1a07 100644
  	} else {
  		/* No PCI support */
  		return -ENODEV;
-diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
-index f782ae6c77d6..4c7a93f4039a 100644
 --- a/arch/mips/ath79/setup.c
 +++ b/arch/mips/ath79/setup.c
-@@ -176,6 +176,18 @@ static void __init ath79_detect_sys_type(void)
+@@ -176,6 +176,18 @@ static void __init ath79_detect_sys_type
  		rev = id & QCA955X_REV_ID_REVISION_MASK;
  		break;
  
@@ -372,7 +356,7 @@  index f782ae6c77d6..4c7a93f4039a 100644
  	default:
  		panic("ath79: unknown SoC, id:0x%08x", id);
  	}
-@@ -183,9 +195,12 @@ static void __init ath79_detect_sys_type(void)
+@@ -183,9 +195,12 @@ static void __init ath79_detect_sys_type
  	if (ver == 1)
  		ath79_soc_rev = rev;
  
@@ -386,8 +370,6 @@  index f782ae6c77d6..4c7a93f4039a 100644
  	else
  		sprintf(ath79_sys_type, "Atheros AR%s rev %u", chip, rev);
  	pr_info("SoC: %s\n", ath79_sys_type);
-diff --git a/arch/mips/include/asm/mach-ath79/ath79.h b/arch/mips/include/asm/mach-ath79/ath79.h
-index 98a7ccf3d358..73dcd63b8243 100644
 --- a/arch/mips/include/asm/mach-ath79/ath79.h
 +++ b/arch/mips/include/asm/mach-ath79/ath79.h
 @@ -35,6 +35,8 @@ enum ath79_soc_type {
@@ -426,6 +408,3 @@  index 98a7ccf3d358..73dcd63b8243 100644
  void ath79_ddr_wb_flush(unsigned int reg);
  void ath79_ddr_set_pci_windows(void);
  
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0019-MIPS-ath79-get-PCIe-controller-out-of-reset.patch b/target/linux/ath79/patches-4.14/0019-MIPS-ath79-get-PCIe-controller-out-of-reset.patch
index 2148637f9b8a..f435e9bc1cdd 100644
--- a/target/linux/ath79/patches-4.14/0019-MIPS-ath79-get-PCIe-controller-out-of-reset.patch
+++ b/target/linux/ath79/patches-4.14/0019-MIPS-ath79-get-PCIe-controller-out-of-reset.patch
@@ -25,8 +25,6 @@  Signed-off-by: Mathias Kresin <dev@kresin.me>
  arch/mips/pci/pci-ar724x.c | 42 ++++++++++++++++++++++++++++++++++++++++++
  1 file changed, 42 insertions(+)
 
-diff --git a/arch/mips/pci/pci-ar724x.c b/arch/mips/pci/pci-ar724x.c
-index 1e23c8d587bd..64b58cc48a91 100644
 --- a/arch/mips/pci/pci-ar724x.c
 +++ b/arch/mips/pci/pci-ar724x.c
 @@ -12,14 +12,18 @@
@@ -48,7 +46,7 @@  index 1e23c8d587bd..64b58cc48a91 100644
  #define AR724X_PCI_RESET_LINK_UP	BIT(0)
  
  #define AR724X_PCI_INT_DEV0		BIT(14)
-@@ -325,6 +329,37 @@ static void ar724x_pci_irq_init(struct ar724x_pci_controller *apc,
+@@ -325,6 +329,37 @@ static void ar724x_pci_irq_init(struct a
  					 apc);
  }
  
@@ -86,7 +84,7 @@  index 1e23c8d587bd..64b58cc48a91 100644
  static int ar724x_pci_probe(struct platform_device *pdev)
  {
  	struct ar724x_pci_controller *apc;
-@@ -383,6 +418,13 @@ static int ar724x_pci_probe(struct platform_device *pdev)
+@@ -383,6 +418,13 @@ static int ar724x_pci_probe(struct platf
  	apc->pci_controller.io_resource = &apc->io_res;
  	apc->pci_controller.mem_resource = &apc->mem_res;
  
@@ -100,6 +98,3 @@  index 1e23c8d587bd..64b58cc48a91 100644
  	apc->link_up = ar724x_pci_check_link(apc);
  	if (!apc->link_up)
  		dev_warn(&pdev->dev, "PCIe link is down\n");
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0020-MIPS-ath79-turn-pci-ar71xx-driver-into-a-pure-OF-dri.patch b/target/linux/ath79/patches-4.14/0020-MIPS-ath79-turn-pci-ar71xx-driver-into-a-pure-OF-dri.patch
index d25f265d8423..2d9ddf4a2c55 100644
--- a/target/linux/ath79/patches-4.14/0020-MIPS-ath79-turn-pci-ar71xx-driver-into-a-pure-OF-dri.patch
+++ b/target/linux/ath79/patches-4.14/0020-MIPS-ath79-turn-pci-ar71xx-driver-into-a-pure-OF-dri.patch
@@ -9,8 +9,6 @@  Signed-off-by: John Crispin <john@phrozen.org>
  arch/mips/pci/pci-ar71xx.c | 81 +++++++++++++++++++++++-----------------------
  1 file changed, 40 insertions(+), 41 deletions(-)
 
-diff --git a/arch/mips/pci/pci-ar71xx.c b/arch/mips/pci/pci-ar71xx.c
-index bdf87b43633f..1dc9f01a495d 100644
 --- a/arch/mips/pci/pci-ar71xx.c
 +++ b/arch/mips/pci/pci-ar71xx.c
 @@ -18,8 +18,11 @@
@@ -78,7 +76,7 @@  index bdf87b43633f..1dc9f01a495d 100644
  }
  
  static void ar71xx_pci_irq_unmask(struct irq_data *d)
-@@ -261,7 +266,7 @@ static void ar71xx_pci_irq_unmask(struct irq_data *d)
+@@ -261,7 +266,7 @@ static void ar71xx_pci_irq_unmask(struct
  	u32 t;
  
  	apc = irq_data_get_irq_chip_data(d);
@@ -87,7 +85,7 @@  index bdf87b43633f..1dc9f01a495d 100644
  
  	t = __raw_readl(base + AR71XX_RESET_REG_PCI_INT_ENABLE);
  	__raw_writel(t | (1 << irq), base + AR71XX_RESET_REG_PCI_INT_ENABLE);
-@@ -278,7 +283,7 @@ static void ar71xx_pci_irq_mask(struct irq_data *d)
+@@ -278,7 +283,7 @@ static void ar71xx_pci_irq_mask(struct i
  	u32 t;
  
  	apc = irq_data_get_irq_chip_data(d);
@@ -96,7 +94,7 @@  index bdf87b43633f..1dc9f01a495d 100644
  
  	t = __raw_readl(base + AR71XX_RESET_REG_PCI_INT_ENABLE);
  	__raw_writel(t & ~(1 << irq), base + AR71XX_RESET_REG_PCI_INT_ENABLE);
-@@ -294,24 +299,30 @@ static struct irq_chip ar71xx_pci_irq_chip = {
+@@ -294,24 +299,30 @@ static struct irq_chip ar71xx_pci_irq_ch
  	.irq_mask_ack	= ar71xx_pci_irq_mask,
  };
  
@@ -150,7 +148,7 @@  index bdf87b43633f..1dc9f01a495d 100644
  static int ar71xx_pci_probe(struct platform_device *pdev)
  {
  	struct ar71xx_pci_controller *apc;
-@@ -348,26 +364,6 @@ static int ar71xx_pci_probe(struct platform_device *pdev)
+@@ -348,26 +364,6 @@ static int ar71xx_pci_probe(struct platf
  	if (apc->irq < 0)
  		return -EINVAL;
  
@@ -177,7 +175,7 @@  index bdf87b43633f..1dc9f01a495d 100644
  	ar71xx_pci_reset();
  
  	/* setup COMMAND register */
-@@ -380,9 +376,11 @@ static int ar71xx_pci_probe(struct platform_device *pdev)
+@@ -380,9 +376,11 @@ static int ar71xx_pci_probe(struct platf
  
  	ar71xx_pci_irq_init(apc);
  
@@ -189,7 +187,7 @@  index bdf87b43633f..1dc9f01a495d 100644
  
  	register_pci_controller(&apc->pci_ctrl);
  
-@@ -393,6 +391,7 @@ static struct platform_driver ar71xx_pci_driver = {
+@@ -393,6 +391,7 @@ static struct platform_driver ar71xx_pci
  	.probe = ar71xx_pci_probe,
  	.driver = {
  		.name = "ar71xx-pci",
@@ -197,6 +195,3 @@  index bdf87b43633f..1dc9f01a495d 100644
  	},
  };
  
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0021-MIPS-ath79-turn-pci-ar724x-driver-into-a-pure-OF-dri.patch b/target/linux/ath79/patches-4.14/0021-MIPS-ath79-turn-pci-ar724x-driver-into-a-pure-OF-dri.patch
index e3eba5a5f647..d5ebeb87aec0 100644
--- a/target/linux/ath79/patches-4.14/0021-MIPS-ath79-turn-pci-ar724x-driver-into-a-pure-OF-dri.patch
+++ b/target/linux/ath79/patches-4.14/0021-MIPS-ath79-turn-pci-ar724x-driver-into-a-pure-OF-dri.patch
@@ -9,8 +9,6 @@  Signed-off-by: John Crispin <john@phrozen.org>
  arch/mips/pci/pci-ar724x.c | 86 +++++++++++++++++++++-------------------------
  1 file changed, 40 insertions(+), 46 deletions(-)
 
-diff --git a/arch/mips/pci/pci-ar724x.c b/arch/mips/pci/pci-ar724x.c
-index 64b58cc48a91..7eb9b0999c8c 100644
 --- a/arch/mips/pci/pci-ar724x.c
 +++ b/arch/mips/pci/pci-ar724x.c
 @@ -14,8 +14,11 @@
@@ -91,7 +89,7 @@  index 64b58cc48a91..7eb9b0999c8c 100644
  	case 0:
  		t = __raw_readl(base + AR724X_PCI_REG_INT_MASK);
  		__raw_writel(t | AR724X_PCI_INT_DEV0,
-@@ -273,14 +275,12 @@ static void ar724x_pci_irq_mask(struct irq_data *d)
+@@ -273,14 +275,12 @@ static void ar724x_pci_irq_mask(struct i
  {
  	struct ar724x_pci_controller *apc;
  	void __iomem *base;
@@ -107,7 +105,7 @@  index 64b58cc48a91..7eb9b0999c8c 100644
  	case 0:
  		t = __raw_readl(base + AR724X_PCI_REG_INT_MASK);
  		__raw_writel(t & ~AR724X_PCI_INT_DEV0,
-@@ -305,26 +305,32 @@ static struct irq_chip ar724x_pci_irq_chip = {
+@@ -305,26 +305,32 @@ static struct irq_chip ar724x_pci_irq_ch
  	.irq_mask_ack	= ar724x_pci_irq_mask,
  };
  
@@ -150,7 +148,7 @@  index 64b58cc48a91..7eb9b0999c8c 100644
  	irq_set_chained_handler_and_data(apc->irq, ar724x_pci_irq_handler,
  					 apc);
  }
-@@ -394,29 +400,11 @@ static int ar724x_pci_probe(struct platform_device *pdev)
+@@ -394,29 +400,11 @@ static int ar724x_pci_probe(struct platf
  	if (apc->irq < 0)
  		return -EINVAL;
  
@@ -182,7 +180,7 @@  index 64b58cc48a91..7eb9b0999c8c 100644
  
  	/*
  	 * Do the full PCIE Root Complex Initialization Sequence if the PCIe
-@@ -438,10 +426,16 @@ static int ar724x_pci_probe(struct platform_device *pdev)
+@@ -438,10 +426,16 @@ static int ar724x_pci_probe(struct platf
  	return 0;
  }
  
@@ -199,6 +197,3 @@  index 64b58cc48a91..7eb9b0999c8c 100644
  	},
  };
  
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0022-MIPS-ath79-drop-pci.c.patch b/target/linux/ath79/patches-4.14/0022-MIPS-ath79-drop-pci.c.patch
index 036bfc31c75d..58ed122c68d7 100644
--- a/target/linux/ath79/patches-4.14/0022-MIPS-ath79-drop-pci.c.patch
+++ b/target/linux/ath79/patches-4.14/0022-MIPS-ath79-drop-pci.c.patch
@@ -16,10 +16,8 @@  Signed-off-by: John Crispin <john@phrozen.org>
  delete mode 100644 arch/mips/ath79/pci.c
  create mode 100644 arch/mips/pci/fixup-ath79.c
 
-Index: linux-4.14.25/arch/mips/ath79/Makefile
-===================================================================
---- linux-4.14.25.orig/arch/mips/ath79/Makefile
-+++ linux-4.14.25/arch/mips/ath79/Makefile
+--- a/arch/mips/ath79/Makefile
++++ b/arch/mips/ath79/Makefile
 @@ -11,7 +11,6 @@
  obj-y	:= prom.o setup.o irq.o common.o clock.o
  
@@ -28,9 +26,7 @@  Index: linux-4.14.25/arch/mips/ath79/Makefile
  
  #
  # Devices
-Index: linux-4.14.25/arch/mips/ath79/pci.c
-===================================================================
---- linux-4.14.25.orig/arch/mips/ath79/pci.c
+--- a/arch/mips/ath79/pci.c
 +++ /dev/null
 @@ -1,285 +0,0 @@
 -/*
@@ -318,10 +314,8 @@  Index: linux-4.14.25/arch/mips/ath79/pci.c
 -
 -	return pdev ? 0 : -ENODEV;
 -}
-Index: linux-4.14.25/arch/mips/pci/Makefile
-===================================================================
---- linux-4.14.25.orig/arch/mips/pci/Makefile
-+++ linux-4.14.25/arch/mips/pci/Makefile
+--- a/arch/mips/pci/Makefile
++++ b/arch/mips/pci/Makefile
 @@ -29,6 +29,7 @@ obj-$(CONFIG_MIPS_PCI_VIRTIO)	+= pci-vir
  #
  # These are still pretty much in the old state, watch, go blind.
@@ -330,10 +324,8 @@  Index: linux-4.14.25/arch/mips/pci/Makefile
  obj-$(CONFIG_LASAT)		+= pci-lasat.o
  obj-$(CONFIG_MIPS_COBALT)	+= fixup-cobalt.o
  obj-$(CONFIG_LEMOTE_FULOONG2E)	+= fixup-fuloong2e.o ops-loongson2.o
-Index: linux-4.14.25/arch/mips/pci/fixup-ath79.c
-===================================================================
 --- /dev/null
-+++ linux-4.14.25/arch/mips/pci/fixup-ath79.c
++++ b/arch/mips/pci/fixup-ath79.c
 @@ -0,0 +1,21 @@
 +/*
 + *  Copyright (C) 2018 John Crispin <john@phrozen.org>
diff --git a/target/linux/ath79/patches-4.14/0023-MIPS-ath79-drop-mach-files.patch b/target/linux/ath79/patches-4.14/0023-MIPS-ath79-drop-mach-files.patch
index b491371e0623..2d9a9bc97118 100644
--- a/target/linux/ath79/patches-4.14/0023-MIPS-ath79-drop-mach-files.patch
+++ b/target/linux/ath79/patches-4.14/0023-MIPS-ath79-drop-mach-files.patch
@@ -21,10 +21,8 @@  Signed-off-by: John Crispin <john@phrozen.org>
  delete mode 100644 arch/mips/ath79/mach-pb44.c
  delete mode 100644 arch/mips/ath79/mach-ubnt-xm.c
 
-Index: linux-4.14.25/arch/mips/ath79/Kconfig
-===================================================================
---- linux-4.14.25.orig/arch/mips/ath79/Kconfig
-+++ linux-4.14.25/arch/mips/ath79/Kconfig
+--- a/arch/mips/ath79/Kconfig
++++ b/arch/mips/ath79/Kconfig
 @@ -1,79 +1,6 @@
  # SPDX-License-Identifier: GPL-2.0
  if ATH79
@@ -105,10 +103,8 @@  Index: linux-4.14.25/arch/mips/ath79/Kconfig
  config SOC_AR71XX
  	select HW_HAS_PCI
  	def_bool n
-Index: linux-4.14.25/arch/mips/ath79/Makefile
-===================================================================
---- linux-4.14.25.orig/arch/mips/ath79/Makefile
-+++ linux-4.14.25/arch/mips/ath79/Makefile
+--- a/arch/mips/ath79/Makefile
++++ b/arch/mips/ath79/Makefile
 @@ -21,13 +21,3 @@ obj-$(CONFIG_ATH79_DEV_LEDS_GPIO)	+= dev
  obj-$(CONFIG_ATH79_DEV_SPI)		+= dev-spi.o
  obj-$(CONFIG_ATH79_DEV_USB)		+= dev-usb.o
@@ -123,9 +119,7 @@  Index: linux-4.14.25/arch/mips/ath79/Makefile
 -obj-$(CONFIG_ATH79_MACH_DB120)		+= mach-db120.o
 -obj-$(CONFIG_ATH79_MACH_PB44)		+= mach-pb44.o
 -obj-$(CONFIG_ATH79_MACH_UBNT_XM)	+= mach-ubnt-xm.o
-Index: linux-4.14.25/arch/mips/ath79/mach-ap121.c
-===================================================================
---- linux-4.14.25.orig/arch/mips/ath79/mach-ap121.c
+--- a/arch/mips/ath79/mach-ap121.c
 +++ /dev/null
 @@ -1,92 +0,0 @@
 -/*
@@ -220,9 +214,7 @@  Index: linux-4.14.25/arch/mips/ath79/mach-ap121.c
 -
 -MIPS_MACHINE(ATH79_MACH_AP121, "AP121", "Atheros AP121 reference board",
 -	     ap121_setup);
-Index: linux-4.14.25/arch/mips/ath79/mach-ap136.c
-===================================================================
---- linux-4.14.25.orig/arch/mips/ath79/mach-ap136.c
+--- a/arch/mips/ath79/mach-ap136.c
 +++ /dev/null
 @@ -1,156 +0,0 @@
 -/*
@@ -381,9 +373,7 @@  Index: linux-4.14.25/arch/mips/ath79/mach-ap136.c
 -MIPS_MACHINE(ATH79_MACH_AP136_010, "AP136-010",
 -	     "Atheros AP136-010 reference board",
 -	     ap136_setup);
-Index: linux-4.14.25/arch/mips/ath79/mach-ap81.c
-===================================================================
---- linux-4.14.25.orig/arch/mips/ath79/mach-ap81.c
+--- a/arch/mips/ath79/mach-ap81.c
 +++ /dev/null
 @@ -1,100 +0,0 @@
 -/*
@@ -486,9 +476,7 @@  Index: linux-4.14.25/arch/mips/ath79/mach-ap81.c
 -
 -MIPS_MACHINE(ATH79_MACH_AP81, "AP81", "Atheros AP81 reference board",
 -	     ap81_setup);
-Index: linux-4.14.25/arch/mips/ath79/mach-db120.c
-===================================================================
---- linux-4.14.25.orig/arch/mips/ath79/mach-db120.c
+--- a/arch/mips/ath79/mach-db120.c
 +++ /dev/null
 @@ -1,136 +0,0 @@
 -/*
@@ -627,9 +615,7 @@  Index: linux-4.14.25/arch/mips/ath79/mach-db120.c
 -
 -MIPS_MACHINE(ATH79_MACH_DB120, "DB120", "Atheros DB120 reference board",
 -	     db120_setup);
-Index: linux-4.14.25/arch/mips/ath79/mach-pb44.c
-===================================================================
---- linux-4.14.25.orig/arch/mips/ath79/mach-pb44.c
+--- a/arch/mips/ath79/mach-pb44.c
 +++ /dev/null
 @@ -1,122 +0,0 @@
 -/*
diff --git a/target/linux/ath79/patches-4.14/0024-MIPS-ath79-drop-pdata-helpers.patch b/target/linux/ath79/patches-4.14/0024-MIPS-ath79-drop-pdata-helpers.patch
index a5d517093d9c..8c4956ec343b 100644
--- a/target/linux/ath79/patches-4.14/0024-MIPS-ath79-drop-pdata-helpers.patch
+++ b/target/linux/ath79/patches-4.14/0024-MIPS-ath79-drop-pdata-helpers.patch
@@ -32,9 +32,6 @@  Signed-off-by: John Crispin <john@phrozen.org>
  delete mode 100644 arch/mips/ath79/dev-wmac.c
  delete mode 100644 arch/mips/ath79/dev-wmac.h
 
-diff --git a/arch/mips/ath79/dev-common.c b/arch/mips/ath79/dev-common.c
-deleted file mode 100644
-index ac8bfe86b656..000000000000
 --- a/arch/mips/ath79/dev-common.c
 +++ /dev/null
 @@ -1,168 +0,0 @@
@@ -206,9 +203,6 @@  index ac8bfe86b656..000000000000
 -
 -	platform_device_register(&ath79_gpio_device);
 -}
-diff --git a/arch/mips/ath79/dev-common.h b/arch/mips/ath79/dev-common.h
-deleted file mode 100644
-index 0f514e1affce..000000000000
 --- a/arch/mips/ath79/dev-common.h
 +++ /dev/null
 @@ -1,18 +0,0 @@
@@ -230,9 +224,6 @@  index 0f514e1affce..000000000000
 -void ath79_register_wdt(void);
 -
 -#endif /* _ATH79_DEV_COMMON_H */
-diff --git a/arch/mips/ath79/dev-gpio-buttons.c b/arch/mips/ath79/dev-gpio-buttons.c
-deleted file mode 100644
-index 366b35fb164d..000000000000
 --- a/arch/mips/ath79/dev-gpio-buttons.c
 +++ /dev/null
 @@ -1,56 +0,0 @@
@@ -292,9 +283,6 @@  index 366b35fb164d..000000000000
 -err_free_buttons:
 -	kfree(p);
 -}
-diff --git a/arch/mips/ath79/dev-gpio-buttons.h b/arch/mips/ath79/dev-gpio-buttons.h
-deleted file mode 100644
-index 481847ac1cba..000000000000
 --- a/arch/mips/ath79/dev-gpio-buttons.h
 +++ /dev/null
 @@ -1,23 +0,0 @@
@@ -321,9 +309,6 @@  index 481847ac1cba..000000000000
 -				     struct gpio_keys_button *buttons);
 -
 -#endif /* _ATH79_DEV_GPIO_BUTTONS_H */
-diff --git a/arch/mips/ath79/dev-leds-gpio.c b/arch/mips/ath79/dev-leds-gpio.c
-deleted file mode 100644
-index dcb1debcefb8..000000000000
 --- a/arch/mips/ath79/dev-leds-gpio.c
 +++ /dev/null
 @@ -1,54 +0,0 @@
@@ -381,9 +366,6 @@  index dcb1debcefb8..000000000000
 -err_free_leds:
 -	kfree(p);
 -}
-diff --git a/arch/mips/ath79/dev-leds-gpio.h b/arch/mips/ath79/dev-leds-gpio.h
-deleted file mode 100644
-index 6e5d8851ebcf..000000000000
 --- a/arch/mips/ath79/dev-leds-gpio.h
 +++ /dev/null
 @@ -1,21 +0,0 @@
@@ -408,9 +390,6 @@  index 6e5d8851ebcf..000000000000
 -			      struct gpio_led *leds);
 -
 -#endif /* _ATH79_DEV_LEDS_GPIO_H */
-diff --git a/arch/mips/ath79/dev-spi.c b/arch/mips/ath79/dev-spi.c
-deleted file mode 100644
-index aa30163efbfd..000000000000
 --- a/arch/mips/ath79/dev-spi.c
 +++ /dev/null
 @@ -1,38 +0,0 @@
@@ -452,9 +431,6 @@  index aa30163efbfd..000000000000
 -	ath79_spi_device.dev.platform_data = pdata;
 -	platform_device_register(&ath79_spi_device);
 -}
-diff --git a/arch/mips/ath79/dev-spi.h b/arch/mips/ath79/dev-spi.h
-deleted file mode 100644
-index d732565ca736..000000000000
 --- a/arch/mips/ath79/dev-spi.h
 +++ /dev/null
 @@ -1,22 +0,0 @@
@@ -480,9 +456,6 @@  index d732565ca736..000000000000
 -			 unsigned n);
 -
 -#endif /* _ATH79_DEV_SPI_H */
-diff --git a/arch/mips/ath79/dev-usb.c b/arch/mips/ath79/dev-usb.c
-deleted file mode 100644
-index 8227265bcc2d..000000000000
 --- a/arch/mips/ath79/dev-usb.c
 +++ /dev/null
 @@ -1,242 +0,0 @@
@@ -728,9 +701,6 @@  index 8227265bcc2d..000000000000
 -	else
 -		BUG();
 -}
-diff --git a/arch/mips/ath79/dev-usb.h b/arch/mips/ath79/dev-usb.h
-deleted file mode 100644
-index 4b86a69ca080..000000000000
 --- a/arch/mips/ath79/dev-usb.h
 +++ /dev/null
 @@ -1,17 +0,0 @@
@@ -751,9 +721,6 @@  index 4b86a69ca080..000000000000
 -void ath79_register_usb(void);
 -
 -#endif /* _ATH79_DEV_USB_H */
-diff --git a/arch/mips/ath79/dev-wmac.c b/arch/mips/ath79/dev-wmac.c
-deleted file mode 100644
-index da190b1b87ce..000000000000
 --- a/arch/mips/ath79/dev-wmac.c
 +++ /dev/null
 @@ -1,155 +0,0 @@
@@ -912,9 +879,6 @@  index da190b1b87ce..000000000000
 -
 -	platform_device_register(&ath79_wmac_device);
 -}
-diff --git a/arch/mips/ath79/dev-wmac.h b/arch/mips/ath79/dev-wmac.h
-deleted file mode 100644
-index c9cd8709f090..000000000000
 --- a/arch/mips/ath79/dev-wmac.h
 +++ /dev/null
 @@ -1,17 +0,0 @@
@@ -935,8 +899,6 @@  index c9cd8709f090..000000000000
 -void ath79_register_wmac(u8 *cal_data);
 -
 -#endif /* _ATH79_DEV_WMAC_H */
-diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
-index 4c7a93f4039a..8d7ffa2e8265 100644
 --- a/arch/mips/ath79/setup.c
 +++ b/arch/mips/ath79/setup.c
 @@ -31,7 +31,6 @@
@@ -958,6 +920,3 @@  index 4c7a93f4039a..8d7ffa2e8265 100644
  	mips_machine_setup();
  
  	return 0;
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0025-MIPS-ath79-drop-irq.c.patch b/target/linux/ath79/patches-4.14/0025-MIPS-ath79-drop-irq.c.patch
index 738f239af01d..95b29455f0db 100644
--- a/target/linux/ath79/patches-4.14/0025-MIPS-ath79-drop-irq.c.patch
+++ b/target/linux/ath79/patches-4.14/0025-MIPS-ath79-drop-irq.c.patch
@@ -13,8 +13,6 @@  Signed-off-by: John Crispin <john@phrozen.org>
  3 files changed, 7 insertions(+), 286 deletions(-)
  delete mode 100644 arch/mips/ath79/irq.c
 
-diff --git a/arch/mips/ath79/Makefile b/arch/mips/ath79/Makefile
-index 783369bc1c5b..bd0c9b8b1b5b 100644
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 @@ -8,7 +8,7 @@
@@ -26,9 +24,6 @@  index 783369bc1c5b..bd0c9b8b1b5b 100644
  
  obj-$(CONFIG_EARLY_PRINTK)		+= early_printk.o
  
-diff --git a/arch/mips/ath79/irq.c b/arch/mips/ath79/irq.c
-deleted file mode 100644
-index 58d17ef6f58f..000000000000
 --- a/arch/mips/ath79/irq.c
 +++ /dev/null
 @@ -1,285 +0,0 @@
@@ -317,8 +312,6 @@  index 58d17ef6f58f..000000000000
 -	else if (soc_is_qca956x() || soc_is_tp9343())
 -		qca956x_irq_init();
 -}
-diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
-index 8d7ffa2e8265..7b089c07d2fa 100644
 --- a/arch/mips/ath79/setup.c
 +++ b/arch/mips/ath79/setup.c
 @@ -19,6 +19,7 @@
@@ -341,6 +334,3 @@  index 8d7ffa2e8265..7b089c07d2fa 100644
  static int __init ath79_setup(void)
  {
  	if  (mips_machtype == ATH79_MACH_GENERIC_OF)
--- 
-2.11.0
-
diff --git a/target/linux/ath79/patches-4.14/0026-MIPS-ath79-sanitize-Kconfig-symbols.patch b/target/linux/ath79/patches-4.14/0026-MIPS-ath79-sanitize-Kconfig-symbols.patch
index 5f41656d1bcd..f9906516d9bc 100644
--- a/target/linux/ath79/patches-4.14/0026-MIPS-ath79-sanitize-Kconfig-symbols.patch
+++ b/target/linux/ath79/patches-4.14/0026-MIPS-ath79-sanitize-Kconfig-symbols.patch
@@ -11,10 +11,8 @@  Signed-off-by: John Crispin <john@phrozen.org>
  arch/mips/pci/Makefile   |  2 +-
  4 files changed, 8 insertions(+), 54 deletions(-)
 
-Index: linux-4.14.18/arch/mips/Kconfig
-===================================================================
---- linux-4.14.18.orig/arch/mips/Kconfig
-+++ linux-4.14.18/arch/mips/Kconfig
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
 @@ -203,6 +203,8 @@ config ATH79
  	select SYS_SUPPORTS_BIG_ENDIAN
  	select SYS_SUPPORTS_MIPS16
@@ -24,10 +22,8 @@  Index: linux-4.14.18/arch/mips/Kconfig
  	select USE_OF
  	help
  	  Support for the Atheros AR71XX/AR724X/AR913X SoCs.
-Index: linux-4.14.18/arch/mips/ath79/Kconfig
-===================================================================
---- linux-4.14.18.orig/arch/mips/ath79/Kconfig
-+++ linux-4.14.18/arch/mips/ath79/Kconfig
+--- a/arch/mips/ath79/Kconfig
++++ b/arch/mips/ath79/Kconfig
 @@ -1,52 +1,14 @@
  # SPDX-License-Identifier: GPL-2.0
  if ATH79
@@ -86,10 +82,8 @@  Index: linux-4.14.18/arch/mips/ath79/Kconfig
  	def_bool n
  
  endif
-Index: linux-4.14.18/arch/mips/ath79/Makefile
-===================================================================
---- linux-4.14.18.orig/arch/mips/ath79/Makefile
-+++ linux-4.14.18/arch/mips/ath79/Makefile
+--- a/arch/mips/ath79/Makefile
++++ b/arch/mips/ath79/Makefile
 @@ -11,13 +11,3 @@
  obj-y	:= prom.o setup.o common.o clock.o
  
@@ -104,10 +98,8 @@  Index: linux-4.14.18/arch/mips/ath79/Makefile
 -obj-$(CONFIG_ATH79_DEV_SPI)		+= dev-spi.o
 -obj-$(CONFIG_ATH79_DEV_USB)		+= dev-usb.o
 -obj-$(CONFIG_ATH79_DEV_WMAC)		+= dev-wmac.o
-Index: linux-4.14.18/arch/mips/pci/Makefile
-===================================================================
---- linux-4.14.18.orig/arch/mips/pci/Makefile
-+++ linux-4.14.18/arch/mips/pci/Makefile
+--- a/arch/mips/pci/Makefile
++++ b/arch/mips/pci/Makefile
 @@ -23,7 +23,7 @@ obj-$(CONFIG_BCM63XX)		+= pci-bcm63xx.o
  					ops-bcm63xx.o
  obj-$(CONFIG_MIPS_ALCHEMY)	+= pci-alchemy.o
diff --git a/target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch b/target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch
index fd47b775f03d..cde3bae67419 100644
--- a/target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch
+++ b/target/linux/ath79/patches-4.14/0027-MIPS-ath79-drop-mips_machine-support.patch
@@ -11,10 +11,8 @@  Signed-off-by: John Crispin <john@phrozen.org>
  3 files changed, 10 insertions(+), 93 deletions(-)
  delete mode 100644 arch/mips/ath79/machtypes.h
 
-Index: linux-4.14.18/arch/mips/Kconfig
-===================================================================
---- linux-4.14.18.orig/arch/mips/Kconfig
-+++ linux-4.14.18/arch/mips/Kconfig
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
 @@ -196,7 +196,6 @@ config ATH79
  	select COMMON_CLK
  	select CLKDEV_LOOKUP
@@ -23,9 +21,7 @@  Index: linux-4.14.18/arch/mips/Kconfig
  	select SYS_HAS_CPU_MIPS32_R2
  	select SYS_HAS_EARLY_PRINTK
  	select SYS_SUPPORTS_32BIT_KERNEL
-Index: linux-4.14.18/arch/mips/ath79/machtypes.h
-===================================================================
---- linux-4.14.18.orig/arch/mips/ath79/machtypes.h
+--- a/arch/mips/ath79/machtypes.h
 +++ /dev/null
 @@ -1,28 +0,0 @@
 -/*
@@ -56,10 +52,8 @@  Index: linux-4.14.18/arch/mips/ath79/machtypes.h
 -};
 -
 -#endif /* _ATH79_MACHTYPE_H */
-Index: linux-4.14.18/arch/mips/ath79/setup.c
-===================================================================
---- linux-4.14.18.orig/arch/mips/ath79/setup.c
-+++ linux-4.14.18/arch/mips/ath79/setup.c
+--- a/arch/mips/ath79/setup.c
++++ b/arch/mips/ath79/setup.c
 @@ -32,7 +32,6 @@
  #include <asm/mach-ath79/ath79.h>
  #include <asm/mach-ath79/ar71xx_regs.h>
@@ -166,10 +160,8 @@  Index: linux-4.14.18/arch/mips/ath79/setup.c
 -	     "DTB",
 -	     "Generic AR71XX/AR724X/AR913X based board (DT)",
 -	     NULL);
-Index: linux-4.14.18/arch/mips/ath79/clock.c
-===================================================================
---- linux-4.14.18.orig/arch/mips/ath79/clock.c
-+++ linux-4.14.18/arch/mips/ath79/clock.c
+--- a/arch/mips/ath79/clock.c
++++ b/arch/mips/ath79/clock.c
 @@ -26,7 +26,6 @@
  #include <asm/mach-ath79/ath79.h>
  #include <asm/mach-ath79/ar71xx_regs.h>
diff --git a/target/linux/ath79/patches-4.14/0028-MIPS-ath79-add-helpers-for-setting-clocks-and-expose.patch b/target/linux/ath79/patches-4.14/0028-MIPS-ath79-add-helpers-for-setting-clocks-and-expose.patch
index 4e73c0a7fd24..15f6b1f8cea8 100644
--- a/target/linux/ath79/patches-4.14/0028-MIPS-ath79-add-helpers-for-setting-clocks-and-expose.patch
+++ b/target/linux/ath79/patches-4.14/0028-MIPS-ath79-add-helpers-for-setting-clocks-and-expose.patch
@@ -45,7 +45,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +	clks[type] = clk;
 +	clk_register_clkdev(clk, name, NULL);
 +}
-+
+ 
 +static struct clk * __init ath79_set_clk(int type, unsigned long rate)
 +{
 +	const char *name = ath79_clk_name(type);
@@ -61,7 +61,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +{
 +	const char *name = ath79_clk_name(type);
 +	struct clk *clk;
- 
++
 +	clk = clk_register_fixed_factor(NULL, name, parent, 0, mult, div);
 +	__ath79_set_clk(type, name, clk);
  	return clk;
diff --git a/target/linux/ath79/patches-4.14/004-register_gpio_driver_earlier.patch b/target/linux/ath79/patches-4.14/004-register_gpio_driver_earlier.patch
index 9090491f9f30..cc30e2d91e28 100644
--- a/target/linux/ath79/patches-4.14/004-register_gpio_driver_earlier.patch
+++ b/target/linux/ath79/patches-4.14/004-register_gpio_driver_earlier.patch
@@ -1,10 +1,8 @@ 
 HACK: register the GPIO driver earlier to ensure that gpio_request calls
 from mach files succeed.
 
-Index: linux-4.14.18/drivers/gpio/gpio-ath79.c
-===================================================================
---- linux-4.14.18.orig/drivers/gpio/gpio-ath79.c
-+++ linux-4.14.18/drivers/gpio/gpio-ath79.c
+--- a/drivers/gpio/gpio-ath79.c
++++ b/drivers/gpio/gpio-ath79.c
 @@ -322,7 +322,11 @@ static struct platform_driver ath79_gpio
  	.remove = ath79_gpio_remove,
  };
diff --git a/target/linux/ath79/patches-4.14/405-mtd-tp-link-partition-parser.patch b/target/linux/ath79/patches-4.14/405-mtd-tp-link-partition-parser.patch
index 3734d3e5c55a..846b7f0a0ccc 100644
--- a/target/linux/ath79/patches-4.14/405-mtd-tp-link-partition-parser.patch
+++ b/target/linux/ath79/patches-4.14/405-mtd-tp-link-partition-parser.patch
@@ -1,7 +1,5 @@ 
-Index: linux-4.14.18/drivers/mtd/Kconfig
-===================================================================
---- linux-4.14.18.orig/drivers/mtd/Kconfig
-+++ linux-4.14.18/drivers/mtd/Kconfig
+--- a/drivers/mtd/Kconfig
++++ b/drivers/mtd/Kconfig
 @@ -194,6 +194,12 @@ config MTD_MYLOADER_PARTS
  	  You will still need the parsing functions to be called by the driver
  	  for your particular device. It won't happen automatically.
@@ -15,10 +13,8 @@  Index: linux-4.14.18/drivers/mtd/Kconfig
  comment "User Modules And Translation Layers"
  
  #
-Index: linux-4.14.18/drivers/mtd/Makefile
-===================================================================
---- linux-4.14.18.orig/drivers/mtd/Makefile
-+++ linux-4.14.18/drivers/mtd/Makefile
+--- a/drivers/mtd/Makefile
++++ b/drivers/mtd/Makefile
 @@ -18,6 +18,7 @@ obj-$(CONFIG_MTD_BCM63XX_PARTS)	+= bcm63
  obj-$(CONFIG_MTD_BCM47XX_PARTS)	+= bcm47xxpart.o
  obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o
diff --git a/target/linux/ath79/patches-4.14/420-net-ar71xx_mac_driver.patch b/target/linux/ath79/patches-4.14/420-net-ar71xx_mac_driver.patch
index feb2e6a39387..6377db0ac22b 100644
--- a/target/linux/ath79/patches-4.14/420-net-ar71xx_mac_driver.patch
+++ b/target/linux/ath79/patches-4.14/420-net-ar71xx_mac_driver.patch
@@ -18,7 +18,7 @@ 
  endif # NET_VENDOR_ATHEROS
 --- a/drivers/net/ethernet/atheros/Makefile
 +++ b/drivers/net/ethernet/atheros/Makefile
-@@ -2,6 +2,7 @@
+@@ -3,6 +3,7 @@
  # Makefile for the Atheros network device drivers.
  #
  
diff --git a/target/linux/ath79/patches-4.14/430-drivers-link-spi-before-mtd.patch b/target/linux/ath79/patches-4.14/430-drivers-link-spi-before-mtd.patch
index a86245459787..2f1549710bc9 100644
--- a/target/linux/ath79/patches-4.14/430-drivers-link-spi-before-mtd.patch
+++ b/target/linux/ath79/patches-4.14/430-drivers-link-spi-before-mtd.patch
@@ -1,6 +1,6 @@ 
 --- a/drivers/Makefile
 +++ b/drivers/Makefile
-@@ -77,8 +77,8 @@ obj-$(CONFIG_SCSI)		+= scsi/
+@@ -83,8 +83,8 @@ obj-$(CONFIG_SCSI)		+= scsi/
  obj-y				+= nvme/
  obj-$(CONFIG_ATA)		+= ata/
  obj-$(CONFIG_TARGET_CORE)	+= target/
diff --git a/target/linux/ath79/patches-4.14/461-spi-ath79-add-fast-flash-read.patch b/target/linux/ath79/patches-4.14/461-spi-ath79-add-fast-flash-read.patch
index 5c3583f758bb..06da2b34e889 100644
--- a/target/linux/ath79/patches-4.14/461-spi-ath79-add-fast-flash-read.patch
+++ b/target/linux/ath79/patches-4.14/461-spi-ath79-add-fast-flash-read.patch
@@ -10,7 +10,7 @@ 
  }
  
  static void ath79_spi_disable(struct ath79_spi *sp)
-@@ -205,6 +202,38 @@ static u32 ath79_spi_txrx_mode0(struct s
+@@ -204,6 +201,38 @@ static u32 ath79_spi_txrx_mode0(struct s
  	return ath79_spi_rr(sp, AR71XX_SPI_REG_RDS);
  }
  
@@ -49,9 +49,9 @@ 
  static int ath79_spi_probe(struct platform_device *pdev)
  {
  	struct spi_master *master;
-@@ -234,6 +263,8 @@ static int ath79_spi_probe(struct platfo
+@@ -232,6 +261,8 @@ static int ath79_spi_probe(struct platfo
+ 		master->bus_num = pdata->bus_num;
  		master->num_chipselect = pdata->num_chipselect;
- 		master->cs_gpios = pdata->cs_gpios;
  	}
 +	master->spi_flash_read = ath79_spi_read_flash_data;
 +	master->flash_read_supported = ath79_spi_flash_read_supported;
diff --git a/target/linux/ath79/patches-4.14/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch b/target/linux/ath79/patches-4.14/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch
index c0d30eaefa98..ad8b7b47d110 100644
--- a/target/linux/ath79/patches-4.14/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch
+++ b/target/linux/ath79/patches-4.14/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch
@@ -1,7 +1,5 @@ 
-Index: linux-4.14.18/arch/mips/include/asm/mach-ath79/mangle-port.h
-===================================================================
 --- /dev/null
-+++ linux-4.14.18/arch/mips/include/asm/mach-ath79/mangle-port.h
++++ b/arch/mips/include/asm/mach-ath79/mangle-port.h
 @@ -0,0 +1,37 @@
 +/*
 + *  Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
@@ -40,10 +38,8 @@  Index: linux-4.14.18/arch/mips/include/asm/mach-ath79/mangle-port.h
 +# define __mem_ioswabq(a, x)     cpu_to_le64(x)
 +
 +#endif /* __ASM_MACH_ATH79_MANGLE_PORT_H */
-Index: linux-4.14.18/arch/mips/pci/pci-ar71xx.c
-===================================================================
---- linux-4.14.18.orig/arch/mips/pci/pci-ar71xx.c
-+++ linux-4.14.18/arch/mips/pci/pci-ar71xx.c
+--- a/arch/mips/pci/pci-ar71xx.c
++++ b/arch/mips/pci/pci-ar71xx.c
 @@ -73,6 +73,45 @@ static const u32 ar71xx_pci_read_mask[8]
  	0, 0xff, 0xffff, 0, 0xffffffff, 0, 0, 0
  };
diff --git a/target/linux/ath79/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch b/target/linux/ath79/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch
index 8a05adb05060..1d1979cd6eb8 100644
--- a/target/linux/ath79/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch
+++ b/target/linux/ath79/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch
@@ -40,7 +40,7 @@ 
  	retval = ehci_handshake(ehci, &ehci->regs->command,
 --- a/drivers/usb/host/ehci.h
 +++ b/drivers/usb/host/ehci.h
-@@ -231,6 +231,10 @@ struct ehci_hcd {			/* one per controlle
+@@ -232,6 +232,10 @@ struct ehci_hcd {			/* one per controlle
  	unsigned		need_oc_pp_cycle:1; /* MPC834X port power */
  	unsigned		imx28_write_fix:1; /* For Freescale i.MX28 */
  	unsigned		ignore_oc:1;
@@ -72,7 +72,7 @@ 
  #endif /* __USB_CORE_EHCI_PDRIVER_H */
 --- a/drivers/usb/host/ehci-platform.c
 +++ b/drivers/usb/host/ehci-platform.c
-@@ -52,6 +52,14 @@ struct ehci_platform_priv {
+@@ -53,6 +53,14 @@ struct ehci_platform_priv {
  
  static const char hcd_name[] = "ehci-platform";
  
@@ -87,7 +87,7 @@ 
  static int ehci_platform_reset(struct usb_hcd *hcd)
  {
  	struct platform_device *pdev = to_platform_device(hcd->self.controller);
-@@ -261,6 +269,13 @@ static int ehci_platform_probe(struct pl
+@@ -270,6 +278,13 @@ static int ehci_platform_probe(struct pl
  		priv->reset_on_resume = true;
  	if (pdata->ignore_oc)
  		ehci->ignore_oc = 1;
diff --git a/target/linux/ath79/patches-4.14/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch b/target/linux/ath79/patches-4.14/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch
index 6151cc292a97..a830346a31ef 100644
--- a/target/linux/ath79/patches-4.14/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch
+++ b/target/linux/ath79/patches-4.14/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch
@@ -12,10 +12,8 @@  Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  drivers/net/phy/mdio-bitbang.c | 9 +++++++++
  1 file changed, 9 insertions(+)
 
-Index: linux-4.14.18/drivers/net/phy/mdio-bitbang.c
-===================================================================
---- linux-4.14.18.orig/drivers/net/phy/mdio-bitbang.c
-+++ linux-4.14.18/drivers/net/phy/mdio-bitbang.c
+--- a/drivers/net/phy/mdio-bitbang.c
++++ b/drivers/net/phy/mdio-bitbang.c
 @@ -17,6 +17,7 @@
   * kind, whether express or implied.
   */
diff --git a/target/linux/ath79/patches-4.14/902-at803x-add-reset-gpio-pdata.patch b/target/linux/ath79/patches-4.14/902-at803x-add-reset-gpio-pdata.patch
index cb3ed89e985c..7822158cf29a 100644
--- a/target/linux/ath79/patches-4.14/902-at803x-add-reset-gpio-pdata.patch
+++ b/target/linux/ath79/patches-4.14/902-at803x-add-reset-gpio-pdata.patch
@@ -16,7 +16,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #endif /* _PHY_AT803X_PDATA_H */
 --- a/drivers/net/phy/at803x.c
 +++ b/drivers/net/phy/at803x.c
-@@ -264,6 +264,7 @@ static int at803x_resume(struct phy_devi
+@@ -261,6 +261,7 @@ static int at803x_resume(struct phy_devi
  
  static int at803x_probe(struct phy_device *phydev)
  {
@@ -24,7 +24,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	struct device *dev = &phydev->mdio.dev;
  	struct at803x_priv *priv;
  	struct gpio_desc *gpiod_reset;
-@@ -276,6 +277,12 @@ static int at803x_probe(struct phy_devic
+@@ -273,6 +274,12 @@ static int at803x_probe(struct phy_devic
  	    phydev->drv->phy_id != ATH8032_PHY_ID)
  		goto does_not_require_reset_workaround;
  
@@ -37,7 +37,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	gpiod_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
  	if (IS_ERR(gpiod_reset))
  		return PTR_ERR(gpiod_reset);
-@@ -407,15 +414,23 @@ static void at803x_link_change_notify(st
+@@ -404,15 +411,23 @@ static void at803x_link_change_notify(st
  	 * cannot recover from by software.
  	 */
  	if (phydev->state == PHY_NOLINK) {
diff --git a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch
index 1ac28e67c278..e2ca932af04a 100644
--- a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch
+++ b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch
@@ -1,7 +1,5 @@ 
-Index: linux-4.14.18/arch/mips/include/asm/checksum.h
-===================================================================
---- linux-4.14.18.orig/arch/mips/include/asm/checksum.h
-+++ linux-4.14.18/arch/mips/include/asm/checksum.h
+--- a/arch/mips/include/asm/checksum.h
++++ b/arch/mips/include/asm/checksum.h
 @@ -134,26 +134,30 @@ static inline __sum16 ip_fast_csum(const
  	const unsigned int *stop = word + ihl;
  	unsigned int csum;
@@ -118,10 +116,8 @@  Index: linux-4.14.18/arch/mips/include/asm/checksum.h
  #include <asm-generic/checksum.h>
  #endif /* CONFIG_GENERIC_CSUM */
  
-Index: linux-4.14.18/include/uapi/linux/ip.h
-===================================================================
---- linux-4.14.18.orig/include/uapi/linux/ip.h
-+++ linux-4.14.18/include/uapi/linux/ip.h
+--- a/include/uapi/linux/ip.h
++++ b/include/uapi/linux/ip.h
 @@ -103,7 +103,7 @@ struct iphdr {
  	__be32	saddr;
  	__be32	daddr;
@@ -131,10 +127,8 @@  Index: linux-4.14.18/include/uapi/linux/ip.h
  
  
  struct ip_auth_hdr {
-Index: linux-4.14.18/include/uapi/linux/ipv6.h
-===================================================================
---- linux-4.14.18.orig/include/uapi/linux/ipv6.h
-+++ linux-4.14.18/include/uapi/linux/ipv6.h
+--- a/include/uapi/linux/ipv6.h
++++ b/include/uapi/linux/ipv6.h
 @@ -131,7 +131,7 @@ struct ipv6hdr {
  
  	struct	in6_addr	saddr;
@@ -144,10 +138,8 @@  Index: linux-4.14.18/include/uapi/linux/ipv6.h
  
  
  /* index values for the variables in ipv6_devconf */
-Index: linux-4.14.18/include/uapi/linux/tcp.h
-===================================================================
---- linux-4.14.18.orig/include/uapi/linux/tcp.h
-+++ linux-4.14.18/include/uapi/linux/tcp.h
+--- a/include/uapi/linux/tcp.h
++++ b/include/uapi/linux/tcp.h
 @@ -55,7 +55,7 @@ struct tcphdr {
  	__be16	window;
  	__sum16	check;
@@ -166,10 +158,8 @@  Index: linux-4.14.18/include/uapi/linux/tcp.h
  
  #define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3]) 
  
-Index: linux-4.14.18/include/uapi/linux/udp.h
-===================================================================
---- linux-4.14.18.orig/include/uapi/linux/udp.h
-+++ linux-4.14.18/include/uapi/linux/udp.h
+--- a/include/uapi/linux/udp.h
++++ b/include/uapi/linux/udp.h
 @@ -25,7 +25,7 @@ struct udphdr {
  	__be16	dest;
  	__be16	len;
@@ -179,10 +169,8 @@  Index: linux-4.14.18/include/uapi/linux/udp.h
  
  /* UDP socket options */
  #define UDP_CORK	1	/* Never send partially complete segments */
-Index: linux-4.14.18/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
-===================================================================
---- linux-4.14.18.orig/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
-+++ linux-4.14.18/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
+--- a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
++++ b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
 @@ -48,8 +48,8 @@ static bool ipv4_pkt_to_tuple(const stru
  	if (ap == NULL)
  		return false;
@@ -194,10 +182,8 @@  Index: linux-4.14.18/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
  
  	return true;
  }
-Index: linux-4.14.18/include/uapi/linux/icmp.h
-===================================================================
---- linux-4.14.18.orig/include/uapi/linux/icmp.h
-+++ linux-4.14.18/include/uapi/linux/icmp.h
+--- a/include/uapi/linux/icmp.h
++++ b/include/uapi/linux/icmp.h
 @@ -82,7 +82,7 @@ struct icmphdr {
  	} frag;
  	__u8	reserved[4];
@@ -207,10 +193,8 @@  Index: linux-4.14.18/include/uapi/linux/icmp.h
  
  
  /*
-Index: linux-4.14.18/include/uapi/linux/in6.h
-===================================================================
---- linux-4.14.18.orig/include/uapi/linux/in6.h
-+++ linux-4.14.18/include/uapi/linux/in6.h
+--- a/include/uapi/linux/in6.h
++++ b/include/uapi/linux/in6.h
 @@ -43,7 +43,7 @@ struct in6_addr {
  #define s6_addr16		in6_u.u6_addr16
  #define s6_addr32		in6_u.u6_addr32
@@ -220,10 +204,8 @@  Index: linux-4.14.18/include/uapi/linux/in6.h
  #endif /* __UAPI_DEF_IN6_ADDR */
  
  #if __UAPI_DEF_SOCKADDR_IN6
-Index: linux-4.14.18/net/ipv6/tcp_ipv6.c
-===================================================================
---- linux-4.14.18.orig/net/ipv6/tcp_ipv6.c
-+++ linux-4.14.18/net/ipv6/tcp_ipv6.c
+--- a/net/ipv6/tcp_ipv6.c
++++ b/net/ipv6/tcp_ipv6.c
 @@ -39,6 +39,7 @@
  #include <linux/ipsec.h>
  #include <linux/times.h>
@@ -247,10 +229,8 @@  Index: linux-4.14.18/net/ipv6/tcp_ipv6.c
  	}
  
  #ifdef CONFIG_TCP_MD5SIG
-Index: linux-4.14.18/include/linux/ipv6.h
-===================================================================
---- linux-4.14.18.orig/include/linux/ipv6.h
-+++ linux-4.14.18/include/linux/ipv6.h
+--- a/include/linux/ipv6.h
++++ b/include/linux/ipv6.h
 @@ -6,6 +6,7 @@
  
  #define ipv6_optlen(p)  (((p)->hdrlen+1) << 3)
@@ -259,11 +239,9 @@  Index: linux-4.14.18/include/linux/ipv6.h
  /*
   * This structure contains configuration options per IPv6 link.
   */
-Index: linux-4.14.18/net/ipv6/datagram.c
-===================================================================
---- linux-4.14.18.orig/net/ipv6/datagram.c
-+++ linux-4.14.18/net/ipv6/datagram.c
-@@ -478,7 +478,7 @@ int ipv6_recv_error(struct sock *sk, str
+--- a/net/ipv6/datagram.c
++++ b/net/ipv6/datagram.c
+@@ -485,7 +485,7 @@ int ipv6_recv_error(struct sock *sk, str
  				ipv6_iface_scope_id(&sin->sin6_addr,
  						    IP6CB(skb)->iif);
  		} else {
@@ -272,7 +250,7 @@  Index: linux-4.14.18/net/ipv6/datagram.c
  					       &sin->sin6_addr);
  			sin->sin6_scope_id = 0;
  		}
-@@ -826,12 +826,12 @@ int ip6_datagram_send_ctl(struct net *ne
+@@ -833,12 +833,12 @@ int ip6_datagram_send_ctl(struct net *ne
  			}
  
  			if (fl6->flowlabel&IPV6_FLOWINFO_MASK) {
@@ -287,11 +265,9 @@  Index: linux-4.14.18/net/ipv6/datagram.c
  			break;
  
  		case IPV6_2292HOPOPTS:
-Index: linux-4.14.18/net/ipv6/ip6_gre.c
-===================================================================
---- linux-4.14.18.orig/net/ipv6/ip6_gre.c
-+++ linux-4.14.18/net/ipv6/ip6_gre.c
-@@ -395,7 +395,7 @@ static void ip6gre_err(struct sk_buff *s
+--- a/net/ipv6/ip6_gre.c
++++ b/net/ipv6/ip6_gre.c
+@@ -397,7 +397,7 @@ static void ip6gre_err(struct sk_buff *s
  		return;
  	ipv6h = (const struct ipv6hdr *)skb->data;
  	greh = (const struct gre_base_hdr *)(skb->data + offset);
@@ -300,10 +276,8 @@  Index: linux-4.14.18/net/ipv6/ip6_gre.c
  
  	t = ip6gre_tunnel_lookup(skb->dev, &ipv6h->daddr, &ipv6h->saddr,
  				 key, greh->protocol);
-Index: linux-4.14.18/net/ipv6/exthdrs.c
-===================================================================
---- linux-4.14.18.orig/net/ipv6/exthdrs.c
-+++ linux-4.14.18/net/ipv6/exthdrs.c
+--- a/net/ipv6/exthdrs.c
++++ b/net/ipv6/exthdrs.c
 @@ -733,7 +733,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
  		goto drop;
  	}
@@ -313,10 +287,8 @@  Index: linux-4.14.18/net/ipv6/exthdrs.c
  	if (pkt_len <= IPV6_MAXPLEN) {
  		__IP6_INC_STATS(net, ipv6_skb_idev(skb),
  				IPSTATS_MIB_INHDRERRORS);
-Index: linux-4.14.18/include/linux/types.h
-===================================================================
---- linux-4.14.18.orig/include/linux/types.h
-+++ linux-4.14.18/include/linux/types.h
+--- a/include/linux/types.h
++++ b/include/linux/types.h
 @@ -229,5 +229,11 @@ struct callback_head {
  typedef void (*rcu_callback_t)(struct rcu_head *head);
  typedef void (*call_rcu_func_t)(struct rcu_head *head, rcu_callback_t func);
@@ -329,10 +301,8 @@  Index: linux-4.14.18/include/linux/types.h
 +
  #endif /*  __ASSEMBLY__ */
  #endif /* _LINUX_TYPES_H */
-Index: linux-4.14.18/net/ipv4/af_inet.c
-===================================================================
---- linux-4.14.18.orig/net/ipv4/af_inet.c
-+++ linux-4.14.18/net/ipv4/af_inet.c
+--- a/net/ipv4/af_inet.c
++++ b/net/ipv4/af_inet.c
 @@ -1351,8 +1351,8 @@ struct sk_buff **inet_gro_receive(struct
  	if (unlikely(ip_fast_csum((u8 *)iph, 5)))
  		goto out_unlock;
@@ -344,11 +314,9 @@  Index: linux-4.14.18/net/ipv4/af_inet.c
  	id >>= 16;
  
  	for (p = *head; p; p = p->next) {
-Index: linux-4.14.18/net/ipv4/route.c
-===================================================================
---- linux-4.14.18.orig/net/ipv4/route.c
-+++ linux-4.14.18/net/ipv4/route.c
-@@ -462,7 +462,7 @@ static struct neighbour *ipv4_neigh_look
+--- a/net/ipv4/route.c
++++ b/net/ipv4/route.c
+@@ -465,7 +465,7 @@ static struct neighbour *ipv4_neigh_look
  	else if (skb)
  		pkey = &ip_hdr(skb)->daddr;
  
@@ -357,10 +325,8 @@  Index: linux-4.14.18/net/ipv4/route.c
  	if (n)
  		return n;
  	return neigh_create(&arp_tbl, pkey, dev);
-Index: linux-4.14.18/net/ipv4/tcp_output.c
-===================================================================
---- linux-4.14.18.orig/net/ipv4/tcp_output.c
-+++ linux-4.14.18/net/ipv4/tcp_output.c
+--- a/net/ipv4/tcp_output.c
++++ b/net/ipv4/tcp_output.c
 @@ -449,48 +449,53 @@ static void tcp_options_write(__be32 *pt
  	u16 options = opts->options;	/* mungable copy */
  
@@ -480,10 +446,8 @@  Index: linux-4.14.18/net/ipv4/tcp_output.c
  		}
  
  		memcpy(p, foc->val, foc->len);
-Index: linux-4.14.18/include/uapi/linux/igmp.h
-===================================================================
---- linux-4.14.18.orig/include/uapi/linux/igmp.h
-+++ linux-4.14.18/include/uapi/linux/igmp.h
+--- a/include/uapi/linux/igmp.h
++++ b/include/uapi/linux/igmp.h
 @@ -33,7 +33,7 @@ struct igmphdr {
  	__u8 code;		/* For newer IGMP */
  	__sum16 csum;
@@ -520,10 +484,8 @@  Index: linux-4.14.18/include/uapi/linux/igmp.h
  
  #define IGMP_HOST_MEMBERSHIP_QUERY	0x11	/* From RFC1112 */
  #define IGMP_HOST_MEMBERSHIP_REPORT	0x12	/* Ditto */
-Index: linux-4.14.18/net/core/flow_dissector.c
-===================================================================
---- linux-4.14.18.orig/net/core/flow_dissector.c
-+++ linux-4.14.18/net/core/flow_dissector.c
+--- a/net/core/flow_dissector.c
++++ b/net/core/flow_dissector.c
 @@ -108,7 +108,7 @@ __be32 __skb_flow_get_ports(const struct
  		ports = __skb_header_pointer(skb, thoff + poff,
  					     sizeof(_ports), data, hlen, &_ports);
@@ -533,10 +495,8 @@  Index: linux-4.14.18/net/core/flow_dissector.c
  	}
  
  	return 0;
-Index: linux-4.14.18/include/uapi/linux/icmpv6.h
-===================================================================
---- linux-4.14.18.orig/include/uapi/linux/icmpv6.h
-+++ linux-4.14.18/include/uapi/linux/icmpv6.h
+--- a/include/uapi/linux/icmpv6.h
++++ b/include/uapi/linux/icmpv6.h
 @@ -77,7 +77,7 @@ struct icmp6hdr {
  #define icmp6_addrconf_other	icmp6_dataun.u_nd_ra.other
  #define icmp6_rt_lifetime	icmp6_dataun.u_nd_ra.rt_lifetime
@@ -546,10 +506,8 @@  Index: linux-4.14.18/include/uapi/linux/icmpv6.h
  
  
  #define ICMPV6_ROUTER_PREF_LOW		0x3
-Index: linux-4.14.18/include/net/ndisc.h
-===================================================================
---- linux-4.14.18.orig/include/net/ndisc.h
-+++ linux-4.14.18/include/net/ndisc.h
+--- a/include/net/ndisc.h
++++ b/include/net/ndisc.h
 @@ -89,7 +89,7 @@ struct ra_msg {
          struct icmp6hdr		icmph;
  	__be32			reachable_time;
@@ -574,10 +532,8 @@  Index: linux-4.14.18/include/net/ndisc.h
  }
  
  static inline struct neighbour *__ipv6_neigh_lookup_noref(struct net_device *dev, const void *pkey)
-Index: linux-4.14.18/net/sched/cls_u32.c
-===================================================================
---- linux-4.14.18.orig/net/sched/cls_u32.c
-+++ linux-4.14.18/net/sched/cls_u32.c
+--- a/net/sched/cls_u32.c
++++ b/net/sched/cls_u32.c
 @@ -165,7 +165,7 @@ next_knode:
  			data = skb_header_pointer(skb, toff, 4, &hdata);
  			if (!data)
@@ -598,10 +554,8 @@  Index: linux-4.14.18/net/sched/cls_u32.c
  		}
  		if (!(n->sel.flags & (TC_U32_VAROFFSET | TC_U32_OFFSET | TC_U32_EAT)))
  			goto next_ht;
-Index: linux-4.14.18/net/ipv6/ip6_offload.c
-===================================================================
---- linux-4.14.18.orig/net/ipv6/ip6_offload.c
-+++ linux-4.14.18/net/ipv6/ip6_offload.c
+--- a/net/ipv6/ip6_offload.c
++++ b/net/ipv6/ip6_offload.c
 @@ -220,7 +220,7 @@ static struct sk_buff **ipv6_gro_receive
  			continue;
  
@@ -611,10 +565,8 @@  Index: linux-4.14.18/net/ipv6/ip6_offload.c
  
  		/* All fields must match except length and Traffic Class.
  		 * XXX skbs on the gro_list have all been parsed and pulled
-Index: linux-4.14.18/include/net/addrconf.h
-===================================================================
---- linux-4.14.18.orig/include/net/addrconf.h
-+++ linux-4.14.18/include/net/addrconf.h
+--- a/include/net/addrconf.h
++++ b/include/net/addrconf.h
 @@ -47,7 +47,7 @@ struct prefix_info {
  	__be32			reserved2;
  
@@ -624,10 +576,8 @@  Index: linux-4.14.18/include/net/addrconf.h
  
  #include <linux/netdevice.h>
  #include <net/if_inet6.h>
-Index: linux-4.14.18/include/net/inet_ecn.h
-===================================================================
---- linux-4.14.18.orig/include/net/inet_ecn.h
-+++ linux-4.14.18/include/net/inet_ecn.h
+--- a/include/net/inet_ecn.h
++++ b/include/net/inet_ecn.h
 @@ -125,9 +125,9 @@ static inline int IP6_ECN_set_ce(struct
  	if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
  		return 0;
@@ -649,10 +599,8 @@  Index: linux-4.14.18/include/net/inet_ecn.h
  }
  
  static inline void ipv6_copy_dscp(unsigned int dscp, struct ipv6hdr *inner)
-Index: linux-4.14.18/include/net/ipv6.h
-===================================================================
---- linux-4.14.18.orig/include/net/ipv6.h
-+++ linux-4.14.18/include/net/ipv6.h
+--- a/include/net/ipv6.h
++++ b/include/net/ipv6.h
 @@ -108,7 +108,7 @@ struct frag_hdr {
  	__u8	reserved;
  	__be16	frag_off;
@@ -731,10 +679,8 @@  Index: linux-4.14.18/include/net/ipv6.h
  }
  
  static inline u8 ip6_tclass(__be32 flowinfo)
-Index: linux-4.14.18/include/net/secure_seq.h
-===================================================================
---- linux-4.14.18.orig/include/net/secure_seq.h
-+++ linux-4.14.18/include/net/secure_seq.h
+--- a/include/net/secure_seq.h
++++ b/include/net/secure_seq.h
 @@ -3,6 +3,7 @@
  #define _NET_SECURE_SEQ
  
@@ -743,10 +689,8 @@  Index: linux-4.14.18/include/net/secure_seq.h
  
  u32 secure_ipv4_port_ephemeral(__be32 saddr, __be32 daddr, __be16 dport);
  u32 secure_ipv6_port_ephemeral(const __be32 *saddr, const __be32 *daddr,
-Index: linux-4.14.18/include/uapi/linux/in.h
-===================================================================
---- linux-4.14.18.orig/include/uapi/linux/in.h
-+++ linux-4.14.18/include/uapi/linux/in.h
+--- a/include/uapi/linux/in.h
++++ b/include/uapi/linux/in.h
 @@ -84,7 +84,7 @@ enum {
  /* Internet address. */
  struct in_addr {
@@ -756,10 +700,8 @@  Index: linux-4.14.18/include/uapi/linux/in.h
  #endif
  
  #define IP_TOS		1
-Index: linux-4.14.18/net/ipv6/ip6_fib.c
-===================================================================
---- linux-4.14.18.orig/net/ipv6/ip6_fib.c
-+++ linux-4.14.18/net/ipv6/ip6_fib.c
+--- a/net/ipv6/ip6_fib.c
++++ b/net/ipv6/ip6_fib.c
 @@ -137,7 +137,7 @@ static __be32 addr_bit_set(const void *t
  	 * See include/asm-generic/bitops/le.h.
  	 */
@@ -769,11 +711,9 @@  Index: linux-4.14.18/net/ipv6/ip6_fib.c
  }
  
  static struct fib6_node *node_alloc(void)
-Index: linux-4.14.18/net/netfilter/nf_conntrack_proto_tcp.c
-===================================================================
---- linux-4.14.18.orig/net/netfilter/nf_conntrack_proto_tcp.c
-+++ linux-4.14.18/net/netfilter/nf_conntrack_proto_tcp.c
-@@ -444,7 +444,7 @@ static void tcp_sack(const struct sk_buf
+--- a/net/netfilter/nf_conntrack_proto_tcp.c
++++ b/net/netfilter/nf_conntrack_proto_tcp.c
+@@ -447,7 +447,7 @@ static void tcp_sack(const struct sk_buf
  
  	/* Fast path for timestamp-only option */
  	if (length == TCPOLEN_TSTAMP_ALIGNED
@@ -782,11 +722,9 @@  Index: linux-4.14.18/net/netfilter/nf_conntrack_proto_tcp.c
  				       | (TCPOPT_NOP << 16)
  				       | (TCPOPT_TIMESTAMP << 8)
  				       | TCPOLEN_TIMESTAMP))
-Index: linux-4.14.18/net/xfrm/xfrm_input.c
-===================================================================
---- linux-4.14.18.orig/net/xfrm/xfrm_input.c
-+++ linux-4.14.18/net/xfrm/xfrm_input.c
-@@ -171,8 +171,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
+--- a/net/xfrm/xfrm_input.c
++++ b/net/xfrm/xfrm_input.c
+@@ -187,8 +187,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
  	if (!pskb_may_pull(skb, hlen))
  		return -EINVAL;
  
@@ -797,11 +735,9 @@  Index: linux-4.14.18/net/xfrm/xfrm_input.c
  	return 0;
  }
  EXPORT_SYMBOL(xfrm_parse_spi);
-Index: linux-4.14.18/net/ipv4/tcp_input.c
-===================================================================
---- linux-4.14.18.orig/net/ipv4/tcp_input.c
-+++ linux-4.14.18/net/ipv4/tcp_input.c
-@@ -3851,14 +3851,16 @@ static bool tcp_parse_aligned_timestamp(
+--- a/net/ipv4/tcp_input.c
++++ b/net/ipv4/tcp_input.c
+@@ -3842,14 +3842,16 @@ static bool tcp_parse_aligned_timestamp(
  {
  	const __be32 *ptr = (const __be32 *)(th + 1);
  
@@ -823,10 +759,8 @@  Index: linux-4.14.18/net/ipv4/tcp_input.c
  		else
  			tp->rx_opt.rcv_tsecr = 0;
  		return true;
-Index: linux-4.14.18/include/uapi/linux/if_pppox.h
-===================================================================
---- linux-4.14.18.orig/include/uapi/linux/if_pppox.h
-+++ linux-4.14.18/include/uapi/linux/if_pppox.h
+--- a/include/uapi/linux/if_pppox.h
++++ b/include/uapi/linux/if_pppox.h
 @@ -51,6 +51,7 @@ struct pppoe_addr {
   */
  struct pptp_addr {
@@ -835,10 +769,8 @@  Index: linux-4.14.18/include/uapi/linux/if_pppox.h
  	struct in_addr	sin_addr;
  };
  
-Index: linux-4.14.18/net/ipv6/netfilter/nf_log_ipv6.c
-===================================================================
---- linux-4.14.18.orig/net/ipv6/netfilter/nf_log_ipv6.c
-+++ linux-4.14.18/net/ipv6/netfilter/nf_log_ipv6.c
+--- a/net/ipv6/netfilter/nf_log_ipv6.c
++++ b/net/ipv6/netfilter/nf_log_ipv6.c
 @@ -66,9 +66,9 @@ static void dump_ipv6_packet(struct nf_l
  	/* Max length: 44 "LEN=65535 TC=255 HOPLIMIT=255 FLOWLBL=FFFFF " */
  	nf_log_buf_add(m, "LEN=%zu TC=%u HOPLIMIT=%u FLOWLBL=%u ",
@@ -851,10 +783,8 @@  Index: linux-4.14.18/net/ipv6/netfilter/nf_log_ipv6.c
  
  	fragment = 0;
  	ptr = ip6hoff + sizeof(struct ipv6hdr);
-Index: linux-4.14.18/include/net/neighbour.h
-===================================================================
---- linux-4.14.18.orig/include/net/neighbour.h
-+++ linux-4.14.18/include/net/neighbour.h
+--- a/include/net/neighbour.h
++++ b/include/net/neighbour.h
 @@ -265,8 +265,10 @@ static inline bool neigh_key_eq128(const
  	const u32 *n32 = (const u32 *)n->primary_key;
  	const u32 *p32 = pkey;
@@ -868,10 +798,8 @@  Index: linux-4.14.18/include/net/neighbour.h
  }
  
  static inline struct neighbour *___neigh_lookup_noref(
-Index: linux-4.14.18/include/uapi/linux/netfilter_arp/arp_tables.h
-===================================================================
---- linux-4.14.18.orig/include/uapi/linux/netfilter_arp/arp_tables.h
-+++ linux-4.14.18/include/uapi/linux/netfilter_arp/arp_tables.h
+--- a/include/uapi/linux/netfilter_arp/arp_tables.h
++++ b/include/uapi/linux/netfilter_arp/arp_tables.h
 @@ -70,7 +70,7 @@ struct arpt_arp {
  	__u8 flags;
  	/* Inverse flags */
@@ -881,10 +809,8 @@  Index: linux-4.14.18/include/uapi/linux/netfilter_arp/arp_tables.h
  
  /* Values for "flag" field in struct arpt_ip (general arp structure).
   * No flags defined yet.
-Index: linux-4.14.18/net/core/utils.c
-===================================================================
---- linux-4.14.18.orig/net/core/utils.c
-+++ linux-4.14.18/net/core/utils.c
+--- a/net/core/utils.c
++++ b/net/core/utils.c
 @@ -424,8 +424,14 @@ void inet_proto_csum_replace16(__sum16 *
  			       bool pseudohdr)
  {
@@ -902,10 +828,8 @@  Index: linux-4.14.18/net/core/utils.c
  	};
  	if (skb->ip_summed != CHECKSUM_PARTIAL) {
  		*sum = csum_fold(csum_partial(diff, sizeof(diff),
-Index: linux-4.14.18/include/linux/etherdevice.h
-===================================================================
---- linux-4.14.18.orig/include/linux/etherdevice.h
-+++ linux-4.14.18/include/linux/etherdevice.h
+--- a/include/linux/etherdevice.h
++++ b/include/linux/etherdevice.h
 @@ -480,7 +480,7 @@ static inline bool is_etherdev_addr(cons
   * @b: Pointer to Ethernet header
   *
@@ -932,10 +856,8 @@  Index: linux-4.14.18/include/linux/etherdevice.h
  #endif
  }
  
-Index: linux-4.14.18/net/ipv4/tcp_offload.c
-===================================================================
---- linux-4.14.18.orig/net/ipv4/tcp_offload.c
-+++ linux-4.14.18/net/ipv4/tcp_offload.c
+--- a/net/ipv4/tcp_offload.c
++++ b/net/ipv4/tcp_offload.c
 @@ -226,7 +226,7 @@ struct sk_buff **tcp_gro_receive(struct
  
  		th2 = tcp_hdr(p);
@@ -956,11 +878,9 @@  Index: linux-4.14.18/net/ipv4/tcp_offload.c
  
  	/* When we receive our second frame we can made a decision on if we
  	 * continue this flow as an atomic flow with a fixed ID or if we use
-Index: linux-4.14.18/net/ipv6/netfilter/ip6table_mangle.c
-===================================================================
---- linux-4.14.18.orig/net/ipv6/netfilter/ip6table_mangle.c
-+++ linux-4.14.18/net/ipv6/netfilter/ip6table_mangle.c
-@@ -58,7 +58,7 @@ ip6t_mangle_out(struct sk_buff *skb, con
+--- a/net/ipv6/netfilter/ip6table_mangle.c
++++ b/net/ipv6/netfilter/ip6table_mangle.c
+@@ -50,7 +50,7 @@ ip6t_mangle_out(struct sk_buff *skb, con
  	hop_limit = ipv6_hdr(skb)->hop_limit;
  
  	/* flowlabel and prio (includes version, which shouldn't change either */
@@ -969,7 +889,7 @@  Index: linux-4.14.18/net/ipv6/netfilter/ip6table_mangle.c
  
  	ret = ip6t_do_table(skb, state, state->net->ipv6.ip6table_mangle);
  
-@@ -67,7 +67,7 @@ ip6t_mangle_out(struct sk_buff *skb, con
+@@ -59,7 +59,7 @@ ip6t_mangle_out(struct sk_buff *skb, con
  	     !ipv6_addr_equal(&ipv6_hdr(skb)->daddr, &daddr) ||
  	     skb->mark != mark ||
  	     ipv6_hdr(skb)->hop_limit != hop_limit ||
diff --git a/target/linux/bcm53xx/patches-4.14/910-Revert-earlycon-initialise-baud-field-of-earlycon-de.patch b/target/linux/bcm53xx/patches-4.14/910-Revert-earlycon-initialise-baud-field-of-earlycon-de.patch
index 025781a862c0..c00cae2df397 100644
--- a/target/linux/bcm53xx/patches-4.14/910-Revert-earlycon-initialise-baud-field-of-earlycon-de.patch
+++ b/target/linux/bcm53xx/patches-4.14/910-Revert-earlycon-initialise-baud-field-of-earlycon-de.patch
@@ -18,7 +18,7 @@  Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
 
 --- a/drivers/tty/serial/earlycon.c
 +++ b/drivers/tty/serial/earlycon.c
-@@ -283,12 +283,7 @@ int __init of_setup_earlycon(const struc
+@@ -285,12 +285,7 @@ int __init of_setup_earlycon(const struc
  		}
  	}
  
diff --git a/target/linux/brcm47xx/patches-4.14/159-cpu_fixes.patch b/target/linux/brcm47xx/patches-4.14/159-cpu_fixes.patch
index 32df8009eac5..ca5530ae976d 100644
--- a/target/linux/brcm47xx/patches-4.14/159-cpu_fixes.patch
+++ b/target/linux/brcm47xx/patches-4.14/159-cpu_fixes.patch
@@ -396,7 +396,7 @@ 
  	if (dc_lsize == 0)
  		r4k_blast_dcache = (void *)cache_noop;
  	else if (dc_lsize == 16)
-@@ -952,6 +964,8 @@ static void local_r4k_flush_cache_sigtra
+@@ -955,6 +967,8 @@ static void local_r4k_flush_cache_sigtra
  	}
  
  	R4600_HIT_CACHEOP_WAR_IMPL;
@@ -405,7 +405,7 @@ 
  	if (!cpu_has_ic_fills_f_dc) {
  		if (dc_lsize)
  			vaddr ? flush_dcache_line(addr & ~(dc_lsize - 1))
-@@ -1846,6 +1860,17 @@ static void coherency_setup(void)
+@@ -1849,6 +1863,17 @@ static void coherency_setup(void)
  	 * silly idea of putting something else there ...
  	 */
  	switch (current_cpu_type()) {
@@ -423,7 +423,7 @@ 
  	case CPU_R4000PC:
  	case CPU_R4000SC:
  	case CPU_R4000MC:
-@@ -1892,6 +1917,15 @@ void r4k_cache_init(void)
+@@ -1895,6 +1920,15 @@ void r4k_cache_init(void)
  	extern void build_copy_page(void);
  	struct cpuinfo_mips *c = &current_cpu_data;
  
@@ -439,7 +439,7 @@ 
  	probe_pcache();
  	probe_vcache();
  	setup_scache();
-@@ -1969,7 +2003,15 @@ void r4k_cache_init(void)
+@@ -1972,7 +2006,15 @@ void r4k_cache_init(void)
  	 */
  	local_r4k___flush_cache_all(NULL);
  
diff --git a/target/linux/gemini/patches-4.14/0032-usb-host-fotg2-restart-hcd-after-port-reset.patch b/target/linux/gemini/patches-4.14/0032-usb-host-fotg2-restart-hcd-after-port-reset.patch
index 1479644df878..80b2fc410483 100644
--- a/target/linux/gemini/patches-4.14/0032-usb-host-fotg2-restart-hcd-after-port-reset.patch
+++ b/target/linux/gemini/patches-4.14/0032-usb-host-fotg2-restart-hcd-after-port-reset.patch
@@ -11,11 +11,9 @@  Signed-off-by: Hans Ulli Kroll <ulli.kroll@googlemail.com>
  drivers/usb/host/fotg210-hcd.c | 4 ++++
  1 file changed, 4 insertions(+)
 
-diff --git a/drivers/usb/host/fotg210-hcd.c b/drivers/usb/host/fotg210-hcd.c
-index 2acc51b0be5a..bc9efb49adc7 100644
 --- a/drivers/usb/host/fotg210-hcd.c
 +++ b/drivers/usb/host/fotg210-hcd.c
-@@ -1658,6 +1658,10 @@ static int fotg210_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
+@@ -1658,6 +1658,10 @@ static int fotg210_hub_control(struct us
  			/* see what we found out */
  			temp = check_reset_complete(fotg210, wIndex, status_reg,
  					fotg210_readl(fotg210, status_reg));
@@ -26,6 +24,3 @@  index 2acc51b0be5a..bc9efb49adc7 100644
  		}
  
  		if (!(temp & (PORT_RESUME|PORT_RESET))) {
--- 
-2.16.2
-
diff --git a/target/linux/gemini/patches-4.14/0033-ARM-dts-Fix-bootargs-for-Gemini-D-Link-devices.patch b/target/linux/gemini/patches-4.14/0033-ARM-dts-Fix-bootargs-for-Gemini-D-Link-devices.patch
index f8cf123d7b2e..d8fd853b3b41 100644
--- a/target/linux/gemini/patches-4.14/0033-ARM-dts-Fix-bootargs-for-Gemini-D-Link-devices.patch
+++ b/target/linux/gemini/patches-4.14/0033-ARM-dts-Fix-bootargs-for-Gemini-D-Link-devices.patch
@@ -14,8 +14,6 @@  Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
  arch/arm/boot/dts/gemini-dlink-dns-313.dts | 1 +
  2 files changed, 3 insertions(+), 1 deletion(-)
 
-diff --git a/arch/arm/boot/dts/gemini-dlink-dir-685.dts b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
-index a39914dece98..840f4a32f37c 100644
 --- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
 +++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
 @@ -20,7 +20,8 @@
@@ -28,8 +26,6 @@  index a39914dece98..840f4a32f37c 100644
  	};
  
  	gpio_keys {
-diff --git a/arch/arm/boot/dts/gemini-dlink-dns-313.dts b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
-index 4904f1251671..685719a0b8c0 100644
 --- a/arch/arm/boot/dts/gemini-dlink-dns-313.dts
 +++ b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
 @@ -26,6 +26,7 @@
@@ -40,6 +36,3 @@  index 4904f1251671..685719a0b8c0 100644
  		stdout-path = "uart0:19200n8";
  	};
  
--- 
-2.14.3
-
diff --git a/target/linux/gemini/patches-4.14/0034-ARM-dts-Add-ethernet-to-a-bunch-of-platforms.patch b/target/linux/gemini/patches-4.14/0034-ARM-dts-Add-ethernet-to-a-bunch-of-platforms.patch
index 4a511a28669a..3e588223b601 100644
--- a/target/linux/gemini/patches-4.14/0034-ARM-dts-Add-ethernet-to-a-bunch-of-platforms.patch
+++ b/target/linux/gemini/patches-4.14/0034-ARM-dts-Add-ethernet-to-a-bunch-of-platforms.patch
@@ -20,8 +20,6 @@  Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
  arch/arm/boot/dts/gemini-wbd222.dts        |  7 ++++
  2 files changed, 69 insertions(+)
 
-diff --git a/arch/arm/boot/dts/gemini-dlink-dns-313.dts b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
-index 685719a0b8c0..df46375457b6 100644
 --- a/arch/arm/boot/dts/gemini-dlink-dns-313.dts
 +++ b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
 @@ -215,6 +215,56 @@
@@ -100,8 +98,6 @@  index 685719a0b8c0..df46375457b6 100644
  		ata@63000000 {
  			status = "okay";
  		};
-diff --git a/arch/arm/boot/dts/gemini-wbd222.dts b/arch/arm/boot/dts/gemini-wbd222.dts
-index 0678d3beb51d..820978d20166 100644
 --- a/arch/arm/boot/dts/gemini-wbd222.dts
 +++ b/arch/arm/boot/dts/gemini-wbd222.dts
 @@ -136,6 +136,13 @@
@@ -118,6 +114,3 @@  index 0678d3beb51d..820978d20166 100644
  			};
  		};
  
--- 
-2.14.3
-
diff --git a/target/linux/gemini/patches-4.14/0905-arm-dts-gemini-dlink-dir-685-add-rtl8366rb.patch b/target/linux/gemini/patches-4.14/0905-arm-dts-gemini-dlink-dir-685-add-rtl8366rb.patch
index 42501225be9d..a1d025884417 100644
--- a/target/linux/gemini/patches-4.14/0905-arm-dts-gemini-dlink-dir-685-add-rtl8366rb.patch
+++ b/target/linux/gemini/patches-4.14/0905-arm-dts-gemini-dlink-dir-685-add-rtl8366rb.patch
@@ -1,6 +1,6 @@ 
 --- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
 +++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
-@@ -86,6 +86,12 @@
+@@ -87,6 +87,12 @@
  		};
  	};
  
diff --git a/target/linux/generic/pending-4.14/103-MIPS-c-r4k-fix-data-corruption-related-to-cache-coherence.patch b/target/linux/generic/pending-4.14/103-MIPS-c-r4k-fix-data-corruption-related-to-cache-coherence.patch
old mode 100755
new mode 100644
index 3cfbd2ce9169..69d926bd5bf0
--- a/target/linux/generic/pending-4.14/103-MIPS-c-r4k-fix-data-corruption-related-to-cache-coherence.patch
+++ b/target/linux/generic/pending-4.14/103-MIPS-c-r4k-fix-data-corruption-related-to-cache-coherence.patch
@@ -62,11 +62,9 @@  Signed-off-by: NeilBrown <neil@brown.name>
  arch/mips/mm/c-r4k.c | 9 ++++++---
  1 file changed, 6 insertions(+), 3 deletions(-)
 
-diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
-index 6f534b209971..e12dfa48b478 100644
 --- a/arch/mips/mm/c-r4k.c
 +++ b/arch/mips/mm/c-r4k.c
-@@ -851,9 +851,12 @@ static void r4k_dma_cache_wback_inv(unsigned long addr, unsigned long size)
+@@ -851,9 +851,12 @@ static void r4k_dma_cache_wback_inv(unsi
  	/*
  	 * Either no secondary cache or the available caches don't have the
  	 * subset property so we have to flush the primary caches
@@ -81,7 +79,7 @@  index 6f534b209971..e12dfa48b478 100644
  		r4k_blast_dcache();
  	} else {
  		R4600_HIT_CACHEOP_WAR_IMPL;
-@@ -890,7 +893,7 @@ static void r4k_dma_cache_inv(unsigned long addr, unsigned long size)
+@@ -890,7 +893,7 @@ static void r4k_dma_cache_inv(unsigned l
  		return;
  	}
  
diff --git a/target/linux/generic/pending-4.14/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch b/target/linux/generic/pending-4.14/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
index f4ba5b72f7a9..ed84c6974476 100644
--- a/target/linux/generic/pending-4.14/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
+++ b/target/linux/generic/pending-4.14/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
@@ -7,7 +7,7 @@  Signed-off-by: George Kashperko <george@znau.edu.ua>
  1 file changed, 1 insertion(+)
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -1832,6 +1832,7 @@ static int __xipram do_write_buffer(stru
+@@ -1833,6 +1833,7 @@ static int __xipram do_write_buffer(stru
  
  	/* Write Buffer Load */
  	map_write(map, CMD(0x25), cmd_adr);
diff --git a/target/linux/generic/pending-4.14/630-packet_socket_type.patch b/target/linux/generic/pending-4.14/630-packet_socket_type.patch
index ed48128c9e4d..82e2c51afddc 100644
--- a/target/linux/generic/pending-4.14/630-packet_socket_type.patch
+++ b/target/linux/generic/pending-4.14/630-packet_socket_type.patch
@@ -30,7 +30,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #define PACKET_FANOUT_LB		1
 --- a/net/packet/af_packet.c
 +++ b/net/packet/af_packet.c
-@@ -1822,6 +1822,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1829,6 +1829,7 @@ static int packet_rcv_spkt(struct sk_buf
  {
  	struct sock *sk;
  	struct sockaddr_pkt *spkt;
@@ -38,7 +38,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  	/*
  	 *	When we registered the protocol we saved the socket in the data
-@@ -1829,6 +1830,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1836,6 +1837,7 @@ static int packet_rcv_spkt(struct sk_buf
  	 */
  
  	sk = pt->af_packet_priv;
@@ -46,7 +46,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  	/*
  	 *	Yank back the headers [hope the device set this
-@@ -1841,7 +1843,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1848,7 +1850,7 @@ static int packet_rcv_spkt(struct sk_buf
  	 *	so that this procedure is noop.
  	 */
  
@@ -55,7 +55,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
  		goto out;
  
  	if (!net_eq(dev_net(dev), sock_net(sk)))
-@@ -2068,12 +2070,12 @@ static int packet_rcv(struct sk_buff *sk
+@@ -2075,12 +2077,12 @@ static int packet_rcv(struct sk_buff *sk
  	unsigned int snaplen, res;
  	bool is_drop_n_account = false;
  
@@ -71,7 +71,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	if (!net_eq(dev_net(dev), sock_net(sk)))
  		goto drop;
  
-@@ -2199,12 +2201,12 @@ static int tpacket_rcv(struct sk_buff *s
+@@ -2206,12 +2208,12 @@ static int tpacket_rcv(struct sk_buff *s
  	BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
  	BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
  
@@ -87,7 +87,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	if (!net_eq(dev_net(dev), sock_net(sk)))
  		goto drop;
  
-@@ -3251,6 +3253,7 @@ static int packet_create(struct net *net
+@@ -3260,6 +3262,7 @@ static int packet_create(struct net *net
  	mutex_init(&po->pg_vec_lock);
  	po->rollover = NULL;
  	po->prot_hook.func = packet_rcv;
@@ -95,7 +95,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  	if (sock->type == SOCK_PACKET)
  		po->prot_hook.func = packet_rcv_spkt;
-@@ -3837,6 +3840,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3873,6 +3876,16 @@ packet_setsockopt(struct socket *sock, i
  		po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
  		return 0;
  	}
@@ -112,7 +112,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
  	default:
  		return -ENOPROTOOPT;
  	}
-@@ -3889,6 +3902,13 @@ static int packet_getsockopt(struct sock
+@@ -3925,6 +3938,13 @@ static int packet_getsockopt(struct sock
  	case PACKET_VNET_HDR:
  		val = po->has_vnet_hdr;
  		break;
diff --git a/target/linux/generic/pending-4.14/644-net-pppoe-support-hardware-flow-table-offload.patch b/target/linux/generic/pending-4.14/644-net-pppoe-support-hardware-flow-table-offload.patch
index 9565412c0045..aa0eb0f0e9a3 100644
--- a/target/linux/generic/pending-4.14/644-net-pppoe-support-hardware-flow-table-offload.patch
+++ b/target/linux/generic/pending-4.14/644-net-pppoe-support-hardware-flow-table-offload.patch
@@ -64,7 +64,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  #include <linux/nsproxy.h>
  #include <net/net_namespace.h>
-@@ -970,8 +972,32 @@ static int pppoe_xmit(struct ppp_channel
+@@ -974,8 +976,32 @@ static int pppoe_xmit(struct ppp_channel
  	return __pppoe_xmit(sk, skb);
  }
  
diff --git a/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index ebd378b3bd61..45f387f2690b 100644
--- a/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
@@ -171,7 +171,7 @@  Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  /*
   *	Allocate a dst for local (unicast / anycast) address.
   */
-@@ -3000,7 +3033,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -3002,7 +3035,8 @@ static int rtm_to_fib6_config(struct sk_
  	if (rtm->rtm_type == RTN_UNREACHABLE ||
  	    rtm->rtm_type == RTN_BLACKHOLE ||
  	    rtm->rtm_type == RTN_PROHIBIT ||
@@ -181,7 +181,7 @@  Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  		cfg->fc_flags |= RTF_REJECT;
  
  	if (rtm->rtm_type == RTN_LOCAL)
-@@ -3490,6 +3524,9 @@ static int rt6_fill_node(struct net *net
+@@ -3492,6 +3526,9 @@ static int rt6_fill_node(struct net *net
  		case -EACCES:
  			rtm->rtm_type = RTN_PROHIBIT;
  			break;
@@ -191,7 +191,7 @@  Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  		case -EAGAIN:
  			rtm->rtm_type = RTN_THROW;
  			break;
-@@ -3808,6 +3845,8 @@ static int ip6_route_dev_notify(struct n
+@@ -3810,6 +3847,8 @@ static int ip6_route_dev_notify(struct n
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  		net->ipv6.ip6_prohibit_entry->dst.dev = dev;
  		net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -200,7 +200,7 @@  Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  		net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
  		net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
  #endif
-@@ -3819,6 +3858,7 @@ static int ip6_route_dev_notify(struct n
+@@ -3821,6 +3860,7 @@ static int ip6_route_dev_notify(struct n
  		in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  		in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
@@ -208,7 +208,7 @@  Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  		in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
  #endif
  	}
-@@ -4035,6 +4075,17 @@ static int __net_init ip6_route_net_init
+@@ -4037,6 +4077,17 @@ static int __net_init ip6_route_net_init
  	net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
  	dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
  			 ip6_template_metrics, true);
@@ -226,7 +226,7 @@  Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  #endif
  
  	net->ipv6.sysctl.flush_delay = 0;
-@@ -4053,6 +4104,8 @@ out:
+@@ -4055,6 +4106,8 @@ out:
  	return ret;
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -235,7 +235,7 @@  Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  out_ip6_prohibit_entry:
  	kfree(net->ipv6.ip6_prohibit_entry);
  out_ip6_null_entry:
-@@ -4070,6 +4123,7 @@ static void __net_exit ip6_route_net_exi
+@@ -4072,6 +4125,7 @@ static void __net_exit ip6_route_net_exi
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  	kfree(net->ipv6.ip6_prohibit_entry);
  	kfree(net->ipv6.ip6_blk_hole_entry);
@@ -243,7 +243,7 @@  Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  #endif
  	dst_entries_destroy(&net->ipv6.ip6_dst_ops);
  }
-@@ -4143,6 +4197,9 @@ void __init ip6_route_init_special_entri
+@@ -4145,6 +4199,9 @@ void __init ip6_route_init_special_entri
  	init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
  	init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
  	init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
diff --git a/target/linux/mvebu/patches-4.14/522-PCI-aardvark-fix-logic-in-PCI-configuration-read-write-functions.patch b/target/linux/mvebu/patches-4.14/522-PCI-aardvark-fix-logic-in-PCI-configuration-read-write-functions.patch
deleted file mode 100644
index 0dead7d61dfb..000000000000
--- a/target/linux/mvebu/patches-4.14/522-PCI-aardvark-fix-logic-in-PCI-configuration-read-write-functions.patch
+++ /dev/null
@@ -1,66 +0,0 @@ 
-From patchwork Thu Sep 28 12:58:32 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v2, 1/7] PCI: aardvark: fix logic in PCI configuration read/write
- functions
-X-Patchwork-Submitter: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-X-Patchwork-Id: 819586
-Message-Id: <20170928125838.11887-2-thomas.petazzoni@free-electrons.com>
-To: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org
-Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
- Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Gregory Clement
- <gregory.clement@free-electrons.com>, 
- Nadav Haklai <nadavh@marvell.com>, Hanna Hawa <hannah@marvell.com>,
- Yehuda Yitschak <yehuday@marvell.com>,
- linux-arm-kernel@lists.infradead.org, Antoine Tenart
- <antoine.tenart@free-electrons.com>, =?utf-8?q?Miqu=C3=A8l_Raynal?=
- <miquel.raynal@free-electrons.com>, Victor Gu <xigu@marvell.com>,
- stable@vger.kernel.org, Thomas Petazzoni
- <thomas.petazzoni@free-electrons.com>
-Date: Thu, 28 Sep 2017 14:58:32 +0200
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-List-Id: <linux-pci.vger.kernel.org>
-
-From: Victor Gu <xigu@marvell.com>
-
-The PCI configuration space read/write functions were special casing
-the situation where PCI_SLOT(devfn) != 0, and returned
-PCIBIOS_DEVICE_NOT_FOUND in this case.
-
-However, will this is what is intended for the root bus, it is not
-intended for the child busses, as it prevents discovering devices with
-PCI_SLOT(x) != 0. Therefore, we return PCIBIOS_DEVICE_NOT_FOUND only
-if we're on the root bus.
-
-Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host controller driver")
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Victor Gu <xigu@marvell.com>
-Reviewed-by: Wilson Ding <dingwei@marvell.com>
-Reviewed-by: Nadav Haklai <nadavh@marvell.com>
-[Thomas: tweak commit log.]
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- drivers/pci/host/pci-aardvark.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/drivers/pci/host/pci-aardvark.c
-+++ b/drivers/pci/host/pci-aardvark.c
-@@ -440,7 +440,7 @@ static int advk_pcie_rd_conf(struct pci_
- 	u32 reg;
- 	int ret;
- 
--	if (PCI_SLOT(devfn) != 0) {
-+	if ((bus->number == pcie->root_bus_nr) && (PCI_SLOT(devfn) != 0)) {
- 		*val = 0xffffffff;
- 		return PCIBIOS_DEVICE_NOT_FOUND;
- 	}
-@@ -494,7 +494,7 @@ static int advk_pcie_wr_conf(struct pci_
- 	int offset;
- 	int ret;
- 
--	if (PCI_SLOT(devfn) != 0)
-+	if ((bus->number == pcie->root_bus_nr) && (PCI_SLOT(devfn) != 0))
- 		return PCIBIOS_DEVICE_NOT_FOUND;
- 
- 	if (where % size)
diff --git a/target/linux/mvebu/patches-4.14/523-PCI-aardvark-set-PIO_ADDR_LS-correctly-in-advk_pcie_rd_conf.patch b/target/linux/mvebu/patches-4.14/523-PCI-aardvark-set-PIO_ADDR_LS-correctly-in-advk_pcie_rd_conf.patch
deleted file mode 100644
index 238eb5626949..000000000000
--- a/target/linux/mvebu/patches-4.14/523-PCI-aardvark-set-PIO_ADDR_LS-correctly-in-advk_pcie_rd_conf.patch
+++ /dev/null
@@ -1,53 +0,0 @@ 
-From patchwork Thu Sep 28 12:58:33 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v2,
- 2/7] PCI: aardvark: set PIO_ADDR_LS correctly in advk_pcie_rd_conf()
-X-Patchwork-Submitter: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-X-Patchwork-Id: 819589
-Message-Id: <20170928125838.11887-3-thomas.petazzoni@free-electrons.com>
-To: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org
-Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
- Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Gregory Clement
- <gregory.clement@free-electrons.com>, 
- Nadav Haklai <nadavh@marvell.com>, Hanna Hawa <hannah@marvell.com>,
- Yehuda Yitschak <yehuday@marvell.com>,
- linux-arm-kernel@lists.infradead.org, Antoine Tenart
- <antoine.tenart@free-electrons.com>, =?utf-8?q?Miqu=C3=A8l_Raynal?=
- <miquel.raynal@free-electrons.com>, Victor Gu <xigu@marvell.com>,
- stable@vger.kernel.org, Thomas Petazzoni
- <thomas.petazzoni@free-electrons.com>
-Date: Thu, 28 Sep 2017 14:58:33 +0200
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-List-Id: <linux-pci.vger.kernel.org>
-
-From: Victor Gu <xigu@marvell.com>
-
-When setting the PIO_ADDR_LS register during a configuration read, we
-were properly passing the device number, function number and register
-number, but not the bus number, causing issues when reading the
-configuration of PCIe devices.
-
-Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host controller driver")
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Victor Gu <xigu@marvell.com>
-Reviewed-by: Wilson Ding <dingwei@marvell.com>
-Reviewed-by: Nadav Haklai <nadavh@marvell.com>
-[Thomas: tweak commit log.]
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- drivers/pci/host/pci-aardvark.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/pci/host/pci-aardvark.c
-+++ b/drivers/pci/host/pci-aardvark.c
-@@ -459,7 +459,7 @@ static int advk_pcie_rd_conf(struct pci_
- 	advk_writel(pcie, reg, PIO_CTRL);
- 
- 	/* Program the address registers */
--	reg = PCIE_BDF(devfn) | PCIE_CONF_REG(where);
-+	reg = PCIE_CONF_ADDR(bus->number, devfn, where);
- 	advk_writel(pcie, reg, PIO_ADDR_LS);
- 	advk_writel(pcie, 0, PIO_ADDR_MS);
- 
diff --git a/target/linux/mvebu/patches-4.14/524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch b/target/linux/mvebu/patches-4.14/524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch
index f7e71aa06034..1847c44803a4 100644
--- a/target/linux/mvebu/patches-4.14/524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch
+++ b/target/linux/mvebu/patches-4.14/524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch
@@ -45,13 +45,14 @@  Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 
 --- a/drivers/pci/host/pci-aardvark.c
 +++ b/drivers/pci/host/pci-aardvark.c
-@@ -30,8 +30,10 @@
+@@ -30,9 +30,11 @@
  #define PCIE_CORE_DEV_CTRL_STATS_REG				0xc8
  #define     PCIE_CORE_DEV_CTRL_STATS_RELAX_ORDER_DISABLE	(0 << 4)
  #define     PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ_SHIFT	5
 +#define     PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ		0x2
  #define     PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE		(0 << 11)
  #define     PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT	12
+ #define     PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ		0x2
 +#define     PCIE_CORE_MPS_UNIT_BYTE				128
  #define PCIE_CORE_LINK_CTRL_STAT_REG				0xd0
  #define     PCIE_CORE_LINK_L0S_ENTRY				BIT(0)
@@ -64,9 +65,9 @@  Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 +		(PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ <<
 +		 PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ_SHIFT) |
  		PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE |
- 		PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT;
- 	advk_writel(pcie, reg, PCIE_CORE_DEV_CTRL_STATS_REG);
-@@ -879,6 +882,58 @@ out_release_res:
+ 		(PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ <<
+ 		 PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT);
+@@ -886,6 +889,58 @@ out_release_res:
  	return err;
  }
  
@@ -125,7 +126,7 @@  Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
  static int advk_pcie_probe(struct platform_device *pdev)
  {
  	struct device *dev = &pdev->dev;
-@@ -952,6 +1007,9 @@ static int advk_pcie_probe(struct platfo
+@@ -959,6 +1014,9 @@ static int advk_pcie_probe(struct platfo
  	list_for_each_entry(child, &bus->children, node)
  		pcie_bus_configure_settings(child);
  
diff --git a/target/linux/mvebu/patches-4.14/525-PCI-aardvark-use-isr1-instead-of-isr0-interrupt-in-legacy-irq-mode.patch b/target/linux/mvebu/patches-4.14/525-PCI-aardvark-use-isr1-instead-of-isr0-interrupt-in-legacy-irq-mode.patch
deleted file mode 100644
index 777a078ef910..000000000000
--- a/target/linux/mvebu/patches-4.14/525-PCI-aardvark-use-isr1-instead-of-isr0-interrupt-in-legacy-irq-mode.patch
+++ /dev/null
@@ -1,143 +0,0 @@ 
-From patchwork Thu Sep 28 12:58:35 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v2,
- 4/7] PCI: aardvark: use isr1 instead of isr0 interrupt in legacy irq
- mode
-X-Patchwork-Submitter: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-X-Patchwork-Id: 819592
-Message-Id: <20170928125838.11887-5-thomas.petazzoni@free-electrons.com>
-To: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org
-Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
- Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Gregory Clement
- <gregory.clement@free-electrons.com>, 
- Nadav Haklai <nadavh@marvell.com>, Hanna Hawa <hannah@marvell.com>,
- Yehuda Yitschak <yehuday@marvell.com>,
- linux-arm-kernel@lists.infradead.org, Antoine Tenart
- <antoine.tenart@free-electrons.com>, =?utf-8?q?Miqu=C3=A8l_Raynal?=
- <miquel.raynal@free-electrons.com>, Victor Gu <xigu@marvell.com>,
- Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Thu, 28 Sep 2017 14:58:35 +0200
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-List-Id: <linux-pci.vger.kernel.org>
-
-From: Victor Gu <xigu@marvell.com>
-
-The Aardvark has two interrupts sets:
-
- - first set is bit[23:16] of PCIe ISR 0 register(RD0074840h)
-
- - second set is bit[11:8] of PCIe ISR 1 register(RD0074848h)
-
-Only one set should be used, while another set should be masked.
-
-The second set, ISR1, is more advanced, the Legacy INT_X status bit is
-asserted once Assert_INTX message is received, and de-asserted after
-Deassert_INTX message is received. Therefore, it matches what the
-driver is currently doing in the ->irq_mask() and ->irq_unmask()
-functions. The ISR0 requires additional work to deassert the
-interrupt, which the driver doesn't do currently.
-
-This commit resolves a number of issues with legacy interrupts.
-
-This is part of fixing bug
-https://bugzilla.kernel.org/show_bug.cgi?id=196339, this commit was
-reported as the user to be important to get a Intel 7260 mini-PCIe
-WiFi card working.
-
-Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host controller driver")
-Signed-off-by: Victor Gu <xigu@marvell.com>
-Reviewed-by: Evan Wang <xswang@marvell.com>
-Reviewed-by: Nadav Haklai <nadavh@marvell.com>
-[Thomas: tweak commit log.]
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- drivers/pci/host/pci-aardvark.c | 41 ++++++++++++++++++++++++-----------------
- 1 file changed, 24 insertions(+), 17 deletions(-)
-
---- a/drivers/pci/host/pci-aardvark.c
-+++ b/drivers/pci/host/pci-aardvark.c
-@@ -105,7 +105,8 @@
- #define PCIE_ISR1_MASK_REG			(CONTROL_BASE_ADDR + 0x4C)
- #define     PCIE_ISR1_POWER_STATE_CHANGE	BIT(4)
- #define     PCIE_ISR1_FLUSH			BIT(5)
--#define     PCIE_ISR1_ALL_MASK			GENMASK(5, 4)
-+#define     PCIE_ISR1_INTX_ASSERT(val)		BIT(8 + (val))
-+#define     PCIE_ISR1_ALL_MASK			GENMASK(11, 4)
- #define PCIE_MSI_ADDR_LOW_REG			(CONTROL_BASE_ADDR + 0x50)
- #define PCIE_MSI_ADDR_HIGH_REG			(CONTROL_BASE_ADDR + 0x54)
- #define PCIE_MSI_STATUS_REG			(CONTROL_BASE_ADDR + 0x58)
-@@ -615,9 +616,9 @@ static void advk_pcie_irq_mask(struct ir
- 	irq_hw_number_t hwirq = irqd_to_hwirq(d);
- 	u32 mask;
- 
--	mask = advk_readl(pcie, PCIE_ISR0_MASK_REG);
--	mask |= PCIE_ISR0_INTX_ASSERT(hwirq);
--	advk_writel(pcie, mask, PCIE_ISR0_MASK_REG);
-+	mask = advk_readl(pcie, PCIE_ISR1_MASK_REG);
-+	mask |= PCIE_ISR1_INTX_ASSERT(hwirq);
-+	advk_writel(pcie, mask, PCIE_ISR1_MASK_REG);
- }
- 
- static void advk_pcie_irq_unmask(struct irq_data *d)
-@@ -626,9 +627,9 @@ static void advk_pcie_irq_unmask(struct
- 	irq_hw_number_t hwirq = irqd_to_hwirq(d);
- 	u32 mask;
- 
--	mask = advk_readl(pcie, PCIE_ISR0_MASK_REG);
--	mask &= ~PCIE_ISR0_INTX_ASSERT(hwirq);
--	advk_writel(pcie, mask, PCIE_ISR0_MASK_REG);
-+	mask = advk_readl(pcie, PCIE_ISR1_MASK_REG);
-+	mask &= ~PCIE_ISR1_INTX_ASSERT(hwirq);
-+	advk_writel(pcie, mask, PCIE_ISR1_MASK_REG);
- }
- 
- static int advk_pcie_irq_map(struct irq_domain *h,
-@@ -771,29 +772,35 @@ static void advk_pcie_handle_msi(struct
- 
- static void advk_pcie_handle_int(struct advk_pcie *pcie)
- {
--	u32 val, mask, status;
-+	u32 isr0_val, isr0_mask, isr0_status;
-+	u32 isr1_val, isr1_mask, isr1_status;
- 	int i, virq;
- 
--	val = advk_readl(pcie, PCIE_ISR0_REG);
--	mask = advk_readl(pcie, PCIE_ISR0_MASK_REG);
--	status = val & ((~mask) & PCIE_ISR0_ALL_MASK);
--
--	if (!status) {
--		advk_writel(pcie, val, PCIE_ISR0_REG);
-+	isr0_val = advk_readl(pcie, PCIE_ISR0_REG);
-+	isr0_mask = advk_readl(pcie, PCIE_ISR0_MASK_REG);
-+	isr0_status = isr0_val & ((~isr0_mask) & PCIE_ISR0_ALL_MASK);
-+
-+	isr1_val = advk_readl(pcie, PCIE_ISR1_REG);
-+	isr1_mask = advk_readl(pcie, PCIE_ISR1_MASK_REG);
-+	isr1_status = isr1_val & ((~isr1_mask) & PCIE_ISR1_ALL_MASK);
-+
-+	if (!isr0_status && !isr1_status) {
-+		advk_writel(pcie, isr0_val, PCIE_ISR0_REG);
-+		advk_writel(pcie, isr1_val, PCIE_ISR1_REG);
- 		return;
- 	}
- 
- 	/* Process MSI interrupts */
--	if (status & PCIE_ISR0_MSI_INT_PENDING)
-+	if (isr0_status & PCIE_ISR0_MSI_INT_PENDING)
- 		advk_pcie_handle_msi(pcie);
- 
- 	/* Process legacy interrupts */
- 	for (i = 0; i < PCI_NUM_INTX; i++) {
--		if (!(status & PCIE_ISR0_INTX_ASSERT(i)))
-+		if (!(isr1_status & PCIE_ISR1_INTX_ASSERT(i)))
- 			continue;
- 
--		advk_writel(pcie, PCIE_ISR0_INTX_ASSERT(i),
--			    PCIE_ISR0_REG);
-+		advk_writel(pcie, PCIE_ISR1_INTX_ASSERT(i),
-+			    PCIE_ISR1_REG);
- 
- 		virq = irq_find_mapping(pcie->irq_domain, i);
- 		generic_handle_irq(virq);
diff --git a/target/linux/mvebu/patches-4.14/527-PCI-aardvark-fix-PCIe-max-read-request-size-setting.patch b/target/linux/mvebu/patches-4.14/527-PCI-aardvark-fix-PCIe-max-read-request-size-setting.patch
deleted file mode 100644
index eaf7b097b0ee..000000000000
--- a/target/linux/mvebu/patches-4.14/527-PCI-aardvark-fix-PCIe-max-read-request-size-setting.patch
+++ /dev/null
@@ -1,63 +0,0 @@ 
-From patchwork Thu Sep 28 12:58:37 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v2,6/7] PCI: aardvark: fix PCIe max read request size setting
-X-Patchwork-Submitter: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-X-Patchwork-Id: 819591
-Message-Id: <20170928125838.11887-7-thomas.petazzoni@free-electrons.com>
-To: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org
-Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
- Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Gregory Clement
- <gregory.clement@free-electrons.com>, 
- Nadav Haklai <nadavh@marvell.com>, Hanna Hawa <hannah@marvell.com>,
- Yehuda Yitschak <yehuday@marvell.com>,
- linux-arm-kernel@lists.infradead.org, Antoine Tenart
- <antoine.tenart@free-electrons.com>, =?utf-8?q?Miqu=C3=A8l_Raynal?=
- <miquel.raynal@free-electrons.com>, Evan Wang <xswang@marvell.com>,
- Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Thu, 28 Sep 2017 14:58:37 +0200
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-List-Id: <linux-pci.vger.kernel.org>
-
-From: Evan Wang <xswang@marvell.com>
-
-There is an obvious typo issue in the definition of the PCIe maximum
-read request size: a bit shift is directly used as a value, while it
-should be used to shift the correct value.
-
-This is part of fixing bug
-https://bugzilla.kernel.org/show_bug.cgi?id=196339, this commit was
-reported as the user to be important to get a Intel 7260 mini-PCIe
-WiFi card working.
-
-Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host controller driver")
-Signed-off-by: Evan Wang <xswang@marvell.com>
-Reviewed-by: Victor Gu <xigu@marvell.com>
-Reviewed-by: Nadav Haklai <nadavh@marvell.com>
-[Thomas: tweak commit log.]
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- drivers/pci/host/pci-aardvark.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
---- a/drivers/pci/host/pci-aardvark.c
-+++ b/drivers/pci/host/pci-aardvark.c
-@@ -33,6 +33,7 @@
- #define     PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ		0x2
- #define     PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE		(0 << 11)
- #define     PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT	12
-+#define     PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ		0x2
- #define     PCIE_CORE_MPS_UNIT_BYTE				128
- #define PCIE_CORE_LINK_CTRL_STAT_REG				0xd0
- #define     PCIE_CORE_LINK_L0S_ENTRY				BIT(0)
-@@ -303,7 +304,8 @@ static void advk_pcie_setup_hw(struct ad
- 		(PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ <<
- 		 PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ_SHIFT) |
- 		PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE |
--		PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT;
-+		(PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ <<
-+		 PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT);
- 	advk_writel(pcie, reg, PCIE_CORE_DEV_CTRL_STATS_REG);
- 
- 	/* Program PCIe Control 2 to disable strict ordering */
diff --git a/target/linux/ramips/patches-4.14/0036-mtd-fix-cfi-cmdset-0002-erase-status-check.patch b/target/linux/ramips/patches-4.14/0036-mtd-fix-cfi-cmdset-0002-erase-status-check.patch
index 0b3a6c40e485..9226202b7f87 100644
--- a/target/linux/ramips/patches-4.14/0036-mtd-fix-cfi-cmdset-0002-erase-status-check.patch
+++ b/target/linux/ramips/patches-4.14/0036-mtd-fix-cfi-cmdset-0002-erase-status-check.patch
@@ -9,7 +9,7 @@  Subject: [PATCH 36/53] mtd: fix cfi cmdset 0002 erase status check
 
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2293,7 +2293,7 @@ static int __xipram do_erase_chip(struct
+@@ -2295,7 +2295,7 @@ static int __xipram do_erase_chip(struct
  			chip->erase_suspended = 0;
  		}
  
@@ -18,7 +18,7 @@  Subject: [PATCH 36/53] mtd: fix cfi cmdset 0002 erase status check
  			break;
  
  		if (time_after(jiffies, timeo)) {
-@@ -2382,7 +2382,7 @@ static int __xipram do_erase_oneblock(st
+@@ -2385,7 +2385,7 @@ static int __xipram do_erase_oneblock(st
  			chip->erase_suspended = 0;
  		}
  
diff --git a/target/linux/ramips/patches-4.14/0037-mtd-cfi-cmdset-0002-force-word-write.patch b/target/linux/ramips/patches-4.14/0037-mtd-cfi-cmdset-0002-force-word-write.patch
index 8ac6964cd128..7ee8284535f1 100644
--- a/target/linux/ramips/patches-4.14/0037-mtd-cfi-cmdset-0002-force-word-write.patch
+++ b/target/linux/ramips/patches-4.14/0037-mtd-cfi-cmdset-0002-force-word-write.patch
@@ -44,7 +44,7 @@  Subject: [PATCH 37/53] mtd: cfi cmdset 0002 force word write
  
  /* Atmel chips don't use the same PRI format as AMD chips */
  static void fixup_convert_atmel_pri(struct mtd_info *mtd)
-@@ -1791,6 +1795,7 @@ static int cfi_amdstd_write_words(struct
+@@ -1792,6 +1796,7 @@ static int cfi_amdstd_write_words(struct
  /*
   * FIXME: interleaved mode not tested, and probably not supported!
   */
@@ -52,7 +52,7 @@  Subject: [PATCH 37/53] mtd: cfi cmdset 0002 force word write
  static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
  				    unsigned long adr, const u_char *buf,
  				    int len)
-@@ -1919,7 +1924,6 @@ static int __xipram do_write_buffer(stru
+@@ -1920,7 +1925,6 @@ static int __xipram do_write_buffer(stru
  	return ret;
  }
  
@@ -60,7 +60,7 @@  Subject: [PATCH 37/53] mtd: cfi cmdset 0002 force word write
  static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
  				    size_t *retlen, const u_char *buf)
  {
-@@ -1994,6 +1998,7 @@ static int cfi_amdstd_write_buffers(stru
+@@ -1995,6 +1999,7 @@ static int cfi_amdstd_write_buffers(stru
  
  	return 0;
  }
diff --git a/target/linux/ramips/patches-4.14/0043-spi-add-mt7621-support.patch b/target/linux/ramips/patches-4.14/0043-spi-add-mt7621-support.patch
index f59e52a5b944..d9bc48d69b09 100644
--- a/target/linux/ramips/patches-4.14/0043-spi-add-mt7621-support.patch
+++ b/target/linux/ramips/patches-4.14/0043-spi-add-mt7621-support.patch
@@ -11,10 +11,8 @@  Signed-off-by: John Crispin <blogic@openwrt.org>
  3 files changed, 487 insertions(+)
  create mode 100644 drivers/spi/spi-mt7621.c
 
-Index: linux-4.14.37/drivers/spi/Kconfig
-===================================================================
---- linux-4.14.37.orig/drivers/spi/Kconfig
-+++ linux-4.14.37/drivers/spi/Kconfig
+--- a/drivers/spi/Kconfig
++++ b/drivers/spi/Kconfig
 @@ -569,6 +569,12 @@ config SPI_RT2880
  	help
  	  This selects a driver for the Ralink RT288x/RT305x SPI Controller.
@@ -28,10 +26,8 @@  Index: linux-4.14.37/drivers/spi/Kconfig
  config SPI_S3C24XX
  	tristate "Samsung S3C24XX series SPI"
  	depends on ARCH_S3C24XX
-Index: linux-4.14.37/drivers/spi/Makefile
-===================================================================
---- linux-4.14.37.orig/drivers/spi/Makefile
-+++ linux-4.14.37/drivers/spi/Makefile
+--- a/drivers/spi/Makefile
++++ b/drivers/spi/Makefile
 @@ -60,6 +60,7 @@ obj-$(CONFIG_SPI_MPC512x_PSC)		+= spi-mp
  obj-$(CONFIG_SPI_MPC52xx_PSC)		+= spi-mpc52xx-psc.o
  obj-$(CONFIG_SPI_MPC52xx)		+= spi-mpc52xx.o
@@ -40,10 +36,8 @@  Index: linux-4.14.37/drivers/spi/Makefile
  obj-$(CONFIG_SPI_MXS)			+= spi-mxs.o
  obj-$(CONFIG_SPI_NUC900)		+= spi-nuc900.o
  obj-$(CONFIG_SPI_OC_TINY)		+= spi-oc-tiny.o
-Index: linux-4.14.37/drivers/spi/spi-mt7621.c
-===================================================================
 --- /dev/null
-+++ linux-4.14.37/drivers/spi/spi-mt7621.c
++++ b/drivers/spi/spi-mt7621.c
 @@ -0,0 +1,494 @@
 +/*
 + * spi-mt7621.c -- MediaTek MT7621 SPI controller driver