diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 59f2340101..81221410f4 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -3,12 +3,12 @@ LINUX_RELEASE?=1 LINUX_VERSION-3.18 = .119 -LINUX_VERSION-4.14 = .65 LINUX_VERSION-4.9 = .123 +LINUX_VERSION-4.14 = .66 LINUX_KERNEL_HASH-3.18.119 = 2bab623ed868b679eac224f62212cc285264061bedf1e32897f72e35aa26160d -LINUX_KERNEL_HASH-4.14.65 = 12980c406bb9be670db58a88464d1c36cafd3c1d4d5ee09e8ecfa71e5eb5a5ec LINUX_KERNEL_HASH-4.9.123 = 8d12ceab9f8cbfd0555c881b35ed4384cf3ea8e223d894c030b04786005e5071 +LINUX_KERNEL_HASH-4.14.66 = a38061ca4c864d11a72beb3dc5918a99f13372fe9ee35508d004fdfabd460413 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/ar71xx/patches-4.14/310-lib-add-rle-decompression.patch b/target/linux/ar71xx/patches-4.14/310-lib-add-rle-decompression.patch index d8480125a9..766ffbeb76 100644 --- a/target/linux/ar71xx/patches-4.14/310-lib-add-rle-decompression.patch +++ b/target/linux/ar71xx/patches-4.14/310-lib-add-rle-decompression.patch @@ -1,6 +1,6 @@ --- a/lib/Kconfig +++ b/lib/Kconfig -@@ -247,6 +247,9 @@ config LZMA_COMPRESS +@@ -265,6 +265,9 @@ config LZMA_COMPRESS config LZMA_DECOMPRESS tristate @@ -12,7 +12,7 @@ # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) --- a/lib/Makefile +++ b/lib/Makefile -@@ -120,6 +120,7 @@ obj-$(CONFIG_XZ_DEC) += xz/ +@@ -134,6 +134,7 @@ obj-$(CONFIG_XZ_DEC) += xz/ obj-$(CONFIG_RAID6_PQ) += raid6/ obj-$(CONFIG_LZMA_COMPRESS) += lzma/ obj-$(CONFIG_LZMA_DECOMPRESS) += lzma/ diff --git a/target/linux/ar71xx/patches-4.14/404-mtd-cybertan-trx-parser.patch b/target/linux/ar71xx/patches-4.14/404-mtd-cybertan-trx-parser.patch index 6c2322e07f..4b59abe16b 100644 --- a/target/linux/ar71xx/patches-4.14/404-mtd-cybertan-trx-parser.patch +++ b/target/linux/ar71xx/patches-4.14/404-mtd-cybertan-trx-parser.patch @@ -15,7 +15,7 @@ depends on ADM5120 || ATH25 || ATH79 --- a/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile -@@ -17,6 +17,7 @@ obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63 +@@ -18,6 +18,7 @@ obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63 obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o obj-y += parsers/ diff --git a/target/linux/ar71xx/patches-4.14/405-mtd-tp-link-partition-parser.patch b/target/linux/ar71xx/patches-4.14/405-mtd-tp-link-partition-parser.patch index a53d9501ec..899ab893f0 100644 --- a/target/linux/ar71xx/patches-4.14/405-mtd-tp-link-partition-parser.patch +++ b/target/linux/ar71xx/patches-4.14/405-mtd-tp-link-partition-parser.patch @@ -15,7 +15,7 @@ # --- a/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile -@@ -17,6 +17,7 @@ obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63 +@@ -18,6 +18,7 @@ obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63 obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o obj-y += parsers/ diff --git a/target/linux/ar71xx/patches-4.14/407-mtd-m25p80-allow-to-pass-probe-types-via-platform-data.patch b/target/linux/ar71xx/patches-4.14/407-mtd-m25p80-allow-to-pass-probe-types-via-platform-data.patch index cfc84c4afa..13999064cb 100644 --- a/target/linux/ar71xx/patches-4.14/407-mtd-m25p80-allow-to-pass-probe-types-via-platform-data.patch +++ b/target/linux/ar71xx/patches-4.14/407-mtd-m25p80-allow-to-pass-probe-types-via-platform-data.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c -@@ -195,6 +195,7 @@ static ssize_t m25p80_read(struct spi_no +@@ -235,6 +235,7 @@ static ssize_t m25p80_read(struct spi_no */ static int m25p_probe(struct spi_device *spi) { @@ -8,7 +8,7 @@ struct flash_platform_data *data; struct m25p *flash; struct spi_nor *nor; -@@ -247,8 +248,11 @@ static int m25p_probe(struct spi_device +@@ -300,8 +301,11 @@ static int m25p_probe(struct spi_device if (ret) return ret; @@ -24,7 +24,7 @@ --- a/include/linux/spi/flash.h +++ b/include/linux/spi/flash.h -@@ -24,6 +24,7 @@ struct flash_platform_data { +@@ -25,6 +25,7 @@ struct flash_platform_data { unsigned int nr_parts; char *type; diff --git a/target/linux/ar71xx/patches-4.14/408-mtd-redboot_partition_scan.patch b/target/linux/ar71xx/patches-4.14/408-mtd-redboot_partition_scan.patch index 18ff52aca3..cd41e7ceb2 100644 --- a/target/linux/ar71xx/patches-4.14/408-mtd-redboot_partition_scan.patch +++ b/target/linux/ar71xx/patches-4.14/408-mtd-redboot_partition_scan.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/redboot.c +++ b/drivers/mtd/redboot.c -@@ -77,12 +77,18 @@ static int parse_redboot_partitions(stru +@@ -76,12 +76,18 @@ static int parse_redboot_partitions(stru static char nullstring[] = "unallocated"; #endif @@ -19,7 +19,7 @@ return -EIO; } offset -= master->erasesize; -@@ -95,10 +101,6 @@ static int parse_redboot_partitions(stru +@@ -94,10 +100,6 @@ static int parse_redboot_partitions(stru goto nogood; } } @@ -30,7 +30,7 @@ printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n", master->name, offset); -@@ -171,6 +173,11 @@ static int parse_redboot_partitions(stru +@@ -170,6 +172,11 @@ static int parse_redboot_partitions(stru } if (i == numslots) { /* Didn't find it */ diff --git a/target/linux/ar71xx/patches-4.14/409-mtd-rb4xx_nand_driver.patch b/target/linux/ar71xx/patches-4.14/409-mtd-rb4xx_nand_driver.patch index 93d34b8826..c4b26ecb72 100644 --- a/target/linux/ar71xx/patches-4.14/409-mtd-rb4xx_nand_driver.patch +++ b/target/linux/ar71xx/patches-4.14/409-mtd-rb4xx_nand_driver.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig -@@ -569,4 +569,8 @@ config MTD_NAND_MTK +@@ -563,4 +563,8 @@ config MTD_NAND_MTK Enables support for NAND controller on MTK SoCs. This controller is found on mt27xx, mt81xx, mt65xx SoCs. @@ -11,11 +11,11 @@ endif # MTD_NAND --- a/drivers/mtd/nand/Makefile +++ b/drivers/mtd/nand/Makefile -@@ -33,6 +33,7 @@ obj-$(CONFIG_MTD_NAND_CM_X270) += cmx27 +@@ -34,6 +34,7 @@ obj-$(CONFIG_MTD_NAND_CM_X270) += cmx27 obj-$(CONFIG_MTD_NAND_PXA3xx) += pxa3xx_nand.o obj-$(CONFIG_MTD_NAND_TMIO) += tmio_nand.o obj-$(CONFIG_MTD_NAND_PLATFORM) += plat_nand.o +obj-$(CONFIG_MTD_NAND_RB4XX) += rb4xx_nand.o obj-$(CONFIG_MTD_NAND_PASEMI) += pasemi_nand.o obj-$(CONFIG_MTD_NAND_ORION) += orion_nand.o - obj-$(CONFIG_MTD_NAND_FSL_ELBC) += fsl_elbc_nand.o + obj-$(CONFIG_MTD_NAND_OXNAS) += oxnas_nand.o diff --git a/target/linux/ar71xx/patches-4.14/410-mtd-rb750-nand-driver.patch b/target/linux/ar71xx/patches-4.14/410-mtd-rb750-nand-driver.patch index 9ea879c8e4..08960f4358 100644 --- a/target/linux/ar71xx/patches-4.14/410-mtd-rb750-nand-driver.patch +++ b/target/linux/ar71xx/patches-4.14/410-mtd-rb750-nand-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig -@@ -573,4 +573,8 @@ config MTD_NAND_RB4XX +@@ -567,4 +567,8 @@ config MTD_NAND_RB4XX tristate "NAND flash driver for RouterBoard 4xx series" depends on MTD_NAND && ATH79_MACH_RB4XX @@ -11,11 +11,11 @@ endif # MTD_NAND --- a/drivers/mtd/nand/Makefile +++ b/drivers/mtd/nand/Makefile -@@ -34,6 +34,7 @@ obj-$(CONFIG_MTD_NAND_PXA3xx) += pxa3xx +@@ -35,6 +35,7 @@ obj-$(CONFIG_MTD_NAND_PXA3xx) += pxa3xx obj-$(CONFIG_MTD_NAND_TMIO) += tmio_nand.o obj-$(CONFIG_MTD_NAND_PLATFORM) += plat_nand.o obj-$(CONFIG_MTD_NAND_RB4XX) += rb4xx_nand.o +obj-$(CONFIG_MTD_NAND_RB750) += rb750_nand.o obj-$(CONFIG_MTD_NAND_PASEMI) += pasemi_nand.o obj-$(CONFIG_MTD_NAND_ORION) += orion_nand.o - obj-$(CONFIG_MTD_NAND_FSL_ELBC) += fsl_elbc_nand.o + obj-$(CONFIG_MTD_NAND_OXNAS) += oxnas_nand.o diff --git a/target/linux/ar71xx/patches-4.14/411-mtd-cfi_cmdset_0002-force-word-write.patch b/target/linux/ar71xx/patches-4.14/411-mtd-cfi_cmdset_0002-force-word-write.patch index ddd69f17e1..b28d6c1c2d 100644 --- a/target/linux/ar71xx/patches-4.14/411-mtd-cfi_cmdset_0002-force-word-write.patch +++ b/target/linux/ar71xx/patches-4.14/411-mtd-cfi_cmdset_0002-force-word-write.patch @@ -35,7 +35,7 @@ /* Atmel chips don't use the same PRI format as AMD chips */ static void fixup_convert_atmel_pri(struct mtd_info *mtd) -@@ -1788,6 +1792,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! */ @@ -43,7 +43,7 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip, unsigned long adr, const u_char *buf, int len) -@@ -1916,7 +1921,6 @@ static int __xipram do_write_buffer(stru +@@ -1920,7 +1925,6 @@ static int __xipram do_write_buffer(stru return ret; } @@ -51,7 +51,7 @@ static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf) { -@@ -1991,6 +1995,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/ar71xx/patches-4.14/413-mtd-ar934x-nand-driver.patch b/target/linux/ar71xx/patches-4.14/413-mtd-ar934x-nand-driver.patch index 9f9c339e6b..a2f34f6776 100644 --- a/target/linux/ar71xx/patches-4.14/413-mtd-ar934x-nand-driver.patch +++ b/target/linux/ar71xx/patches-4.14/413-mtd-ar934x-nand-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig -@@ -577,4 +577,12 @@ config MTD_NAND_RB750 +@@ -571,4 +571,12 @@ config MTD_NAND_RB750 tristate "NAND flash driver for the RouterBoard 750" depends on MTD_NAND && ATH79_MACH_RB750 diff --git a/target/linux/ar71xx/patches-4.14/414-mtd-rb91x-nand-driver.patch b/target/linux/ar71xx/patches-4.14/414-mtd-rb91x-nand-driver.patch index d1b61f096d..f9784a2d13 100644 --- a/target/linux/ar71xx/patches-4.14/414-mtd-rb91x-nand-driver.patch +++ b/target/linux/ar71xx/patches-4.14/414-mtd-rb91x-nand-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig -@@ -577,6 +577,10 @@ config MTD_NAND_RB750 +@@ -571,6 +571,10 @@ config MTD_NAND_RB750 tristate "NAND flash driver for the RouterBoard 750" depends on MTD_NAND && ATH79_MACH_RB750 @@ -13,11 +13,11 @@ depends on (SOC_AR934X || SOC_QCA955X) --- a/drivers/mtd/nand/Makefile +++ b/drivers/mtd/nand/Makefile -@@ -36,6 +36,7 @@ obj-$(CONFIG_MTD_NAND_TMIO) += tmio_nan +@@ -37,6 +37,7 @@ obj-$(CONFIG_MTD_NAND_TMIO) += tmio_nan obj-$(CONFIG_MTD_NAND_PLATFORM) += plat_nand.o obj-$(CONFIG_MTD_NAND_RB4XX) += rb4xx_nand.o obj-$(CONFIG_MTD_NAND_RB750) += rb750_nand.o +obj-$(CONFIG_MTD_NAND_RB91X) += rb91x_nand.o obj-$(CONFIG_MTD_NAND_PASEMI) += pasemi_nand.o obj-$(CONFIG_MTD_NAND_ORION) += orion_nand.o - obj-$(CONFIG_MTD_NAND_FSL_ELBC) += fsl_elbc_nand.o + obj-$(CONFIG_MTD_NAND_OXNAS) += oxnas_nand.o diff --git a/target/linux/ar71xx/patches-4.14/420-net-ar71xx_mac_driver.patch b/target/linux/ar71xx/patches-4.14/420-net-ar71xx_mac_driver.patch index feb2e6a393..6377db0ac2 100644 --- a/target/linux/ar71xx/patches-4.14/420-net-ar71xx_mac_driver.patch +++ b/target/linux/ar71xx/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/ar71xx/patches-4.14/423-dsa-add-88e6063-driver.patch b/target/linux/ar71xx/patches-4.14/423-dsa-add-88e6063-driver.patch index d0f62a4a3b..94172d01b7 100644 --- a/target/linux/ar71xx/patches-4.14/423-dsa-add-88e6063-driver.patch +++ b/target/linux/ar71xx/patches-4.14/423-dsa-add-88e6063-driver.patch @@ -1,7 +1,5 @@ -Index: linux-4.14.61/drivers/net/dsa/Kconfig -=================================================================== ---- linux-4.14.61.orig/drivers/net/dsa/Kconfig -+++ linux-4.14.61/drivers/net/dsa/Kconfig +--- a/drivers/net/dsa/Kconfig ++++ b/drivers/net/dsa/Kconfig @@ -3,6 +3,14 @@ menu "Distributed Switch Architecture dr source "drivers/net/dsa/b53/Kconfig" @@ -17,10 +15,8 @@ Index: linux-4.14.61/drivers/net/dsa/Kconfig config NET_DSA_BCM_SF2 tristate "Broadcom Starfighter 2 Ethernet switch support" depends on HAS_IOMEM && NET_DSA && OF_MDIO -Index: linux-4.14.61/drivers/net/dsa/Makefile -=================================================================== ---- linux-4.14.61.orig/drivers/net/dsa/Makefile -+++ linux-4.14.61/drivers/net/dsa/Makefile +--- a/drivers/net/dsa/Makefile ++++ b/drivers/net/dsa/Makefile @@ -7,6 +7,7 @@ obj-$(CONFIG_FIXED_PHY) += dsa_loop_bdi endif obj-$(CONFIG_NET_DSA_MT7530) += mt7530.o diff --git a/target/linux/ar71xx/patches-4.14/430-drivers-link-spi-before-mtd.patch b/target/linux/ar71xx/patches-4.14/430-drivers-link-spi-before-mtd.patch index a862454597..2f1549710b 100644 --- a/target/linux/ar71xx/patches-4.14/430-drivers-link-spi-before-mtd.patch +++ b/target/linux/ar71xx/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/ar71xx/patches-4.14/432-spi-rb4xx-spi-driver.patch b/target/linux/ar71xx/patches-4.14/432-spi-rb4xx-spi-driver.patch index e896d0bdf4..9b0148998f 100644 --- a/target/linux/ar71xx/patches-4.14/432-spi-rb4xx-spi-driver.patch +++ b/target/linux/ar71xx/patches-4.14/432-spi-rb4xx-spi-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig -@@ -533,6 +533,12 @@ config SPI_QUP +@@ -563,6 +563,12 @@ config SPI_QUP This driver can also be built as a module. If so, the module will be called spi_qup. @@ -15,7 +15,7 @@ depends on ARCH_S3C24XX --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile -@@ -72,6 +72,7 @@ obj-$(CONFIG_SPI_PPC4xx) += spi-ppc4xx. +@@ -77,6 +77,7 @@ obj-$(CONFIG_SPI_PPC4xx) += spi-ppc4xx. spi-pxa2xx-platform-objs := spi-pxa2xx.o spi-pxa2xx-dma.o obj-$(CONFIG_SPI_PXA2XX) += spi-pxa2xx-platform.o obj-$(CONFIG_SPI_PXA2XX_PCI) += spi-pxa2xx-pci.o diff --git a/target/linux/ar71xx/patches-4.14/433-spi-rb4xx-cpld-driver.patch b/target/linux/ar71xx/patches-4.14/433-spi-rb4xx-cpld-driver.patch index c44acab32e..02c30c6631 100644 --- a/target/linux/ar71xx/patches-4.14/433-spi-rb4xx-cpld-driver.patch +++ b/target/linux/ar71xx/patches-4.14/433-spi-rb4xx-cpld-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig -@@ -761,6 +761,13 @@ config SPI_TLE62X0 +@@ -801,6 +801,13 @@ config SPI_TLE62X0 sysfs interface, with each line presented as a kind of GPIO exposing both switch control and diagnostic feedback. @@ -16,7 +16,7 @@ # --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile -@@ -73,6 +73,7 @@ spi-pxa2xx-platform-objs := spi-pxa2xx. +@@ -78,6 +78,7 @@ spi-pxa2xx-platform-objs := spi-pxa2xx. obj-$(CONFIG_SPI_PXA2XX) += spi-pxa2xx-platform.o obj-$(CONFIG_SPI_PXA2XX_PCI) += spi-pxa2xx-pci.o obj-$(CONFIG_SPI_RB4XX) += spi-rb4xx.o diff --git a/target/linux/ar71xx/patches-4.14/435-spi-vsc7385_driver.patch b/target/linux/ar71xx/patches-4.14/435-spi-vsc7385_driver.patch index f9f1f7a1e5..bef0c86761 100644 --- a/target/linux/ar71xx/patches-4.14/435-spi-vsc7385_driver.patch +++ b/target/linux/ar71xx/patches-4.14/435-spi-vsc7385_driver.patch @@ -1,6 +1,6 @@ --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig -@@ -768,6 +768,11 @@ config SPI_RB4XX_CPLD +@@ -808,6 +808,11 @@ config SPI_RB4XX_CPLD SPI driver for the Xilinx CPLD chip present on the MikroTik RB4xx boards. @@ -14,7 +14,7 @@ # --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile -@@ -99,6 +99,7 @@ spi-thunderx-objs := spi-cavium.o spi- +@@ -105,6 +105,7 @@ spi-thunderx-objs := spi-cavium.o spi- obj-$(CONFIG_SPI_THUNDERX) += spi-thunderx.o obj-$(CONFIG_SPI_TOPCLIFF_PCH) += spi-topcliff-pch.o obj-$(CONFIG_SPI_TXX9) += spi-txx9.o diff --git a/target/linux/ar71xx/patches-4.14/440-leds-wndr3700-usb-led-driver.patch b/target/linux/ar71xx/patches-4.14/440-leds-wndr3700-usb-led-driver.patch index 0bf5b1a7d9..e5f7cc5c00 100644 --- a/target/linux/ar71xx/patches-4.14/440-leds-wndr3700-usb-led-driver.patch +++ b/target/linux/ar71xx/patches-4.14/440-leds-wndr3700-usb-led-driver.patch @@ -1,8 +1,8 @@ --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig -@@ -659,6 +659,13 @@ config LEDS_MLXCPLD - This option enabled support for the LEDs on the Mellanox - boards. Say Y to enabled these. +@@ -696,6 +696,13 @@ config LEDS_NIC78BX + To compile this driver as a module, choose M here: the module + will be called leds-nic78bx. +config LEDS_WNDR3700_USB + tristate "NETGEAR WNDR3700 USB LED driver" @@ -16,7 +16,7 @@ --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -48,6 +48,7 @@ obj-$(CONFIG_LEDS_DA9052) += leds-da905 +@@ -51,6 +51,7 @@ obj-$(CONFIG_LEDS_DA9052) += leds-da905 obj-$(CONFIG_LEDS_WM831X_STATUS) += leds-wm831x-status.o obj-$(CONFIG_LEDS_WM8350) += leds-wm8350.o obj-$(CONFIG_LEDS_PWM) += leds-pwm.o diff --git a/target/linux/ar71xx/patches-4.14/441-leds-rb750-led-driver.patch b/target/linux/ar71xx/patches-4.14/441-leds-rb750-led-driver.patch index 777a0df917..012e6b4380 100644 --- a/target/linux/ar71xx/patches-4.14/441-leds-rb750-led-driver.patch +++ b/target/linux/ar71xx/patches-4.14/441-leds-rb750-led-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig -@@ -666,6 +666,10 @@ config LEDS_WNDR3700_USB +@@ -703,6 +703,10 @@ config LEDS_WNDR3700_USB This option enables support for the USB LED found on the NETGEAR WNDR3700 board. @@ -13,9 +13,9 @@ --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -55,6 +55,7 @@ obj-$(CONFIG_LEDS_LT3593) += leds-lt359 +@@ -57,6 +57,7 @@ obj-$(CONFIG_LEDS_INTEL_SS4200) += leds + obj-$(CONFIG_LEDS_LT3593) += leds-lt3593.o obj-$(CONFIG_LEDS_ADP5520) += leds-adp5520.o - obj-$(CONFIG_LEDS_DELL_NETBOOKS) += dell-led.o obj-$(CONFIG_LEDS_MC13783) += leds-mc13783.o +obj-$(CONFIG_LEDS_RB750) += leds-rb750.o obj-$(CONFIG_LEDS_NS2) += leds-ns2.o diff --git a/target/linux/ar71xx/patches-4.14/442-leds-gpio-allow-to-use-OPEN_-DRAIN-SOURCE-flags-with.patch b/target/linux/ar71xx/patches-4.14/442-leds-gpio-allow-to-use-OPEN_-DRAIN-SOURCE-flags-with.patch index 26c8cb5dfc..3dbf68b1ed 100644 --- a/target/linux/ar71xx/patches-4.14/442-leds-gpio-allow-to-use-OPEN_-DRAIN-SOURCE-flags-with.patch +++ b/target/linux/ar71xx/patches-4.14/442-leds-gpio-allow-to-use-OPEN_-DRAIN-SOURCE-flags-with.patch @@ -34,9 +34,9 @@ Signed-off-by: Gabor Juhos if (ret < 0) --- a/include/linux/leds.h +++ b/include/linux/leds.h -@@ -380,6 +380,8 @@ struct gpio_led { - unsigned panic_indicator : 1; +@@ -395,6 +395,8 @@ struct gpio_led { unsigned default_state : 2; + unsigned retain_state_shutdown : 1; /* default_state should be one of LEDS_GPIO_DEFSTATE_(ON|OFF|KEEP) */ + unsigned open_drain : 1; + unsigned open_source : 1; diff --git a/target/linux/ar71xx/patches-4.14/450-gpio-nxp-74hc153-gpio-chip-driver.patch b/target/linux/ar71xx/patches-4.14/450-gpio-nxp-74hc153-gpio-chip-driver.patch index 7ffdc769e3..3ea491bc37 100644 --- a/target/linux/ar71xx/patches-4.14/450-gpio-nxp-74hc153-gpio-chip-driver.patch +++ b/target/linux/ar71xx/patches-4.14/450-gpio-nxp-74hc153-gpio-chip-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig -@@ -1213,4 +1213,12 @@ config GPIO_VIPERBOARD +@@ -1298,4 +1298,12 @@ config GPIO_VIPERBOARD endmenu @@ -15,7 +15,7 @@ endif --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -83,6 +83,7 @@ obj-$(CONFIG_GPIO_MSIC) += gpio-msic.o +@@ -89,6 +89,7 @@ obj-$(CONFIG_GPIO_MSIC) += gpio-msic.o obj-$(CONFIG_GPIO_MVEBU) += gpio-mvebu.o obj-$(CONFIG_GPIO_MXC) += gpio-mxc.o obj-$(CONFIG_GPIO_MXS) += gpio-mxs.o diff --git a/target/linux/ar71xx/patches-4.14/451-gpio-74x164-improve-platform-device-support.patch b/target/linux/ar71xx/patches-4.14/451-gpio-74x164-improve-platform-device-support.patch index a3d752e9a4..870804e937 100644 --- a/target/linux/ar71xx/patches-4.14/451-gpio-74x164-improve-platform-device-support.patch +++ b/target/linux/ar71xx/patches-4.14/451-gpio-74x164-improve-platform-device-support.patch @@ -1,6 +1,6 @@ --- a/drivers/gpio/gpio-74x164.c +++ b/drivers/gpio/gpio-74x164.c -@@ -12,6 +12,7 @@ +@@ -13,6 +13,7 @@ #include #include #include @@ -8,7 +8,7 @@ #include #include #include -@@ -103,9 +104,16 @@ static int gen_74x164_direction_output(s +@@ -105,9 +106,16 @@ static int gen_74x164_direction_output(s static int gen_74x164_probe(struct spi_device *spi) { struct gen_74x164_chip *chip; @@ -25,7 +25,7 @@ /* * bits_per_word cannot be configured in platform data */ -@@ -115,12 +123,15 @@ static int gen_74x164_probe(struct spi_d +@@ -117,12 +125,15 @@ static int gen_74x164_probe(struct spi_d if (ret < 0) return ret; @@ -47,7 +47,7 @@ chip = devm_kzalloc(&spi->dev, sizeof(*chip) + nregs, GFP_KERNEL); if (!chip) -@@ -133,7 +144,11 @@ static int gen_74x164_probe(struct spi_d +@@ -142,7 +153,11 @@ static int gen_74x164_probe(struct spi_d chip->gpio_chip.get = gen_74x164_get_value; chip->gpio_chip.set = gen_74x164_set_value; chip->gpio_chip.set_multiple = gen_74x164_set_multiple; @@ -60,7 +60,7 @@ chip->registers = nregs; chip->gpio_chip.ngpio = GEN_74X164_NUMBER_GPIOS * chip->registers; -@@ -142,6 +157,9 @@ static int gen_74x164_probe(struct spi_d +@@ -151,6 +166,9 @@ static int gen_74x164_probe(struct spi_d chip->gpio_chip.parent = &spi->dev; chip->gpio_chip.owner = THIS_MODULE; @@ -70,7 +70,7 @@ mutex_init(&chip->lock); ret = __gen_74x164_write_config(chip); -@@ -170,17 +188,19 @@ static int gen_74x164_remove(struct spi_ +@@ -180,17 +198,19 @@ static int gen_74x164_remove(struct spi_ return 0; } @@ -109,7 +109,7 @@ +#endif --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig -@@ -1154,7 +1154,6 @@ menu "SPI GPIO expanders" +@@ -1250,7 +1250,6 @@ menu "SPI GPIO expanders" config GPIO_74X164 tristate "74x164 serial-in/parallel-out 8-bits shift register" diff --git a/target/linux/ar71xx/patches-4.14/452-gpio-add-gpio-latch-driver.patch b/target/linux/ar71xx/patches-4.14/452-gpio-add-gpio-latch-driver.patch index a56226f095..d88b480410 100644 --- a/target/linux/ar71xx/patches-4.14/452-gpio-add-gpio-latch-driver.patch +++ b/target/linux/ar71xx/patches-4.14/452-gpio-add-gpio-latch-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig -@@ -1220,4 +1220,9 @@ config GPIO_NXP_74HC153 +@@ -1305,4 +1305,9 @@ config GPIO_NXP_74HC153 Platform driver for NXP 74HC153 Dual 4-input Multiplexer. This provides a GPIO interface supporting input mode only. @@ -12,7 +12,7 @@ endif --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -56,6 +56,7 @@ obj-$(CONFIG_GPIO_JANZ_TTL) += gpio-janz +@@ -63,6 +63,7 @@ obj-$(CONFIG_GPIO_JANZ_TTL) += gpio-janz obj-$(CONFIG_GPIO_KEMPLD) += gpio-kempld.o obj-$(CONFIG_ARCH_KS8695) += gpio-ks8695.o obj-$(CONFIG_GPIO_INTEL_MID) += gpio-intel-mid.o diff --git a/target/linux/ar71xx/patches-4.14/461-spi-ath79-add-fast-flash-read.patch b/target/linux/ar71xx/patches-4.14/461-spi-ath79-add-fast-flash-read.patch index 5c3583f758..45f6dfbf1b 100644 --- a/target/linux/ar71xx/patches-4.14/461-spi-ath79-add-fast-flash-read.patch +++ b/target/linux/ar71xx/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,7 +49,7 @@ static int ath79_spi_probe(struct platform_device *pdev) { struct spi_master *master; -@@ -234,6 +263,8 @@ static int ath79_spi_probe(struct platfo +@@ -233,6 +262,8 @@ static int ath79_spi_probe(struct platfo master->num_chipselect = pdata->num_chipselect; master->cs_gpios = pdata->cs_gpios; } diff --git a/target/linux/ar71xx/patches-4.14/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch b/target/linux/ar71xx/patches-4.14/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch index e2d346ab3d..efd7d8d82b 100644 --- a/target/linux/ar71xx/patches-4.14/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch +++ b/target/linux/ar71xx/patches-4.14/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch @@ -1,7 +1,5 @@ -Index: linux-4.14.61/arch/mips/include/asm/mach-ath79/mangle-port.h -=================================================================== --- /dev/null -+++ linux-4.14.61/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 @@ -40,10 +38,8 @@ Index: linux-4.14.61/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.61/arch/mips/ath79/pci.c -=================================================================== ---- linux-4.14.61.orig/arch/mips/ath79/pci.c -+++ linux-4.14.61/arch/mips/ath79/pci.c +--- a/arch/mips/ath79/pci.c ++++ b/arch/mips/ath79/pci.c @@ -13,6 +13,7 @@ */ diff --git a/target/linux/ar71xx/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch b/target/linux/ar71xx/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch index 8a05adb050..f9ee417bb4 100644 --- a/target/linux/ar71xx/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch +++ b/target/linux/ar71xx/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 +@@ -265,6 +273,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/ar71xx/patches-4.14/500-MIPS-fw-myloader.patch b/target/linux/ar71xx/patches-4.14/500-MIPS-fw-myloader.patch index 304fd69b22..1250a41b38 100644 --- a/target/linux/ar71xx/patches-4.14/500-MIPS-fw-myloader.patch +++ b/target/linux/ar71xx/patches-4.14/500-MIPS-fw-myloader.patch @@ -1,6 +1,6 @@ --- a/arch/mips/Makefile +++ b/arch/mips/Makefile -@@ -218,6 +218,7 @@ cflags-$(toolchain-virt) += -DTOOLCHAIN +@@ -227,6 +227,7 @@ cflags-$(toolchain-virt) += -DTOOLCHAIN # libs-$(CONFIG_FW_ARC) += arch/mips/fw/arc/ libs-$(CONFIG_FW_CFE) += arch/mips/fw/cfe/ @@ -10,7 +10,7 @@ --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -1150,6 +1150,9 @@ config MIPS_MSC +@@ -1151,6 +1151,9 @@ config MIPS_MSC config MIPS_NILE4 bool diff --git a/target/linux/ar71xx/patches-4.14/602-MIPS-ath79-add-openwrt-stuff.patch b/target/linux/ar71xx/patches-4.14/602-MIPS-ath79-add-openwrt-stuff.patch index cbd69e337b..047be0c7fd 100644 --- a/target/linux/ar71xx/patches-4.14/602-MIPS-ath79-add-openwrt-stuff.patch +++ b/target/linux/ar71xx/patches-4.14/602-MIPS-ath79-add-openwrt-stuff.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -98,6 +98,20 @@ config SOC_QCA955X +@@ -99,6 +99,20 @@ config SOC_QCA955X select PCI_AR724X if PCI def_bool n @@ -21,7 +21,7 @@ config PCI_AR724X def_bool n -@@ -107,6 +121,10 @@ config ATH79_DEV_GPIO_BUTTONS +@@ -108,6 +122,10 @@ config ATH79_DEV_GPIO_BUTTONS config ATH79_DEV_LEDS_GPIO def_bool n @@ -32,7 +32,7 @@ config ATH79_DEV_SPI def_bool n -@@ -117,4 +135,14 @@ config ATH79_DEV_WMAC +@@ -118,4 +136,14 @@ config ATH79_DEV_WMAC depends on (SOC_AR913X || SOC_AR933X || SOC_AR934X || SOC_QCA955X) def_bool n diff --git a/target/linux/ar71xx/patches-4.14/603-MIPS-ath79-ap121-fixes.patch b/target/linux/ar71xx/patches-4.14/603-MIPS-ath79-ap121-fixes.patch index 773a858ae1..672f38e938 100644 --- a/target/linux/ar71xx/patches-4.14/603-MIPS-ath79-ap121-fixes.patch +++ b/target/linux/ar71xx/patches-4.14/603-MIPS-ath79-ap121-fixes.patch @@ -135,7 +135,7 @@ + ap121_mini_setup); --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -5,9 +5,10 @@ menu "Atheros AR71XX/AR724X/AR913X machi +@@ -6,9 +6,10 @@ menu "Atheros AR71XX/AR724X/AR913X machi config ATH79_MACH_AP121 bool "Atheros AP121 reference board" select SOC_AR933X diff --git a/target/linux/ar71xx/patches-4.14/604-MIPS-ath79-no-of.patch b/target/linux/ar71xx/patches-4.14/604-MIPS-ath79-no-of.patch index 89dd32a7c1..499145ecd0 100644 --- a/target/linux/ar71xx/patches-4.14/604-MIPS-ath79-no-of.patch +++ b/target/linux/ar71xx/patches-4.14/604-MIPS-ath79-no-of.patch @@ -1,6 +1,6 @@ --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -196,7 +196,6 @@ config ATH79 +@@ -202,7 +202,6 @@ config ATH79 select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_MIPS16 select SYS_SUPPORTS_ZBOOT_UART_PROM @@ -55,7 +55,7 @@ +#endif --- a/arch/mips/ath79/clock.c +++ b/arch/mips/ath79/clock.c -@@ -33,10 +33,12 @@ +@@ -32,10 +32,12 @@ #define AR724X_BASE_FREQ 40000000 static struct clk *clks[ATH79_CLK_END]; diff --git a/target/linux/ar71xx/patches-4.14/605-MIPS-ath79-db120-fixes.patch b/target/linux/ar71xx/patches-4.14/605-MIPS-ath79-db120-fixes.patch index b83a4250c0..44335f2ff7 100644 --- a/target/linux/ar71xx/patches-4.14/605-MIPS-ath79-db120-fixes.patch +++ b/target/linux/ar71xx/patches-4.14/605-MIPS-ath79-db120-fixes.patch @@ -188,7 +188,7 @@ MIPS_MACHINE(ATH79_MACH_DB120, "DB120", "Atheros DB120 reference board", --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -42,9 +42,12 @@ config ATH79_MACH_AP81 +@@ -43,9 +43,12 @@ config ATH79_MACH_AP81 config ATH79_MACH_DB120 bool "Atheros DB120 reference board" select SOC_AR934X diff --git a/target/linux/ar71xx/patches-4.14/606-MIPS-ath79-pb44-fixes.patch b/target/linux/ar71xx/patches-4.14/606-MIPS-ath79-pb44-fixes.patch index fbd395c9ba..c9cb7e5c00 100644 --- a/target/linux/ar71xx/patches-4.14/606-MIPS-ath79-pb44-fixes.patch +++ b/target/linux/ar71xx/patches-4.14/606-MIPS-ath79-pb44-fixes.patch @@ -1,7 +1,5 @@ -Index: linux-4.14.61/arch/mips/ath79/mach-pb44.c -=================================================================== ---- linux-4.14.61.orig/arch/mips/ath79/mach-pb44.c -+++ linux-4.14.61/arch/mips/ath79/mach-pb44.c +--- a/arch/mips/ath79/mach-pb44.c ++++ b/arch/mips/ath79/mach-pb44.c @@ -8,23 +8,47 @@ * by the Free Software Foundation. */ @@ -134,10 +132,8 @@ Index: linux-4.14.61/arch/mips/ath79/mach-pb44.c } MIPS_MACHINE(ATH79_MACH_PB44, "PB44", "Atheros PB44 reference board", -Index: linux-4.14.61/arch/mips/ath79/Kconfig -=================================================================== ---- linux-4.14.61.orig/arch/mips/ath79/Kconfig -+++ linux-4.14.61/arch/mips/ath79/Kconfig +--- a/arch/mips/ath79/Kconfig ++++ b/arch/mips/ath79/Kconfig @@ -58,6 +58,7 @@ config ATH79_MACH_DB120 config ATH79_MACH_PB44 bool "Atheros PB44 reference board" diff --git a/target/linux/ar71xx/patches-4.14/607-MIPS-ath79-ubnt-xm-fixes.patch b/target/linux/ar71xx/patches-4.14/607-MIPS-ath79-ubnt-xm-fixes.patch index d667215a15..4699c82746 100644 --- a/target/linux/ar71xx/patches-4.14/607-MIPS-ath79-ubnt-xm-fixes.patch +++ b/target/linux/ar71xx/patches-4.14/607-MIPS-ath79-ubnt-xm-fixes.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -69,9 +69,10 @@ config ATH79_MACH_PB44 +@@ -70,9 +70,10 @@ config ATH79_MACH_PB44 config ATH79_MACH_UBNT_XM bool "Ubiquiti Networks XM (rev 1.0) board" select SOC_AR724X diff --git a/target/linux/ar71xx/patches-4.14/608-MIPS-ath79-ubnt-xm-add-more-boards.patch b/target/linux/ar71xx/patches-4.14/608-MIPS-ath79-ubnt-xm-add-more-boards.patch index 536c28d1ca..b33db4dd0d 100644 --- a/target/linux/ar71xx/patches-4.14/608-MIPS-ath79-ubnt-xm-add-more-boards.patch +++ b/target/linux/ar71xx/patches-4.14/608-MIPS-ath79-ubnt-xm-add-more-boards.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -67,12 +67,16 @@ config ATH79_MACH_PB44 +@@ -68,12 +68,16 @@ config ATH79_MACH_PB44 Atheros PB44 reference board. config ATH79_MACH_UBNT_XM diff --git a/target/linux/ar71xx/patches-4.14/609-MIPS-ath79-ap136-fixes.patch b/target/linux/ar71xx/patches-4.14/609-MIPS-ath79-ap136-fixes.patch index 0f66e42f99..7f3a242cad 100644 --- a/target/linux/ar71xx/patches-4.14/609-MIPS-ath79-ap136-fixes.patch +++ b/target/linux/ar71xx/patches-4.14/609-MIPS-ath79-ap136-fixes.patch @@ -278,7 +278,7 @@ + ap135_020_setup); --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -16,16 +16,17 @@ config ATH79_MACH_AP121 +@@ -17,16 +17,17 @@ config ATH79_MACH_AP121 Atheros AP121 reference board. config ATH79_MACH_AP136 diff --git a/target/linux/ar71xx/patches-4.14/620-MIPS-ath79-add-support-for-QCA953x-SoC.patch b/target/linux/ar71xx/patches-4.14/620-MIPS-ath79-add-support-for-QCA953x-SoC.patch index ed887cc500..4381cb8faf 100644 --- a/target/linux/ar71xx/patches-4.14/620-MIPS-ath79-add-support-for-QCA953x-SoC.patch +++ b/target/linux/ar71xx/patches-4.14/620-MIPS-ath79-add-support-for-QCA953x-SoC.patch @@ -22,7 +22,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed. --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -104,6 +104,10 @@ config SOC_AR934X +@@ -105,6 +105,10 @@ config SOC_AR934X select PCI_AR724X if PCI def_bool n @@ -33,7 +33,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed. config SOC_QCA955X select HW_HAS_PCI select PCI_AR724X if PCI -@@ -143,7 +147,7 @@ config ATH79_DEV_USB +@@ -144,7 +148,7 @@ config ATH79_DEV_USB def_bool n config ATH79_DEV_WMAC @@ -44,7 +44,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed. config ATH79_NVRAM --- a/arch/mips/ath79/clock.c +++ b/arch/mips/ath79/clock.c -@@ -358,6 +358,87 @@ static void __init ar934x_clocks_init(vo +@@ -357,6 +357,87 @@ static void __init ar934x_clocks_init(vo iounmap(dpll_base); } @@ -132,7 +132,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed. static void __init qca955x_clocks_init(void) { unsigned long ref_rate; -@@ -453,6 +534,8 @@ void __init ath79_clocks_init(void) +@@ -452,6 +533,8 @@ void __init ath79_clocks_init(void) ar933x_clocks_init(); else if (soc_is_ar934x()) ar934x_clocks_init(); diff --git a/target/linux/ar71xx/patches-4.14/621-MIPS-ath79-add-support-for-QCA956x-SoC.patch b/target/linux/ar71xx/patches-4.14/621-MIPS-ath79-add-support-for-QCA956x-SoC.patch index 56dea98fe5..5107b4019d 100644 --- a/target/linux/ar71xx/patches-4.14/621-MIPS-ath79-add-support-for-QCA956x-SoC.patch +++ b/target/linux/ar71xx/patches-4.14/621-MIPS-ath79-add-support-for-QCA956x-SoC.patch @@ -1,7 +1,5 @@ -Index: linux-4.14.61/arch/mips/ath79/Kconfig -=================================================================== ---- linux-4.14.61.orig/arch/mips/ath79/Kconfig -+++ linux-4.14.61/arch/mips/ath79/Kconfig +--- a/arch/mips/ath79/Kconfig ++++ b/arch/mips/ath79/Kconfig @@ -114,6 +114,12 @@ config SOC_QCA955X select PCI_AR724X if PCI def_bool n @@ -24,10 +22,8 @@ Index: linux-4.14.61/arch/mips/ath79/Kconfig def_bool n config ATH79_NVRAM -Index: linux-4.14.61/arch/mips/ath79/clock.c -=================================================================== ---- linux-4.14.61.orig/arch/mips/ath79/clock.c -+++ linux-4.14.61/arch/mips/ath79/clock.c +--- a/arch/mips/ath79/clock.c ++++ b/arch/mips/ath79/clock.c @@ -523,6 +523,100 @@ static void __init qca955x_clocks_init(v clk_add_alias("uart", NULL, "ref", NULL); } @@ -138,10 +134,8 @@ Index: linux-4.14.61/arch/mips/ath79/clock.c else BUG(); } -Index: linux-4.14.61/arch/mips/ath79/common.c -=================================================================== ---- linux-4.14.61.orig/arch/mips/ath79/common.c -+++ linux-4.14.61/arch/mips/ath79/common.c +--- a/arch/mips/ath79/common.c ++++ b/arch/mips/ath79/common.c @@ -107,6 +107,8 @@ void ath79_device_reset_set(u32 mask) reg = QCA953X_RESET_REG_RESET_MODULE; else if (soc_is_qca955x()) @@ -169,10 +163,8 @@ Index: linux-4.14.61/arch/mips/ath79/common.c else BUG(); -Index: linux-4.14.61/arch/mips/ath79/dev-common.c -=================================================================== ---- linux-4.14.61.orig/arch/mips/ath79/dev-common.c -+++ linux-4.14.61/arch/mips/ath79/dev-common.c +--- a/arch/mips/ath79/dev-common.c ++++ b/arch/mips/ath79/dev-common.c @@ -95,7 +95,9 @@ void __init ath79_register_uart(void) soc_is_ar913x() || soc_is_ar934x() || @@ -194,10 +186,8 @@ Index: linux-4.14.61/arch/mips/ath79/dev-common.c } else { BUG(); } -Index: linux-4.14.61/arch/mips/ath79/dev-usb.c -=================================================================== ---- linux-4.14.61.orig/arch/mips/ath79/dev-usb.c -+++ linux-4.14.61/arch/mips/ath79/dev-usb.c +--- a/arch/mips/ath79/dev-usb.c ++++ b/arch/mips/ath79/dev-usb.c @@ -296,6 +296,19 @@ static void __init qca955x_usb_setup(voi &ath79_ehci_pdata_v2, sizeof(ath79_ehci_pdata_v2)); } @@ -227,10 +217,8 @@ Index: linux-4.14.61/arch/mips/ath79/dev-usb.c else BUG(); } -Index: linux-4.14.61/arch/mips/ath79/dev-wmac.c -=================================================================== ---- linux-4.14.61.orig/arch/mips/ath79/dev-wmac.c -+++ linux-4.14.61/arch/mips/ath79/dev-wmac.c +--- a/arch/mips/ath79/dev-wmac.c ++++ b/arch/mips/ath79/dev-wmac.c @@ -195,6 +195,26 @@ static void qca955x_wmac_setup(void) #define AR93XX_OTP_READ_DATA \ (soc_is_ar934x() ? AR934X_OTP_READ_DATA : AR9300_OTP_READ_DATA) @@ -267,10 +255,8 @@ Index: linux-4.14.61/arch/mips/ath79/dev-wmac.c else BUG(); -Index: linux-4.14.61/arch/mips/ath79/early_printk.c -=================================================================== ---- linux-4.14.61.orig/arch/mips/ath79/early_printk.c -+++ linux-4.14.61/arch/mips/ath79/early_printk.c +--- a/arch/mips/ath79/early_printk.c ++++ b/arch/mips/ath79/early_printk.c @@ -120,6 +120,8 @@ static void prom_putchar_init(void) case REV_ID_MAJOR_QCA9533_V2: case REV_ID_MAJOR_QCA9556: @@ -280,10 +266,8 @@ Index: linux-4.14.61/arch/mips/ath79/early_printk.c _prom_putchar = prom_putchar_ar71xx; break; -Index: linux-4.14.61/arch/mips/ath79/gpio.c -=================================================================== ---- linux-4.14.61.orig/arch/mips/ath79/gpio.c -+++ linux-4.14.61/arch/mips/ath79/gpio.c +--- a/arch/mips/ath79/gpio.c ++++ b/arch/mips/ath79/gpio.c @@ -31,7 +31,10 @@ static void __iomem *ath79_gpio_get_func soc_is_ar913x() || soc_is_ar933x()) @@ -305,10 +289,8 @@ Index: linux-4.14.61/arch/mips/ath79/gpio.c if (gpio >= AR934X_GPIO_COUNT) return; -Index: linux-4.14.61/arch/mips/ath79/irq.c -=================================================================== ---- linux-4.14.61.orig/arch/mips/ath79/irq.c -+++ linux-4.14.61/arch/mips/ath79/irq.c +--- a/arch/mips/ath79/irq.c ++++ b/arch/mips/ath79/irq.c @@ -156,6 +156,87 @@ static void qca955x_irq_init(void) irq_set_chained_handler(ATH79_CPU_IRQ(3), qca955x_ip3_irq_dispatch); } @@ -415,10 +397,8 @@ Index: linux-4.14.61/arch/mips/ath79/irq.c + else if (soc_is_qca956x() || soc_is_tp9343()) + qca956x_irq_init(); } -Index: linux-4.14.61/arch/mips/ath79/pci.c -=================================================================== ---- linux-4.14.61.orig/arch/mips/ath79/pci.c -+++ linux-4.14.61/arch/mips/ath79/pci.c +--- a/arch/mips/ath79/pci.c ++++ b/arch/mips/ath79/pci.c @@ -68,6 +68,21 @@ static const struct ath79_pci_irq qca955 }, }; @@ -467,10 +447,8 @@ Index: linux-4.14.61/arch/mips/ath79/pci.c } else { /* No PCI support */ return -ENODEV; -Index: linux-4.14.61/arch/mips/ath79/setup.c -=================================================================== ---- linux-4.14.61.orig/arch/mips/ath79/setup.c -+++ linux-4.14.61/arch/mips/ath79/setup.c +--- a/arch/mips/ath79/setup.c ++++ b/arch/mips/ath79/setup.c @@ -176,6 +176,18 @@ static void __init ath79_detect_sys_type rev = id & QCA955X_REV_ID_REVISION_MASK; break; @@ -504,10 +482,8 @@ Index: linux-4.14.61/arch/mips/ath79/setup.c else sprintf(ath79_sys_type, "Atheros AR%s rev %u", chip, rev); pr_info("SoC: %s\n", ath79_sys_type); -Index: linux-4.14.61/arch/mips/include/asm/mach-ath79/ar71xx_regs.h -=================================================================== ---- linux-4.14.61.orig/arch/mips/include/asm/mach-ath79/ar71xx_regs.h -+++ linux-4.14.61/arch/mips/include/asm/mach-ath79/ar71xx_regs.h +--- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h ++++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h @@ -143,6 +143,23 @@ #define QCA955X_NFC_BASE 0x1b800200 #define QCA955X_NFC_SIZE 0xb8 @@ -701,10 +677,8 @@ Index: linux-4.14.61/arch/mips/include/asm/mach-ath79/ar71xx_regs.h /* * SRIF block -Index: linux-4.14.61/arch/mips/include/asm/mach-ath79/ath79.h -=================================================================== ---- linux-4.14.61.orig/arch/mips/include/asm/mach-ath79/ath79.h -+++ linux-4.14.61/arch/mips/include/asm/mach-ath79/ath79.h +--- 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 { ATH79_SOC_QCA9533, ATH79_SOC_QCA9556, diff --git a/target/linux/ar71xx/patches-4.14/700-MIPS-ath79-add-openwrt-Kconfig.patch b/target/linux/ar71xx/patches-4.14/700-MIPS-ath79-add-openwrt-Kconfig.patch index 5d4b180003..093def8d11 100644 --- a/target/linux/ar71xx/patches-4.14/700-MIPS-ath79-add-openwrt-Kconfig.patch +++ b/target/linux/ar71xx/patches-4.14/700-MIPS-ath79-add-openwrt-Kconfig.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -82,6 +82,8 @@ config ATH79_MACH_UBNT_XM +@@ -83,6 +83,8 @@ config ATH79_MACH_UBNT_XM Say 'Y' here if you want your kernel to support the Ubiquiti Networks XM (rev 1.0) board. diff --git a/target/linux/ar71xx/patches-4.14/740-MIPS-ath79-add-PCI-for-QCA953x-SoC.patch b/target/linux/ar71xx/patches-4.14/740-MIPS-ath79-add-PCI-for-QCA953x-SoC.patch index d110e5e698..1a866740b5 100644 --- a/target/linux/ar71xx/patches-4.14/740-MIPS-ath79-add-PCI-for-QCA953x-SoC.patch +++ b/target/linux/ar71xx/patches-4.14/740-MIPS-ath79-add-PCI-for-QCA953x-SoC.patch @@ -1,7 +1,5 @@ -Index: linux-4.14.61/arch/mips/ath79/pci.c -=================================================================== ---- linux-4.14.61.orig/arch/mips/ath79/pci.c -+++ linux-4.14.61/arch/mips/ath79/pci.c +--- a/arch/mips/ath79/pci.c ++++ b/arch/mips/ath79/pci.c @@ -53,6 +53,15 @@ static const struct ath79_pci_irq ar724x } }; diff --git a/target/linux/ar71xx/patches-4.14/818-MIPS-ath79-add-nu801-led-driver.patch b/target/linux/ar71xx/patches-4.14/818-MIPS-ath79-add-nu801-led-driver.patch index 337447e2bf..349c43d9fb 100644 --- a/target/linux/ar71xx/patches-4.14/818-MIPS-ath79-add-nu801-led-driver.patch +++ b/target/linux/ar71xx/patches-4.14/818-MIPS-ath79-add-nu801-led-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig -@@ -606,6 +606,13 @@ config LEDS_IS31FL32XX +@@ -632,6 +632,13 @@ config LEDS_IS31FL32XX comment "LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)" @@ -16,8 +16,8 @@ depends on LEDS_CLASS --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -56,6 +56,7 @@ obj-$(CONFIG_LEDS_ADP5520) += leds-adp5 - obj-$(CONFIG_LEDS_DELL_NETBOOKS) += dell-led.o +@@ -58,6 +58,7 @@ obj-$(CONFIG_LEDS_LT3593) += leds-lt359 + obj-$(CONFIG_LEDS_ADP5520) += leds-adp5520.o obj-$(CONFIG_LEDS_MC13783) += leds-mc13783.o obj-$(CONFIG_LEDS_RB750) += leds-rb750.o +obj-$(CONFIG_LEDS_NU801) += leds-nu801.o diff --git a/target/linux/ar71xx/patches-4.14/902-at803x-add-reset-gpio-pdata.patch b/target/linux/ar71xx/patches-4.14/902-at803x-add-reset-gpio-pdata.patch index 7822158cf2..81de68c9cb 100644 --- a/target/linux/ar71xx/patches-4.14/902-at803x-add-reset-gpio-pdata.patch +++ b/target/linux/ar71xx/patches-4.14/902-at803x-add-reset-gpio-pdata.patch @@ -16,7 +16,7 @@ Signed-off-by: Felix Fietkau #endif /* _PHY_AT803X_PDATA_H */ --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c -@@ -261,6 +261,7 @@ static int at803x_resume(struct phy_devi +@@ -259,6 +259,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 struct device *dev = &phydev->mdio.dev; struct at803x_priv *priv; struct gpio_desc *gpiod_reset; -@@ -273,6 +274,12 @@ static int at803x_probe(struct phy_devic +@@ -271,6 +272,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 gpiod_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW); if (IS_ERR(gpiod_reset)) return PTR_ERR(gpiod_reset); -@@ -404,15 +411,23 @@ static void at803x_link_change_notify(st +@@ -411,15 +418,23 @@ static void at803x_link_change_notify(st * cannot recover from by software. */ if (phydev->state == PHY_NOLINK) { diff --git a/target/linux/ar71xx/patches-4.14/903-at803x-add-sgmii-aneg-override-pdata.patch b/target/linux/ar71xx/patches-4.14/903-at803x-add-sgmii-aneg-override-pdata.patch index 9c922d155d..8948fd4954 100644 --- a/target/linux/ar71xx/patches-4.14/903-at803x-add-sgmii-aneg-override-pdata.patch +++ b/target/linux/ar71xx/patches-4.14/903-at803x-add-sgmii-aneg-override-pdata.patch @@ -1,8 +1,6 @@ -Index: linux-4.9.111/drivers/net/phy/at803x.c -=================================================================== ---- linux-4.9.111.orig/drivers/net/phy/at803x.c -+++ linux-4.9.111/drivers/net/phy/at803x.c -@@ -461,12 +461,15 @@ static void at803x_link_change_notify(st +--- a/drivers/net/phy/at803x.c ++++ b/drivers/net/phy/at803x.c +@@ -478,12 +478,15 @@ static void at803x_link_change_notify(st static int at803x_aneg_done(struct phy_device *phydev) { @@ -18,7 +16,7 @@ Index: linux-4.9.111/drivers/net/phy/at803x.c /* * in SGMII mode, if copper side autoneg is successful, * also check SGMII side autoneg result -@@ -481,7 +484,8 @@ static int at803x_aneg_done(struct phy_d +@@ -498,7 +501,8 @@ static int at803x_aneg_done(struct phy_d /* check if the SGMII link is OK. */ if (!(phy_read(phydev, AT803X_PSSR) & AT803X_PSSR_MR_AN_COMPLETE)) { pr_warn("803x_aneg_done: SGMII link is not ok\n"); @@ -28,10 +26,8 @@ Index: linux-4.9.111/drivers/net/phy/at803x.c } /* switch back to copper page */ phy_write(phydev, AT803X_REG_CHIP_CONFIG, ccr | AT803X_BT_BX_REG_SEL); -Index: linux-4.9.111/include/linux/platform_data/phy-at803x.h -=================================================================== ---- linux-4.9.111.orig/include/linux/platform_data/phy-at803x.h -+++ linux-4.9.111/include/linux/platform_data/phy-at803x.h +--- a/include/linux/platform_data/phy-at803x.h ++++ b/include/linux/platform_data/phy-at803x.h @@ -7,6 +7,7 @@ struct at803x_platform_data { int enable_rgmii_rx_delay:1; int fixup_rgmii_tx_delay:1; diff --git a/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch index fb8c4e6a02..358f89bd19 100644 --- a/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch @@ -1,7 +1,5 @@ -Index: linux-4.14.61/arch/mips/include/asm/checksum.h -=================================================================== ---- linux-4.14.61.orig/arch/mips/include/asm/checksum.h -+++ linux-4.14.61/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.61/arch/mips/include/asm/checksum.h #include #endif /* CONFIG_GENERIC_CSUM */ -Index: linux-4.14.61/include/uapi/linux/ip.h -=================================================================== ---- linux-4.14.61.orig/include/uapi/linux/ip.h -+++ linux-4.14.61/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.61/include/uapi/linux/ip.h struct ip_auth_hdr { -Index: linux-4.14.61/include/uapi/linux/ipv6.h -=================================================================== ---- linux-4.14.61.orig/include/uapi/linux/ipv6.h -+++ linux-4.14.61/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.61/include/uapi/linux/ipv6.h /* index values for the variables in ipv6_devconf */ -Index: linux-4.14.61/include/uapi/linux/tcp.h -=================================================================== ---- linux-4.14.61.orig/include/uapi/linux/tcp.h -+++ linux-4.14.61/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.61/include/uapi/linux/tcp.h #define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3]) -Index: linux-4.14.61/include/uapi/linux/udp.h -=================================================================== ---- linux-4.14.61.orig/include/uapi/linux/udp.h -+++ linux-4.14.61/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.61/include/uapi/linux/udp.h /* UDP socket options */ #define UDP_CORK 1 /* Never send partially complete segments */ -Index: linux-4.14.61/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c -=================================================================== ---- linux-4.14.61.orig/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c -+++ linux-4.14.61/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.61/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c return true; } -Index: linux-4.14.61/include/uapi/linux/icmp.h -=================================================================== ---- linux-4.14.61.orig/include/uapi/linux/icmp.h -+++ linux-4.14.61/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.61/include/uapi/linux/icmp.h /* -Index: linux-4.14.61/include/uapi/linux/in6.h -=================================================================== ---- linux-4.14.61.orig/include/uapi/linux/in6.h -+++ linux-4.14.61/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.61/include/uapi/linux/in6.h #endif /* __UAPI_DEF_IN6_ADDR */ #if __UAPI_DEF_SOCKADDR_IN6 -Index: linux-4.14.61/net/ipv6/tcp_ipv6.c -=================================================================== ---- linux-4.14.61.orig/net/ipv6/tcp_ipv6.c -+++ linux-4.14.61/net/ipv6/tcp_ipv6.c +--- a/net/ipv6/tcp_ipv6.c ++++ b/net/ipv6/tcp_ipv6.c @@ -39,6 +39,7 @@ #include #include @@ -247,10 +229,8 @@ Index: linux-4.14.61/net/ipv6/tcp_ipv6.c } #ifdef CONFIG_TCP_MD5SIG -Index: linux-4.14.61/include/linux/ipv6.h -=================================================================== ---- linux-4.14.61.orig/include/linux/ipv6.h -+++ linux-4.14.61/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,10 +239,8 @@ Index: linux-4.14.61/include/linux/ipv6.h /* * This structure contains configuration options per IPv6 link. */ -Index: linux-4.14.61/net/ipv6/datagram.c -=================================================================== ---- linux-4.14.61.orig/net/ipv6/datagram.c -+++ linux-4.14.61/net/ipv6/datagram.c +--- 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); @@ -287,10 +265,8 @@ Index: linux-4.14.61/net/ipv6/datagram.c break; case IPV6_2292HOPOPTS: -Index: linux-4.14.61/net/ipv6/ip6_gre.c -=================================================================== ---- linux-4.14.61.orig/net/ipv6/ip6_gre.c -+++ linux-4.14.61/net/ipv6/ip6_gre.c +--- 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; @@ -300,10 +276,8 @@ Index: linux-4.14.61/net/ipv6/ip6_gre.c t = ip6gre_tunnel_lookup(skb->dev, &ipv6h->daddr, &ipv6h->saddr, key, greh->protocol); -Index: linux-4.14.61/net/ipv6/exthdrs.c -=================================================================== ---- linux-4.14.61.orig/net/ipv6/exthdrs.c -+++ linux-4.14.61/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.61/net/ipv6/exthdrs.c if (pkt_len <= IPV6_MAXPLEN) { __IP6_INC_STATS(net, ipv6_skb_idev(skb), IPSTATS_MIB_INHDRERRORS); -Index: linux-4.14.61/include/linux/types.h -=================================================================== ---- linux-4.14.61.orig/include/linux/types.h -+++ linux-4.14.61/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.61/include/linux/types.h + #endif /* __ASSEMBLY__ */ #endif /* _LINUX_TYPES_H */ -Index: linux-4.14.61/net/ipv4/af_inet.c -=================================================================== ---- linux-4.14.61.orig/net/ipv4/af_inet.c -+++ linux-4.14.61/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,10 +314,8 @@ Index: linux-4.14.61/net/ipv4/af_inet.c id >>= 16; for (p = *head; p; p = p->next) { -Index: linux-4.14.61/net/ipv4/route.c -=================================================================== ---- linux-4.14.61.orig/net/ipv4/route.c -+++ linux-4.14.61/net/ipv4/route.c +--- 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.61/net/ipv4/route.c if (n) return n; return neigh_create(&arp_tbl, pkey, dev); -Index: linux-4.14.61/net/ipv4/tcp_output.c -=================================================================== ---- linux-4.14.61.orig/net/ipv4/tcp_output.c -+++ linux-4.14.61/net/ipv4/tcp_output.c +--- a/net/ipv4/tcp_output.c ++++ b/net/ipv4/tcp_output.c @@ -454,48 +454,53 @@ static void tcp_options_write(__be32 *pt u16 options = opts->options; /* mungable copy */ @@ -480,10 +446,8 @@ Index: linux-4.14.61/net/ipv4/tcp_output.c } memcpy(p, foc->val, foc->len); -Index: linux-4.14.61/net/ipv4/igmp.c -=================================================================== ---- linux-4.14.61.orig/net/ipv4/igmp.c -+++ linux-4.14.61/net/ipv4/igmp.c +--- a/net/ipv4/igmp.c ++++ b/net/ipv4/igmp.c @@ -537,7 +537,7 @@ static struct sk_buff *add_grec(struct s if (!skb) return NULL; @@ -493,10 +457,8 @@ Index: linux-4.14.61/net/ipv4/igmp.c scount++; stotal++; if ((type == IGMPV3_ALLOW_NEW_SOURCES || type == IGMPV3_BLOCK_OLD_SOURCES) && psf->sf_crcount) { -Index: linux-4.14.61/include/uapi/linux/igmp.h -=================================================================== ---- linux-4.14.61.orig/include/uapi/linux/igmp.h -+++ linux-4.14.61/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; @@ -533,10 +495,8 @@ Index: linux-4.14.61/include/uapi/linux/igmp.h #define IGMP_HOST_MEMBERSHIP_QUERY 0x11 /* From RFC1112 */ #define IGMP_HOST_MEMBERSHIP_REPORT 0x12 /* Ditto */ -Index: linux-4.14.61/net/core/flow_dissector.c -=================================================================== ---- linux-4.14.61.orig/net/core/flow_dissector.c -+++ linux-4.14.61/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); @@ -546,10 +506,8 @@ Index: linux-4.14.61/net/core/flow_dissector.c } return 0; -Index: linux-4.14.61/include/uapi/linux/icmpv6.h -=================================================================== ---- linux-4.14.61.orig/include/uapi/linux/icmpv6.h -+++ linux-4.14.61/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 @@ -559,10 +517,8 @@ Index: linux-4.14.61/include/uapi/linux/icmpv6.h #define ICMPV6_ROUTER_PREF_LOW 0x3 -Index: linux-4.14.61/include/net/ndisc.h -=================================================================== ---- linux-4.14.61.orig/include/net/ndisc.h -+++ linux-4.14.61/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; @@ -587,10 +543,8 @@ Index: linux-4.14.61/include/net/ndisc.h } static inline struct neighbour *__ipv6_neigh_lookup_noref(struct net_device *dev, const void *pkey) -Index: linux-4.14.61/net/sched/cls_u32.c -=================================================================== ---- linux-4.14.61.orig/net/sched/cls_u32.c -+++ linux-4.14.61/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) @@ -611,10 +565,8 @@ Index: linux-4.14.61/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.61/net/ipv6/ip6_offload.c -=================================================================== ---- linux-4.14.61.orig/net/ipv6/ip6_offload.c -+++ linux-4.14.61/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; @@ -624,10 +576,8 @@ Index: linux-4.14.61/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.61/include/net/addrconf.h -=================================================================== ---- linux-4.14.61.orig/include/net/addrconf.h -+++ linux-4.14.61/include/net/addrconf.h +--- a/include/net/addrconf.h ++++ b/include/net/addrconf.h @@ -47,7 +47,7 @@ struct prefix_info { __be32 reserved2; @@ -637,10 +587,8 @@ Index: linux-4.14.61/include/net/addrconf.h #include #include -Index: linux-4.14.61/include/net/inet_ecn.h -=================================================================== ---- linux-4.14.61.orig/include/net/inet_ecn.h -+++ linux-4.14.61/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; @@ -662,10 +610,8 @@ Index: linux-4.14.61/include/net/inet_ecn.h } static inline void ipv6_copy_dscp(unsigned int dscp, struct ipv6hdr *inner) -Index: linux-4.14.61/include/net/ipv6.h -=================================================================== ---- linux-4.14.61.orig/include/net/ipv6.h -+++ linux-4.14.61/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; @@ -744,10 +690,8 @@ Index: linux-4.14.61/include/net/ipv6.h } static inline u8 ip6_tclass(__be32 flowinfo) -Index: linux-4.14.61/include/net/secure_seq.h -=================================================================== ---- linux-4.14.61.orig/include/net/secure_seq.h -+++ linux-4.14.61/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 @@ -756,10 +700,8 @@ Index: linux-4.14.61/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.61/include/uapi/linux/in.h -=================================================================== ---- linux-4.14.61.orig/include/uapi/linux/in.h -+++ linux-4.14.61/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 { @@ -769,10 +711,8 @@ Index: linux-4.14.61/include/uapi/linux/in.h #endif #define IP_TOS 1 -Index: linux-4.14.61/net/ipv6/ip6_fib.c -=================================================================== ---- linux-4.14.61.orig/net/ipv6/ip6_fib.c -+++ linux-4.14.61/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. */ @@ -782,10 +722,8 @@ Index: linux-4.14.61/net/ipv6/ip6_fib.c } static struct fib6_node *node_alloc(void) -Index: linux-4.14.61/net/netfilter/nf_conntrack_proto_tcp.c -=================================================================== ---- linux-4.14.61.orig/net/netfilter/nf_conntrack_proto_tcp.c -+++ linux-4.14.61/net/netfilter/nf_conntrack_proto_tcp.c +--- 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 */ @@ -795,10 +733,8 @@ Index: linux-4.14.61/net/netfilter/nf_conntrack_proto_tcp.c | (TCPOPT_NOP << 16) | (TCPOPT_TIMESTAMP << 8) | TCPOLEN_TIMESTAMP)) -Index: linux-4.14.61/net/xfrm/xfrm_input.c -=================================================================== ---- linux-4.14.61.orig/net/xfrm/xfrm_input.c -+++ linux-4.14.61/net/xfrm/xfrm_input.c +--- a/net/xfrm/xfrm_input.c ++++ b/net/xfrm/xfrm_input.c @@ -193,8 +193,8 @@ int xfrm_parse_spi(struct sk_buff *skb, if (!pskb_may_pull(skb, hlen)) return -EINVAL; @@ -810,10 +746,8 @@ Index: linux-4.14.61/net/xfrm/xfrm_input.c return 0; } EXPORT_SYMBOL(xfrm_parse_spi); -Index: linux-4.14.61/net/ipv4/tcp_input.c -=================================================================== ---- linux-4.14.61.orig/net/ipv4/tcp_input.c -+++ linux-4.14.61/net/ipv4/tcp_input.c +--- a/net/ipv4/tcp_input.c ++++ b/net/ipv4/tcp_input.c @@ -3858,14 +3858,16 @@ static bool tcp_parse_aligned_timestamp( { const __be32 *ptr = (const __be32 *)(th + 1); @@ -836,10 +770,8 @@ Index: linux-4.14.61/net/ipv4/tcp_input.c else tp->rx_opt.rcv_tsecr = 0; return true; -Index: linux-4.14.61/include/uapi/linux/if_pppox.h -=================================================================== ---- linux-4.14.61.orig/include/uapi/linux/if_pppox.h -+++ linux-4.14.61/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 { @@ -848,10 +780,8 @@ Index: linux-4.14.61/include/uapi/linux/if_pppox.h struct in_addr sin_addr; }; -Index: linux-4.14.61/net/ipv6/netfilter/nf_log_ipv6.c -=================================================================== ---- linux-4.14.61.orig/net/ipv6/netfilter/nf_log_ipv6.c -+++ linux-4.14.61/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 ", @@ -864,10 +794,8 @@ Index: linux-4.14.61/net/ipv6/netfilter/nf_log_ipv6.c fragment = 0; ptr = ip6hoff + sizeof(struct ipv6hdr); -Index: linux-4.14.61/include/net/neighbour.h -=================================================================== ---- linux-4.14.61.orig/include/net/neighbour.h -+++ linux-4.14.61/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; @@ -881,10 +809,8 @@ Index: linux-4.14.61/include/net/neighbour.h } static inline struct neighbour *___neigh_lookup_noref( -Index: linux-4.14.61/include/uapi/linux/netfilter_arp/arp_tables.h -=================================================================== ---- linux-4.14.61.orig/include/uapi/linux/netfilter_arp/arp_tables.h -+++ linux-4.14.61/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 */ @@ -894,10 +820,8 @@ Index: linux-4.14.61/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.61/net/core/utils.c -=================================================================== ---- linux-4.14.61.orig/net/core/utils.c -+++ linux-4.14.61/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) { @@ -915,10 +839,8 @@ Index: linux-4.14.61/net/core/utils.c }; if (skb->ip_summed != CHECKSUM_PARTIAL) { *sum = csum_fold(csum_partial(diff, sizeof(diff), -Index: linux-4.14.61/drivers/net/vxlan.c -=================================================================== ---- linux-4.14.61.orig/drivers/net/vxlan.c -+++ linux-4.14.61/drivers/net/vxlan.c +--- a/drivers/net/vxlan.c ++++ b/drivers/net/vxlan.c @@ -1857,15 +1857,15 @@ static int vxlan_build_skb(struct sk_buf return err; @@ -939,10 +861,8 @@ Index: linux-4.14.61/drivers/net/vxlan.c if (!skb_is_gso(skb)) { skb->ip_summed = CHECKSUM_NONE; -Index: linux-4.14.61/include/linux/etherdevice.h -=================================================================== ---- linux-4.14.61.orig/include/linux/etherdevice.h -+++ linux-4.14.61/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 * @@ -969,10 +889,8 @@ Index: linux-4.14.61/include/linux/etherdevice.h #endif } -Index: linux-4.14.61/net/ipv4/tcp_offload.c -=================================================================== ---- linux-4.14.61.orig/net/ipv4/tcp_offload.c -+++ linux-4.14.61/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); @@ -993,10 +911,8 @@ Index: linux-4.14.61/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.61/net/ipv6/netfilter/ip6table_mangle.c -=================================================================== ---- linux-4.14.61.orig/net/ipv6/netfilter/ip6table_mangle.c -+++ linux-4.14.61/net/ipv6/netfilter/ip6table_mangle.c +--- 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; diff --git a/target/linux/ar71xx/patches-4.14/930-chipidea-pullup.patch b/target/linux/ar71xx/patches-4.14/930-chipidea-pullup.patch index ee1e84bdd9..6e293305db 100644 --- a/target/linux/ar71xx/patches-4.14/930-chipidea-pullup.patch +++ b/target/linux/ar71xx/patches-4.14/930-chipidea-pullup.patch @@ -1,7 +1,5 @@ -Index: linux-4.14.61/drivers/usb/chipidea/ci.h -=================================================================== ---- linux-4.14.61.orig/drivers/usb/chipidea/ci.h -+++ linux-4.14.61/drivers/usb/chipidea/ci.h +--- a/drivers/usb/chipidea/ci.h ++++ b/drivers/usb/chipidea/ci.h @@ -205,6 +205,7 @@ struct hw_bank { * @in_lpm: if the core in low power mode * @wakeup_int: if wakeup interrupt occur @@ -18,10 +16,8 @@ Index: linux-4.14.61/drivers/usb/chipidea/ci.h }; static inline struct ci_role_driver *ci_role(struct ci_hdrc *ci) -Index: linux-4.14.61/drivers/usb/chipidea/core.c -=================================================================== ---- linux-4.14.61.orig/drivers/usb/chipidea/core.c -+++ linux-4.14.61/drivers/usb/chipidea/core.c +--- a/drivers/usb/chipidea/core.c ++++ b/drivers/usb/chipidea/core.c @@ -818,7 +818,7 @@ static inline void ci_role_destroy(struc { ci_hdrc_gadget_destroy(ci); @@ -50,10 +46,8 @@ Index: linux-4.14.61/drivers/usb/chipidea/core.c ret = ci_hdrc_otg_init(ci); if (ret) { dev_err(dev, "init otg fails, ret = %d\n", ret); -Index: linux-4.14.61/drivers/usb/chipidea/otg.c -=================================================================== ---- linux-4.14.61.orig/drivers/usb/chipidea/otg.c -+++ linux-4.14.61/drivers/usb/chipidea/otg.c +--- a/drivers/usb/chipidea/otg.c ++++ b/drivers/usb/chipidea/otg.c @@ -131,8 +131,10 @@ enum ci_role ci_otg_role(struct ci_hdrc void ci_handle_vbus_change(struct ci_hdrc *ci) @@ -66,10 +60,8 @@ Index: linux-4.14.61/drivers/usb/chipidea/otg.c if (hw_read_otgsc(ci, OTGSC_BSV) && !ci->vbus_active) usb_gadget_vbus_connect(&ci->gadget); -Index: linux-4.14.61/include/linux/usb/chipidea.h -=================================================================== ---- linux-4.14.61.orig/include/linux/usb/chipidea.h -+++ linux-4.14.61/include/linux/usb/chipidea.h +--- a/include/linux/usb/chipidea.h ++++ b/include/linux/usb/chipidea.h @@ -60,6 +60,7 @@ struct ci_hdrc_platform_data { #define CI_HDRC_OVERRIDE_RX_BURST BIT(11) #define CI_HDRC_OVERRIDE_PHY_CONTROL BIT(12) /* Glue layer manages phy */ diff --git a/target/linux/ar71xx/patches-4.14/940-qca955x-add-more-registers.patch b/target/linux/ar71xx/patches-4.14/940-qca955x-add-more-registers.patch index 97400e3ec8..ff72308465 100644 --- a/target/linux/ar71xx/patches-4.14/940-qca955x-add-more-registers.patch +++ b/target/linux/ar71xx/patches-4.14/940-qca955x-add-more-registers.patch @@ -1,7 +1,5 @@ -Index: linux-4.9.111/arch/mips/include/asm/mach-ath79/ar71xx_regs.h -=================================================================== ---- linux-4.9.111.orig/arch/mips/include/asm/mach-ath79/ar71xx_regs.h -+++ linux-4.9.111/arch/mips/include/asm/mach-ath79/ar71xx_regs.h +--- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h ++++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h @@ -134,7 +134,7 @@ #define QCA955X_PCI_CTRL_SIZE 0x100 diff --git a/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch b/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch index 30aa03a69c..c2e6d0990e 100644 --- a/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch +++ b/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch @@ -30,7 +30,7 @@ Signed-off-by: Johan Hovold --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -1919,7 +1919,8 @@ static const struct usb_device_id option +@@ -1923,7 +1923,8 @@ static const struct usb_device_id option { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */ { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) }, { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) }, diff --git a/target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch b/target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch index fa7fa0a613..3b69b6855e 100644 --- a/target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch +++ b/target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch @@ -300,7 +300,7 @@ Signed-off-by: Steven Barth /** * ip6_tnl_addr_conflict - compare packet addresses to tunnel's own * @t: the outgoing tunnel device -@@ -1303,6 +1443,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str +@@ -1299,6 +1439,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str { struct ip6_tnl *t = netdev_priv(dev); struct ipv6hdr *ipv6h = ipv6_hdr(skb); @@ -308,7 +308,7 @@ Signed-off-by: Steven Barth int encap_limit = -1; __u16 offset; struct flowi6 fl6; -@@ -1365,6 +1506,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str +@@ -1361,6 +1502,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str fl6.flowi6_uid = sock_net_uid(dev_net(dev), NULL); @@ -327,7 +327,7 @@ Signed-off-by: Steven Barth if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6)) return -1; -@@ -1493,6 +1646,14 @@ ip6_tnl_change(struct ip6_tnl *t, const +@@ -1489,6 +1642,14 @@ ip6_tnl_change(struct ip6_tnl *t, const t->parms.link = p->link; t->parms.proto = p->proto; t->parms.fwmark = p->fwmark; @@ -342,7 +342,7 @@ Signed-off-by: Steven Barth dst_cache_reset(&t->dst_cache); ip6_tnl_link_config(t); return 0; -@@ -1531,6 +1692,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_ +@@ -1527,6 +1688,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_ p->flowinfo = u->flowinfo; p->link = u->link; p->proto = u->proto; @@ -350,7 +350,7 @@ Signed-off-by: Steven Barth memcpy(p->name, u->name, sizeof(u->name)); } -@@ -1917,6 +2079,15 @@ static int ip6_tnl_validate(struct nlatt +@@ -1913,6 +2075,15 @@ static int ip6_tnl_validate(struct nlatt return 0; } @@ -366,7 +366,7 @@ Signed-off-by: Steven Barth static void ip6_tnl_netlink_parms(struct nlattr *data[], struct __ip6_tnl_parm *parms) { -@@ -1954,6 +2125,46 @@ static void ip6_tnl_netlink_parms(struct +@@ -1950,6 +2121,46 @@ static void ip6_tnl_netlink_parms(struct if (data[IFLA_IPTUN_FWMARK]) parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]); @@ -413,7 +413,7 @@ Signed-off-by: Steven Barth } static bool ip6_tnl_netlink_encap_parms(struct nlattr *data[], -@@ -2069,6 +2280,12 @@ static void ip6_tnl_dellink(struct net_d +@@ -2065,6 +2276,12 @@ static void ip6_tnl_dellink(struct net_d static size_t ip6_tnl_get_size(const struct net_device *dev) { @@ -426,7 +426,7 @@ Signed-off-by: Steven Barth return /* IFLA_IPTUN_LINK */ nla_total_size(4) + -@@ -2098,6 +2315,24 @@ static size_t ip6_tnl_get_size(const str +@@ -2094,6 +2311,24 @@ static size_t ip6_tnl_get_size(const str nla_total_size(0) + /* IFLA_IPTUN_FWMARK */ nla_total_size(4) + @@ -451,7 +451,7 @@ Signed-off-by: Steven Barth 0; } -@@ -2105,6 +2340,9 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -2101,6 +2336,9 @@ static int ip6_tnl_fill_info(struct sk_b { struct ip6_tnl *tunnel = netdev_priv(dev); struct __ip6_tnl_parm *parm = &tunnel->parms; @@ -461,7 +461,7 @@ Signed-off-by: Steven Barth if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) || nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) || -@@ -2114,9 +2352,27 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -2110,9 +2348,27 @@ static int ip6_tnl_fill_info(struct sk_b nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) || nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) || nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) || @@ -490,7 +490,7 @@ Signed-off-by: Steven Barth if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) || nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) || nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) || -@@ -2156,6 +2412,7 @@ static const struct nla_policy ip6_tnl_p +@@ -2152,6 +2408,7 @@ static const struct nla_policy ip6_tnl_p [IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 }, [IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG }, [IFLA_IPTUN_FWMARK] = { .type = NLA_U32 },