From 86ef164e27611acf5ea2154b1f74b95391328dc0 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 1 Nov 2015 13:48:26 +0000 Subject: [PATCH] CC: kernel: update kernel 3.18 to version 3.18.23 Changelog: * https://cdn.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.22 * https://cdn.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.23 backport of r47334. Signed-off-by: Hauke Mehrtens SVN-Revision: 47335 --- include/kernel-version.mk | 4 +- .../431-spi-add-various-flags.patch | 4 +- ...1-spi-add-type-field-to-spi_transfer.patch | 4 +- .../464-spi-ath79-fix-fast-flash-read.patch | 2 +- ...PS-ath79-add-support-for-QCA953x-SoC.patch | 4 +- .../718-MIPS-ath79-add-EPG5000-support.patch | 4 +- ...PS-ath79-add-support-for-QCA956x-SoC.patch | 4 +- ...6-MIPS-ath79-add-MC-MAC1200R-support.patch | 6 +- .../737-MIPS-ath79-add-om5p-an-support.patch | 4 +- ...S-ath79-add-meraki-mr12-mr16-support.patch | 6 +- ...99-MIPS-ath79-add-minibox-v1-support.patch | 28 ++++----- .../800-MIPS-ath79-add-RB922GS-support.patch | 6 +- .../902-unaligned_access_hacks.patch | 4 +- ...-MIPS-ath79-ubnt-rocket-m-xw-support.patch | 2 +- ...PS-ath79-bitmain-antminer-s3-support.patch | 2 +- .../906-MIPS-ath79-add-blackswift.patch | 2 +- ...-NAND-flash-chip-description-for-Asu.patch | 2 - ...-add-Broadcom-specific-fake-doorbell.patch | 4 +- .../0001-Main-bcm2708-linux-port.patch | 2 +- .../0013-bcm2708-alsa-sound-driver.patch | 2 +- ...Add-2709-platform-for-Raspberry-Pi-2.patch | 4 +- .../patches-3.18/075-spi_support.patch | 2 +- ...layfs-fallback-to-readonly-when-full.patch | 2 +- ...rs-inside-calling-context-for-spi_sy.patch | 2 +- ...e-message-pump-in-the-worker-kthread.patch | 2 +- .../patches-3.18/630-packet_socket_type.patch | 6 +- .../653-disable_netlink_trim.patch | 2 +- ...T-skip-GRO-for-foreign-MAC-addresses.patch | 12 ++-- .../patches-3.18/721-phy_packets.patch | 8 +-- .../760-8139cp-fixes-from-4.3.patch | 30 +++++---- .../810-pci_disable_common_quirks.patch | 6 +- .../patches-3.18/834-ledtrig-libata.patch | 8 +-- .../patches-3.18/902-debloat_proc.patch | 10 +-- .../patches-3.18/903-debloat_direct_io.patch | 2 +- ...er-mii_bus-for-SerDes-w-external-phy.patch | 10 +-- .../mcs814x/patches-3.18/001-platform.patch | 2 +- .../300-introduce-oxnas-platform.patch | 2 +- .../oxnas/patches-3.18/999-libata-hacks.patch | 4 +- ...015-MIPS-ralink-cleanup-early_printk.patch | 2 +- ...026-MIPS-ralink-add-mt7628an-support.patch | 8 +-- ...30-pinctrl-ralink-add-pinctrl-driver.patch | 26 ++++---- .../0037-USB-phy-add-ralink-SoC-driver.patch | 4 +- ...IO-ralink-add-mt7621-gpio-controller.patch | 6 +- ...IPS-ralink-add-sdhci-for-mt7620a-SoC.patch | 2 +- .../ramips/patches-3.18/0060-soc_type.patch | 12 ++-- ...SPI-ralink-add-mt7621-SoC-spi-driver.patch | 4 +- ...62-mt7621-add-ECHI-OCHI-XCHI-support.patch | 60 +++++++++--------- .../ramips/patches-3.18/0065-mt7628-pww.patch | 4 +- .../patches-3.18/0200-linkit_bootstrap.patch | 2 +- .../patches-3.18/0300-mt7628_fixes.patch | 10 +-- .../patches-3.18/0301-mt7688-detect.patch | 16 ++--- .../patches-3.18/0302-mt762x-vendor-id.patch | 4 +- .../linux/ramips/patches-3.18/500-alsa.patch | 32 +++++----- .../ramips/patches-3.18/999-baud_250000.patch | 2 +- .../patches-3.18/999-non-pci-mt7620.patch | 4 +- .../200-mmc-add-sdio-function-subnode.patch | 2 +- ...-Geode-LX-timekeeping-in-the-generic.patch | 61 ------------------- ...e-vid-header-instead-of-the-whole-pa.patch | 2 +- 58 files changed, 204 insertions(+), 269 deletions(-) delete mode 100644 target/linux/x86/patches-3.18/001-x86-platform-Fix-Geode-LX-timekeeping-in-the-generic.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 184a614497..606077613e 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -2,9 +2,9 @@ LINUX_RELEASE?=1 -LINUX_VERSION-3.18 = .21 +LINUX_VERSION-3.18 = .23 -LINUX_KERNEL_MD5SUM-3.18.21 = e4248caaa4cef318c04657e971b37298 +LINUX_KERNEL_MD5SUM-3.18.23 = dc6d265ab38716be3676ac294b481ad8 ifdef KERNEL_PATCHVER LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER))) diff --git a/target/linux/ar71xx/patches-3.18/431-spi-add-various-flags.patch b/target/linux/ar71xx/patches-3.18/431-spi-add-various-flags.patch index 91a4ff34c5..bf8bd84940 100644 --- a/target/linux/ar71xx/patches-3.18/431-spi-add-various-flags.patch +++ b/target/linux/ar71xx/patches-3.18/431-spi-add-various-flags.patch @@ -1,6 +1,6 @@ --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h -@@ -620,6 +620,8 @@ struct spi_transfer { +@@ -622,6 +622,8 @@ struct spi_transfer { unsigned cs_change:1; unsigned tx_nbits:3; unsigned rx_nbits:3; @@ -9,7 +9,7 @@ #define SPI_NBITS_SINGLE 0x01 /* 1bit transfer */ #define SPI_NBITS_DUAL 0x02 /* 2bits transfer */ #define SPI_NBITS_QUAD 0x04 /* 4bits transfer */ -@@ -665,6 +667,7 @@ struct spi_message { +@@ -667,6 +669,7 @@ struct spi_message { struct spi_device *spi; unsigned is_dma_mapped:1; diff --git a/target/linux/ar71xx/patches-3.18/461-spi-add-type-field-to-spi_transfer.patch b/target/linux/ar71xx/patches-3.18/461-spi-add-type-field-to-spi_transfer.patch index a1a51dfd92..0e42deb538 100644 --- a/target/linux/ar71xx/patches-3.18/461-spi-add-type-field-to-spi_transfer.patch +++ b/target/linux/ar71xx/patches-3.18/461-spi-add-type-field-to-spi_transfer.patch @@ -1,6 +1,6 @@ --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h -@@ -508,6 +508,12 @@ extern struct spi_master *spi_busnum_to_ +@@ -510,6 +510,12 @@ extern struct spi_master *spi_busnum_to_ /*---------------------------------------------------------------------------*/ @@ -13,7 +13,7 @@ /* * I/O INTERFACE between SPI controller and protocol drivers * -@@ -628,6 +634,7 @@ struct spi_transfer { +@@ -630,6 +636,7 @@ struct spi_transfer { u8 bits_per_word; u16 delay_usecs; u32 speed_hz; diff --git a/target/linux/ar71xx/patches-3.18/464-spi-ath79-fix-fast-flash-read.patch b/target/linux/ar71xx/patches-3.18/464-spi-ath79-fix-fast-flash-read.patch index 4f886820e7..e48665d6a0 100644 --- a/target/linux/ar71xx/patches-3.18/464-spi-ath79-fix-fast-flash-read.patch +++ b/target/linux/ar71xx/patches-3.18/464-spi-ath79-fix-fast-flash-read.patch @@ -25,7 +25,7 @@ while (len--) { --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h -@@ -635,6 +635,7 @@ struct spi_transfer { +@@ -637,6 +637,7 @@ struct spi_transfer { u16 delay_usecs; u32 speed_hz; enum spi_transfer_type type; diff --git a/target/linux/ar71xx/patches-3.18/707-MIPS-ath79-add-support-for-QCA953x-SoC.patch b/target/linux/ar71xx/patches-3.18/707-MIPS-ath79-add-support-for-QCA953x-SoC.patch index b44e88492b..5041619656 100644 --- a/target/linux/ar71xx/patches-3.18/707-MIPS-ath79-add-support-for-QCA953x-SoC.patch +++ b/target/linux/ar71xx/patches-3.18/707-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 -@@ -1228,6 +1228,10 @@ config SOC_AR934X +@@ -1248,6 +1248,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 -@@ -1270,7 +1274,7 @@ config ATH79_DEV_USB +@@ -1290,7 +1294,7 @@ config ATH79_DEV_USB def_bool n config ATH79_DEV_WMAC diff --git a/target/linux/ar71xx/patches-3.18/718-MIPS-ath79-add-EPG5000-support.patch b/target/linux/ar71xx/patches-3.18/718-MIPS-ath79-add-EPG5000-support.patch index a86fb5500e..a47e24d61b 100644 --- a/target/linux/ar71xx/patches-3.18/718-MIPS-ath79-add-EPG5000-support.patch +++ b/target/linux/ar71xx/patches-3.18/718-MIPS-ath79-add-EPG5000-support.patch @@ -20,7 +20,7 @@ select SOC_QCA955X --- a/arch/mips/ath79/Makefile +++ b/arch/mips/ath79/Makefile -@@ -71,6 +71,7 @@ obj-$(CONFIG_ATH79_MACH_EAP300V2) += mac +@@ -72,6 +72,7 @@ obj-$(CONFIG_ATH79_MACH_EAP300V2) += mac obj-$(CONFIG_ATH79_MACH_EAP7660D) += mach-eap7660d.o obj-$(CONFIG_ATH79_MACH_EL_M150) += mach-el-m150.o obj-$(CONFIG_ATH79_MACH_EL_MINI) += mach-el-mini.o @@ -30,7 +30,7 @@ obj-$(CONFIG_ATH79_MACH_GL_INET) += mach-gl-inet.o --- a/arch/mips/ath79/machtypes.h +++ b/arch/mips/ath79/machtypes.h -@@ -61,6 +61,7 @@ enum ath79_mach_type { +@@ -62,6 +62,7 @@ enum ath79_mach_type { ATH79_MACH_EL_M150, /* EasyLink EL-M150 */ ATH79_MACH_EL_MINI, /* EasyLink EL-MINI */ ATH79_MACH_ESR1750, /* EnGenius ESR1750 */ diff --git a/target/linux/ar71xx/patches-3.18/735-MIPS-ath79-add-support-for-QCA956x-SoC.patch b/target/linux/ar71xx/patches-3.18/735-MIPS-ath79-add-support-for-QCA956x-SoC.patch index 8f15790e30..491a7aa4f4 100644 --- a/target/linux/ar71xx/patches-3.18/735-MIPS-ath79-add-support-for-QCA956x-SoC.patch +++ b/target/linux/ar71xx/patches-3.18/735-MIPS-ath79-add-support-for-QCA956x-SoC.patch @@ -445,7 +445,7 @@ } --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -1248,6 +1248,12 @@ config SOC_QCA955X +@@ -1268,6 +1268,12 @@ config SOC_QCA955X select PCI_AR724X if PCI def_bool n @@ -458,7 +458,7 @@ config ATH79_DEV_M25P80 select ATH79_DEV_SPI def_bool n -@@ -1285,7 +1291,7 @@ config ATH79_DEV_USB +@@ -1305,7 +1311,7 @@ config ATH79_DEV_USB def_bool n config ATH79_DEV_WMAC diff --git a/target/linux/ar71xx/patches-3.18/736-MIPS-ath79-add-MC-MAC1200R-support.patch b/target/linux/ar71xx/patches-3.18/736-MIPS-ath79-add-MC-MAC1200R-support.patch index b9e1f7e837..cef612b300 100644 --- a/target/linux/ar71xx/patches-3.18/736-MIPS-ath79-add-MC-MAC1200R-support.patch +++ b/target/linux/ar71xx/patches-3.18/736-MIPS-ath79-add-MC-MAC1200R-support.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -579,6 +579,16 @@ config ATH79_MACH_R6100 +@@ -590,6 +590,16 @@ config ATH79_MACH_R6100 select ATH79_DEV_USB select ATH79_DEV_WMAC @@ -19,7 +19,7 @@ select SOC_AR71XX --- a/arch/mips/ath79/Makefile +++ b/arch/mips/ath79/Makefile -@@ -80,6 +80,7 @@ obj-$(CONFIG_ATH79_MACH_HIWIFI_HC6361) + +@@ -81,6 +81,7 @@ obj-$(CONFIG_ATH79_MACH_HIWIFI_HC6361) + obj-$(CONFIG_ATH79_MACH_JA76PF) += mach-ja76pf.o obj-$(CONFIG_ATH79_MACH_JWAP003) += mach-jwap003.o obj-$(CONFIG_ATH79_MACH_HORNET_UB) += mach-hornet-ub.o @@ -29,7 +29,7 @@ obj-$(CONFIG_ATH79_MACH_MYNET_N600) += mach-mynet-n600.o --- a/arch/mips/ath79/machtypes.h +++ b/arch/mips/ath79/machtypes.h -@@ -120,6 +120,7 @@ enum ath79_mach_type { +@@ -121,6 +121,7 @@ enum ath79_mach_type { ATH79_MACH_TEW_673GRU, /* TRENDnet TEW-673GRU */ ATH79_MACH_TEW_712BR, /* TRENDnet TEW-712BR */ ATH79_MACH_TEW_732BR, /* TRENDnet TEW-732BR */ diff --git a/target/linux/ar71xx/patches-3.18/737-MIPS-ath79-add-om5p-an-support.patch b/target/linux/ar71xx/patches-3.18/737-MIPS-ath79-add-om5p-an-support.patch index c77831f284..3fbfba7024 100644 --- a/target/linux/ar71xx/patches-3.18/737-MIPS-ath79-add-om5p-an-support.patch +++ b/target/linux/ar71xx/patches-3.18/737-MIPS-ath79-add-om5p-an-support.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ath79/machtypes.h +++ b/arch/mips/ath79/machtypes.h -@@ -86,6 +86,7 @@ enum ath79_mach_type { +@@ -87,6 +87,7 @@ enum ath79_mach_type { ATH79_MACH_OM2P_LC, /* OpenMesh OM2P-LC */ ATH79_MACH_OM2Pv2, /* OpenMesh OM2Pv2 */ ATH79_MACH_OM2P, /* OpenMesh OM2P */ @@ -10,7 +10,7 @@ ATH79_MACH_PB42, /* Atheros PB42 */ --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -732,6 +732,7 @@ config ATH79_MACH_OM2P +@@ -743,6 +743,7 @@ config ATH79_MACH_OM2P config ATH79_MACH_OM5P bool "OpenMesh OM5P board support" select SOC_AR934X diff --git a/target/linux/ar71xx/patches-3.18/738-MIPS-ath79-add-meraki-mr12-mr16-support.patch b/target/linux/ar71xx/patches-3.18/738-MIPS-ath79-add-meraki-mr12-mr16-support.patch index 4e65e0e6d7..ceee0aa05c 100644 --- a/target/linux/ar71xx/patches-3.18/738-MIPS-ath79-add-meraki-mr12-mr16-support.patch +++ b/target/linux/ar71xx/patches-3.18/738-MIPS-ath79-add-meraki-mr12-mr16-support.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -749,6 +749,26 @@ config ATH79_MACH_ONION_OMEGA +@@ -760,6 +760,26 @@ config ATH79_MACH_ONION_OMEGA select ATH79_DEV_USB select ATH79_DEV_WMAC @@ -29,7 +29,7 @@ select SOC_AR934X --- a/arch/mips/ath79/Makefile +++ b/arch/mips/ath79/Makefile -@@ -81,6 +81,8 @@ obj-$(CONFIG_ATH79_MACH_JA76PF) += mach +@@ -82,6 +82,8 @@ obj-$(CONFIG_ATH79_MACH_JA76PF) += mach obj-$(CONFIG_ATH79_MACH_JWAP003) += mach-jwap003.o obj-$(CONFIG_ATH79_MACH_HORNET_UB) += mach-hornet-ub.o obj-$(CONFIG_ATH79_MACH_MC_MAC1200R) += mach-mc-mac1200r.o @@ -40,7 +40,7 @@ obj-$(CONFIG_ATH79_MACH_MYNET_N600) += mach-mynet-n600.o --- a/arch/mips/ath79/machtypes.h +++ b/arch/mips/ath79/machtypes.h -@@ -70,6 +70,8 @@ enum ath79_mach_type { +@@ -71,6 +71,8 @@ enum ath79_mach_type { ATH79_MACH_JA76PF2, /* jjPlus JA76PF2 */ ATH79_MACH_JWAP003, /* jjPlus JWAP003 */ ATH79_MACH_HORNET_UB, /* ALFA Networks Hornet-UB */ diff --git a/target/linux/ar71xx/patches-3.18/799-MIPS-ath79-add-minibox-v1-support.patch b/target/linux/ar71xx/patches-3.18/799-MIPS-ath79-add-minibox-v1-support.patch index 4a8f4fcde5..dab82a3df3 100644 --- a/target/linux/ar71xx/patches-3.18/799-MIPS-ath79-add-minibox-v1-support.patch +++ b/target/linux/ar71xx/patches-3.18/799-MIPS-ath79-add-minibox-v1-support.patch @@ -1,19 +1,19 @@ --- a/arch/mips/ath79/machtypes.h +++ b/arch/mips/ath79/machtypes.h -@@ -64,6 +64,7 @@ enum ath79_mach_type { - ATH79_MACH_EPG5000, /* EnGenius EPG5000 */ - ATH79_MACH_F9K1115V2, /* Belkin AC1750DB */ - ATH79_MACH_GL_INET, /* GL-CONNECT GL-INET */ +@@ -65,6 +65,7 @@ enum ath79_mach_type { + ATH79_MACH_EPG5000, /* EnGenius EPG5000 */ + ATH79_MACH_F9K1115V2, /* Belkin AC1750DB */ + ATH79_MACH_GL_INET, /* GL-CONNECT GL-INET */ + ATH79_MACH_GS_MINIBOX_V1, /* Gainstrong MiniBox V1.0 */ - ATH79_MACH_GS_OOLITE, /* GS OOLITE V1.0 */ - ATH79_MACH_HIWIFI_HC6361, /* HiWiFi HC6361 */ - ATH79_MACH_JA76PF, /* jjPlus JA76PF */ + ATH79_MACH_GS_OOLITE, /* GS OOLITE V1.0 */ + ATH79_MACH_HIWIFI_HC6361, /* HiWiFi HC6361 */ + ATH79_MACH_JA76PF, /* jjPlus JA76PF */ --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -511,6 +511,16 @@ - select ATH79_DEV_M25P80 - select ATH79_DEV_WMAC - +@@ -522,6 +522,16 @@ config ATH79_MACH_EAP300V2 + select ATH79_DEV_M25P80 + select ATH79_DEV_WMAC + +config ATH79_MACH_GS_MINIBOX_V1 + bool "Gainstrong MiniBox V1.0 support" + select SOC_AR933X @@ -27,9 +27,9 @@ config ATH79_MACH_GS_OOLITE bool "GS Oolite V1 support" select SOC_AR933X ---- a/arch/mips/ath79/Makefile 2015-08-10 23:27:44.599500173 +0200 -+++ b/arch/mips/ath79/Makefile 2015-08-10 23:29:25.090929262 +0200 -@@ -75,6 +75,7 @@ +--- a/arch/mips/ath79/Makefile ++++ b/arch/mips/ath79/Makefile +@@ -76,6 +76,7 @@ obj-$(CONFIG_ATH79_MACH_EPG5000) += mach obj-$(CONFIG_ATH79_MACH_ESR1750) += mach-esr1750.o obj-$(CONFIG_ATH79_MACH_F9K1115V2) += mach-f9k1115v2.o obj-$(CONFIG_ATH79_MACH_GL_INET) += mach-gl-inet.o diff --git a/target/linux/ar71xx/patches-3.18/800-MIPS-ath79-add-RB922GS-support.patch b/target/linux/ar71xx/patches-3.18/800-MIPS-ath79-add-RB922GS-support.patch index 7f1ac451eb..6f1795f24d 100644 --- a/target/linux/ar71xx/patches-3.18/800-MIPS-ath79-add-RB922GS-support.patch +++ b/target/linux/ar71xx/patches-3.18/800-MIPS-ath79-add-RB922GS-support.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -614,6 +614,16 @@ config ATH79_MACH_RB91X +@@ -635,6 +635,16 @@ config ATH79_MACH_RB91X select ATH79_DEV_USB select ATH79_ROUTERBOOT @@ -19,7 +19,7 @@ select SOC_AR934X --- a/arch/mips/ath79/Makefile +++ b/arch/mips/ath79/Makefile -@@ -102,6 +102,7 @@ obj-$(CONFIG_ATH79_MACH_R6100) += mach- +@@ -104,6 +104,7 @@ obj-$(CONFIG_ATH79_MACH_R6100) += mach- obj-$(CONFIG_ATH79_MACH_RB4XX) += mach-rb4xx.o obj-$(CONFIG_ATH79_MACH_RB750) += mach-rb750.o obj-$(CONFIG_ATH79_MACH_RB91X) += mach-rb91x.o @@ -29,7 +29,7 @@ obj-$(CONFIG_ATH79_MACH_RBSXTLITE) += mach-rbsxtlite.o --- a/arch/mips/ath79/machtypes.h +++ b/arch/mips/ath79/machtypes.h -@@ -109,6 +109,7 @@ enum ath79_mach_type { +@@ -111,6 +111,7 @@ enum ath79_mach_type { ATH79_MACH_RB_750G_R3, /* MikroTik RouterBOARD 750GL */ ATH79_MACH_RB_751, /* MikroTik RouterBOARD 751 */ ATH79_MACH_RB_751G, /* Mikrotik RouterBOARD 751G */ diff --git a/target/linux/ar71xx/patches-3.18/902-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-3.18/902-unaligned_access_hacks.patch index 21fdd67ae3..3a9ca14204 100644 --- a/target/linux/ar71xx/patches-3.18/902-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-3.18/902-unaligned_access_hacks.patch @@ -237,7 +237,7 @@ */ --- a/net/ipv6/datagram.c +++ b/net/ipv6/datagram.c -@@ -374,7 +374,7 @@ int ipv6_recv_error(struct sock *sk, str +@@ -384,7 +384,7 @@ int ipv6_recv_error(struct sock *sk, str ipv6_iface_scope_id(&sin->sin6_addr, IP6CB(skb)->iif); } else { @@ -246,7 +246,7 @@ &sin->sin6_addr); sin->sin6_scope_id = 0; } -@@ -708,12 +708,12 @@ int ip6_datagram_send_ctl(struct net *ne +@@ -718,12 +718,12 @@ int ip6_datagram_send_ctl(struct net *ne } if (fl6->flowlabel&IPV6_FLOWINFO_MASK) { diff --git a/target/linux/ar71xx/patches-3.18/903-MIPS-ath79-ubnt-rocket-m-xw-support.patch b/target/linux/ar71xx/patches-3.18/903-MIPS-ath79-ubnt-rocket-m-xw-support.patch index a0fc34f562..a1674a7a87 100644 --- a/target/linux/ar71xx/patches-3.18/903-MIPS-ath79-ubnt-rocket-m-xw-support.patch +++ b/target/linux/ar71xx/patches-3.18/903-MIPS-ath79-ubnt-rocket-m-xw-support.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ath79/machtypes.h +++ b/arch/mips/ath79/machtypes.h -@@ -175,6 +175,7 @@ enum ath79_mach_type { +@@ -177,6 +177,7 @@ enum ath79_mach_type { ATH79_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */ ATH79_MACH_UBNT_NANO_M_XW, /* Ubiquiti NanoStation M XW */ ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */ diff --git a/target/linux/ar71xx/patches-3.18/905-MIPS-ath79-bitmain-antminer-s3-support.patch b/target/linux/ar71xx/patches-3.18/905-MIPS-ath79-bitmain-antminer-s3-support.patch index bca3adb576..c1cb70e864 100644 --- a/target/linux/ar71xx/patches-3.18/905-MIPS-ath79-bitmain-antminer-s3-support.patch +++ b/target/linux/ar71xx/patches-3.18/905-MIPS-ath79-bitmain-antminer-s3-support.patch @@ -32,7 +32,7 @@ @@ -22,6 +22,7 @@ enum ath79_mach_type { ATH79_MACH_ALL0305, /* Allnet ALL0305 */ ATH79_MACH_ALL0315N, /* Allnet ALL0315N */ - ATH79_MACH_ANTMINER_S1, /* Antminer-S1 */ + ATH79_MACH_ANTMINER_S1, /* Antminer-S1 */ + ATH79_MACH_ANTMINER_S3, /* Antminer-S3 */ ATH79_MACH_AP113, /* Atheros AP113 reference board */ ATH79_MACH_AP121, /* Atheros AP121 reference board */ diff --git a/target/linux/ar71xx/patches-3.18/906-MIPS-ath79-add-blackswift.patch b/target/linux/ar71xx/patches-3.18/906-MIPS-ath79-add-blackswift.patch index 3b5aa54f41..4d01a805a6 100644 --- a/target/linux/ar71xx/patches-3.18/906-MIPS-ath79-add-blackswift.patch +++ b/target/linux/ar71xx/patches-3.18/906-MIPS-ath79-add-blackswift.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig -@@ -866,6 +866,16 @@ config ATH79_MACH_EAP7660D +@@ -887,6 +887,16 @@ config ATH79_MACH_EAP7660D select ATH79_DEV_LEDS_GPIO select ATH79_DEV_M25P80 diff --git a/target/linux/bcm53xx/patches-3.18/070-ARM-BCM5301X-add-NAND-flash-chip-description-for-Asu.patch b/target/linux/bcm53xx/patches-3.18/070-ARM-BCM5301X-add-NAND-flash-chip-description-for-Asu.patch index 07393ad3dc..afc8fe90c0 100644 --- a/target/linux/bcm53xx/patches-3.18/070-ARM-BCM5301X-add-NAND-flash-chip-description-for-Asu.patch +++ b/target/linux/bcm53xx/patches-3.18/070-ARM-BCM5301X-add-NAND-flash-chip-description-for-Asu.patch @@ -21,8 +21,6 @@ Signed-off-by: Florian Fainelli arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts | 1 + 1 file changed, 1 insertion(+) -diff --git a/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts b/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts -index aedf3c4..8ade7de 100644 --- a/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts +++ b/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts @@ -10,6 +10,7 @@ diff --git a/target/linux/bcm53xx/patches-3.18/820-xhci-add-Broadcom-specific-fake-doorbell.patch b/target/linux/bcm53xx/patches-3.18/820-xhci-add-Broadcom-specific-fake-doorbell.patch index d459520d3f..05835df0da 100644 --- a/target/linux/bcm53xx/patches-3.18/820-xhci-add-Broadcom-specific-fake-doorbell.patch +++ b/target/linux/bcm53xx/patches-3.18/820-xhci-add-Broadcom-specific-fake-doorbell.patch @@ -90,5 +90,5 @@ Signed-off-by: Rafał Miłecki +#endif /* CONFIG_ARCH_BCM_5301X */ + if (!ret) - xhci->xhc_state &= ~XHCI_STATE_HALTED; - return ret; + xhci->xhc_state &= ~(XHCI_STATE_HALTED | XHCI_STATE_DYING); + diff --git a/target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch b/target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch index 79ac4edf3a..4fd734f2b4 100644 --- a/target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch +++ b/target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch @@ -135,7 +135,7 @@ Signed-off-by: popcornmix config DEBUG_EXYNOS_UART --- a/arch/arm/Makefile +++ b/arch/arm/Makefile -@@ -151,6 +151,7 @@ textofs-$(CONFIG_ARCH_AXXIA) := 0x003080 +@@ -159,6 +159,7 @@ textofs-$(CONFIG_ARCH_AXXIA) := 0x003080 machine-$(CONFIG_ARCH_AT91) += at91 machine-$(CONFIG_ARCH_AXXIA) += axxia machine-$(CONFIG_ARCH_BCM) += bcm diff --git a/target/linux/brcm2708/patches-3.18/0013-bcm2708-alsa-sound-driver.patch b/target/linux/brcm2708/patches-3.18/0013-bcm2708-alsa-sound-driver.patch index 9e31690dec..78e12a7912 100644 --- a/target/linux/brcm2708/patches-3.18/0013-bcm2708-alsa-sound-driver.patch +++ b/target/linux/brcm2708/patches-3.18/0013-bcm2708-alsa-sound-driver.patch @@ -211,7 +211,7 @@ snd-bcm2708: Fix dmesg spam for non-error case EXPORT_SYMBOL(vchi_service_create); --- a/sound/arm/Kconfig +++ b/sound/arm/Kconfig -@@ -39,5 +39,12 @@ config SND_PXA2XX_AC97 +@@ -40,5 +40,12 @@ config SND_PXA2XX_AC97 Say Y or M if you want to support any AC97 codec attached to the PXA2xx AC97 interface. diff --git a/target/linux/brcm2708/patches-3.18/0089-Add-2709-platform-for-Raspberry-Pi-2.patch b/target/linux/brcm2708/patches-3.18/0089-Add-2709-platform-for-Raspberry-Pi-2.patch index c1e938bb33..c2ecdb7f97 100644 --- a/target/linux/brcm2708/patches-3.18/0089-Add-2709-platform-for-Raspberry-Pi-2.patch +++ b/target/linux/brcm2708/patches-3.18/0089-Add-2709-platform-for-Raspberry-Pi-2.patch @@ -157,7 +157,7 @@ Subject: [PATCH 089/114] Add 2709 platform for Raspberry Pi 2 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile -@@ -152,6 +152,7 @@ machine-$(CONFIG_ARCH_AT91) += at91 +@@ -160,6 +160,7 @@ machine-$(CONFIG_ARCH_AT91) += at91 machine-$(CONFIG_ARCH_AXXIA) += axxia machine-$(CONFIG_ARCH_BCM) += bcm machine-$(CONFIG_ARCH_BCM2708) += bcm2708 @@ -9448,7 +9448,7 @@ Subject: [PATCH 089/114] Add 2709 platform for Raspberry Pi 2 --- a/sound/arm/Kconfig +++ b/sound/arm/Kconfig -@@ -41,7 +41,7 @@ config SND_PXA2XX_AC97 +@@ -42,7 +42,7 @@ config SND_PXA2XX_AC97 config SND_BCM2835 tristate "BCM2835 ALSA driver" diff --git a/target/linux/cns3xxx/patches-3.18/075-spi_support.patch b/target/linux/cns3xxx/patches-3.18/075-spi_support.patch index 87494b043c..da6dcd490e 100644 --- a/target/linux/cns3xxx/patches-3.18/075-spi_support.patch +++ b/target/linux/cns3xxx/patches-3.18/075-spi_support.patch @@ -39,7 +39,7 @@ if (status > 0) --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h -@@ -628,6 +628,13 @@ struct spi_transfer { +@@ -630,6 +630,13 @@ struct spi_transfer { u32 speed_hz; struct list_head transfer_list; diff --git a/target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch b/target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch index 340a4126b8..6fbbc25ae0 100644 --- a/target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch +++ b/target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch @@ -88,7 +88,7 @@ Miklos err = PTR_ERR(opaquedir); --- a/fs/overlayfs/super.c +++ b/fs/overlayfs/super.c -@@ -740,9 +740,15 @@ static int ovl_fill_super(struct super_b +@@ -741,9 +741,15 @@ static int ovl_fill_super(struct super_b ufs->workdir = ovl_workdir_create(ufs->upper_mnt, workpath.dentry); err = PTR_ERR(ufs->workdir); if (IS_ERR(ufs->workdir)) { diff --git a/target/linux/generic/patches-3.18/092-02-spi-Pump-transfers-inside-calling-context-for-spi_sy.patch b/target/linux/generic/patches-3.18/092-02-spi-Pump-transfers-inside-calling-context-for-spi_sy.patch index ddfb060629..b74b4cb93b 100644 --- a/target/linux/generic/patches-3.18/092-02-spi-Pump-transfers-inside-calling-context-for-spi_sy.patch +++ b/target/linux/generic/patches-3.18/092-02-spi-Pump-transfers-inside-calling-context-for-spi_sy.patch @@ -116,7 +116,7 @@ Signed-off-by: Mark Brown static int spi_master_initialize_queue(struct spi_master *master) { int ret; -@@ -2105,19 +2128,46 @@ static int __spi_sync(struct spi_device +@@ -2104,19 +2127,46 @@ static int __spi_sync(struct spi_device DECLARE_COMPLETION_ONSTACK(done); int status; struct spi_master *master = spi->master; diff --git a/target/linux/generic/patches-3.18/092-03-spi-Only-idle-the-message-pump-in-the-worker-kthread.patch b/target/linux/generic/patches-3.18/092-03-spi-Only-idle-the-message-pump-in-the-worker-kthread.patch index e8cbe6151e..a5d85be2b4 100644 --- a/target/linux/generic/patches-3.18/092-03-spi-Only-idle-the-message-pump-in-the-worker-kthread.patch +++ b/target/linux/generic/patches-3.18/092-03-spi-Only-idle-the-message-pump-in-the-worker-kthread.patch @@ -72,7 +72,7 @@ Signed-off-by: Mark Brown static int spi_init_queue(struct spi_master *master) { struct sched_param param = { .sched_priority = MAX_RT_PRIO - 1 }; -@@ -2166,7 +2186,7 @@ static int __spi_sync(struct spi_device +@@ -2165,7 +2185,7 @@ static int __spi_sync(struct spi_device * can. */ if (master->transfer == spi_queued_transfer) diff --git a/target/linux/generic/patches-3.18/630-packet_socket_type.patch b/target/linux/generic/patches-3.18/630-packet_socket_type.patch index fa057b264d..31f4bca2a0 100644 --- a/target/linux/generic/patches-3.18/630-packet_socket_type.patch +++ b/target/linux/generic/patches-3.18/630-packet_socket_type.patch @@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -2809,6 +2811,7 @@ static int packet_create(struct net *net +@@ -2807,6 +2809,7 @@ static int packet_create(struct net *net spin_lock_init(&po->bind_lock); mutex_init(&po->pg_vec_lock); po->prot_hook.func = packet_rcv; @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -3389,6 +3392,16 @@ packet_setsockopt(struct socket *sock, i +@@ -3387,6 +3390,16 @@ packet_setsockopt(struct socket *sock, i po->xmit = val ? packet_direct_xmit : dev_queue_xmit; return 0; } @@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau default: return -ENOPROTOOPT; } -@@ -3440,6 +3453,13 @@ static int packet_getsockopt(struct sock +@@ -3438,6 +3451,13 @@ static int packet_getsockopt(struct sock case PACKET_VNET_HDR: val = po->has_vnet_hdr; break; diff --git a/target/linux/generic/patches-3.18/653-disable_netlink_trim.patch b/target/linux/generic/patches-3.18/653-disable_netlink_trim.patch index b8fbe92378..b38b87b48f 100644 --- a/target/linux/generic/patches-3.18/653-disable_netlink_trim.patch +++ b/target/linux/generic/patches-3.18/653-disable_netlink_trim.patch @@ -1,6 +1,6 @@ --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c -@@ -1690,27 +1690,7 @@ void netlink_detachskb(struct sock *sk, +@@ -1721,27 +1721,7 @@ void netlink_detachskb(struct sock *sk, static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation) { diff --git a/target/linux/generic/patches-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/patches-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 4a2f36bc0a..21199fe6c7 100644 --- a/target/linux/generic/patches-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/patches-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4001,6 +4001,9 @@ static enum gro_result dev_gro_receive(s +@@ -4002,6 +4002,9 @@ static enum gro_result dev_gro_receive(s enum gro_result ret; int grow; @@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau if (!(skb->dev->features & NETIF_F_GRO)) goto normal; -@@ -5064,6 +5067,48 @@ static void __netdev_adjacent_dev_unlink +@@ -5067,6 +5070,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *private) -@@ -5124,6 +5169,7 @@ static int __netdev_upper_dev_link(struc +@@ -5127,6 +5172,7 @@ static int __netdev_upper_dev_link(struc goto rollback_lower_mesh; } @@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev); return 0; -@@ -5241,6 +5287,7 @@ void netdev_upper_dev_unlink(struct net_ +@@ -5244,6 +5290,7 @@ void netdev_upper_dev_unlink(struct net_ list_for_each_entry(i, &upper_dev->all_adj_list.upper, list) __netdev_adjacent_dev_unlink(dev, i->dev); @@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev); } EXPORT_SYMBOL(netdev_upper_dev_unlink); -@@ -5760,6 +5807,7 @@ int dev_set_mac_address(struct net_devic +@@ -5763,6 +5810,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; @@ -102,7 +102,7 @@ Signed-off-by: Felix Fietkau return 0; --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -1548,6 +1548,8 @@ struct net_device { +@@ -1556,6 +1556,8 @@ struct net_device { struct netdev_hw_addr_list mc; struct netdev_hw_addr_list dev_addrs; diff --git a/target/linux/generic/patches-3.18/721-phy_packets.patch b/target/linux/generic/patches-3.18/721-phy_packets.patch index 7616817f9b..99811c6242 100644 --- a/target/linux/generic/patches-3.18/721-phy_packets.patch +++ b/target/linux/generic/patches-3.18/721-phy_packets.patch @@ -1,6 +1,6 @@ --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -1220,6 +1220,7 @@ enum netdev_priv_flags { +@@ -1228,6 +1228,7 @@ enum netdev_priv_flags { IFF_LIVE_ADDR_CHANGE = 1<<20, IFF_MACVLAN = 1<<21, IFF_XMIT_DST_RELEASE_PERM = 1<<22, @@ -8,7 +8,7 @@ }; #define IFF_802_1Q_VLAN IFF_802_1Q_VLAN -@@ -1245,6 +1246,7 @@ enum netdev_priv_flags { +@@ -1253,6 +1254,7 @@ enum netdev_priv_flags { #define IFF_LIVE_ADDR_CHANGE IFF_LIVE_ADDR_CHANGE #define IFF_MACVLAN IFF_MACVLAN #define IFF_XMIT_DST_RELEASE_PERM IFF_XMIT_DST_RELEASE_PERM @@ -16,7 +16,7 @@ /** * struct net_device - The DEVICE structure. -@@ -1515,6 +1517,11 @@ struct net_device { +@@ -1523,6 +1525,11 @@ struct net_device { const struct ethtool_ops *ethtool_ops; const struct forwarding_accel_ops *fwd_ops; @@ -28,7 +28,7 @@ const struct header_ops *header_ops; unsigned int flags; -@@ -1579,6 +1586,10 @@ struct net_device { +@@ -1587,6 +1594,10 @@ struct net_device { void *ax25_ptr; struct wireless_dev *ieee80211_ptr; diff --git a/target/linux/generic/patches-3.18/760-8139cp-fixes-from-4.3.patch b/target/linux/generic/patches-3.18/760-8139cp-fixes-from-4.3.patch index de4c12730f..7051843b74 100644 --- a/target/linux/generic/patches-3.18/760-8139cp-fixes-from-4.3.patch +++ b/target/linux/generic/patches-3.18/760-8139cp-fixes-from-4.3.patch @@ -113,8 +113,6 @@ Date: Fri Sep 18 00:19:08 2015 +0100 Signed-off-by: David Woodhouse Signed-off-by: David S. Miller -diff --git a/drivers/net/ethernet/realtek/8139cp.c b/drivers/net/ethernet/realtek/8139cp.c -index d79e33b..686334f 100644 --- a/drivers/net/ethernet/realtek/8139cp.c +++ b/drivers/net/ethernet/realtek/8139cp.c @@ -157,6 +157,7 @@ enum { @@ -133,7 +131,7 @@ index d79e33b..686334f 100644 unsigned rx_buf_sz; unsigned wol_enabled : 1; /* Is Wake-on-LAN enabled? */ -@@ -665,7 +667,7 @@ static void cp_tx (struct cp_private *cp) +@@ -665,7 +667,7 @@ static void cp_tx (struct cp_private *cp BUG_ON(!skb); dma_unmap_single(&cp->pdev->dev, le64_to_cpu(txd->addr), @@ -142,7 +140,7 @@ index d79e33b..686334f 100644 PCI_DMA_TODEVICE); if (status & LastFrag) { -@@ -733,7 +735,7 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb, +@@ -733,7 +735,7 @@ static netdev_tx_t cp_start_xmit (struct { struct cp_private *cp = netdev_priv(dev); unsigned entry; @@ -151,7 +149,7 @@ index d79e33b..686334f 100644 unsigned long intr_flags; __le32 opts2; int mss = 0; -@@ -753,6 +755,21 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb, +@@ -753,6 +755,21 @@ static netdev_tx_t cp_start_xmit (struct mss = skb_shinfo(skb)->gso_size; opts2 = cpu_to_le32(cp_tx_vlan_tag(skb)); @@ -173,7 +171,7 @@ index d79e33b..686334f 100644 if (skb_shinfo(skb)->nr_frags == 0) { struct cp_desc *txd = &cp->tx_ring[entry]; -@@ -768,31 +785,20 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb, +@@ -768,31 +785,20 @@ static netdev_tx_t cp_start_xmit (struct txd->addr = cpu_to_le64(mapping); wmb(); @@ -211,7 +209,7 @@ index d79e33b..686334f 100644 /* We must give this initial chunk to the device last. * Otherwise we could race with the device. -@@ -805,14 +811,14 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb, +@@ -805,14 +811,14 @@ static netdev_tx_t cp_start_xmit (struct goto out_dma_error; cp->tx_skb[entry] = skb; @@ -228,7 +226,7 @@ index d79e33b..686334f 100644 len = skb_frag_size(this_frag); mapping = dma_map_single(&cp->pdev->dev, skb_frag_address(this_frag), -@@ -824,19 +830,7 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb, +@@ -824,19 +830,7 @@ static netdev_tx_t cp_start_xmit (struct eor = (entry == (CP_TX_RING_SIZE - 1)) ? RingEnd : 0; @@ -249,7 +247,7 @@ index d79e33b..686334f 100644 if (frag == skb_shinfo(skb)->nr_frags - 1) ctrl |= LastFrag; -@@ -849,8 +843,8 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb, +@@ -849,8 +843,8 @@ static netdev_tx_t cp_start_xmit (struct txd->opts1 = cpu_to_le32(ctrl); wmb(); @@ -259,7 +257,7 @@ index d79e33b..686334f 100644 } txd = &cp->tx_ring[first_entry]; -@@ -858,27 +852,17 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb, +@@ -858,27 +852,17 @@ static netdev_tx_t cp_start_xmit (struct txd->addr = cpu_to_le64(first_mapping); wmb(); @@ -294,7 +292,7 @@ index d79e33b..686334f 100644 if (TX_BUFFS_AVAIL(cp) <= (MAX_SKB_FRAGS + 1)) netif_stop_queue(dev); -@@ -1115,6 +1099,7 @@ static int cp_init_rings (struct cp_private *cp) +@@ -1115,6 +1099,7 @@ static int cp_init_rings (struct cp_priv { memset(cp->tx_ring, 0, sizeof(struct cp_desc) * CP_TX_RING_SIZE); cp->tx_ring[CP_TX_RING_SIZE - 1].opts1 = cpu_to_le32(RingEnd); @@ -302,7 +300,7 @@ index d79e33b..686334f 100644 cp_init_rings_index(cp); -@@ -1151,7 +1136,7 @@ static void cp_clean_rings (struct cp_private *cp) +@@ -1151,7 +1136,7 @@ static void cp_clean_rings (struct cp_pr desc = cp->rx_ring + i; dma_unmap_single(&cp->pdev->dev,le64_to_cpu(desc->addr), cp->rx_buf_sz, PCI_DMA_FROMDEVICE); @@ -311,7 +309,7 @@ index d79e33b..686334f 100644 } } -@@ -1164,7 +1149,7 @@ static void cp_clean_rings (struct cp_private *cp) +@@ -1164,7 +1149,7 @@ static void cp_clean_rings (struct cp_pr le32_to_cpu(desc->opts1) & 0xffff, PCI_DMA_TODEVICE); if (le32_to_cpu(desc->opts1) & LastFrag) @@ -320,7 +318,7 @@ index d79e33b..686334f 100644 cp->dev->stats.tx_dropped++; } } -@@ -1172,6 +1157,7 @@ static void cp_clean_rings (struct cp_private *cp) +@@ -1172,6 +1157,7 @@ static void cp_clean_rings (struct cp_pr memset(cp->rx_ring, 0, sizeof(struct cp_desc) * CP_RX_RING_SIZE); memset(cp->tx_ring, 0, sizeof(struct cp_desc) * CP_TX_RING_SIZE); @@ -328,7 +326,7 @@ index d79e33b..686334f 100644 memset(cp->rx_skb, 0, sizeof(struct sk_buff *) * CP_RX_RING_SIZE); memset(cp->tx_skb, 0, sizeof(struct sk_buff *) * CP_TX_RING_SIZE); -@@ -1249,7 +1235,7 @@ static void cp_tx_timeout(struct net_device *dev) +@@ -1249,7 +1235,7 @@ static void cp_tx_timeout(struct net_dev { struct cp_private *cp = netdev_priv(dev); unsigned long flags; @@ -337,7 +335,7 @@ index d79e33b..686334f 100644 netdev_warn(dev, "Transmit timeout, status %2x %4x %4x %4x\n", cpr8(Cmd), cpr16(CpCmd), -@@ -1257,13 +1243,26 @@ static void cp_tx_timeout(struct net_device *dev) +@@ -1257,13 +1243,26 @@ static void cp_tx_timeout(struct net_dev spin_lock_irqsave(&cp->lock, flags); diff --git a/target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch b/target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch index b6c0b38e72..b9b3e0aba8 100644 --- a/target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch +++ b/target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch @@ -23,7 +23,7 @@ /* The Mellanox Tavor device gives false positive parity errors * Mark this device with a broken_parity_status, to allow * PCI scanning code to "skip" this now blacklisted device. -@@ -2905,6 +2906,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I +@@ -2908,6 +2909,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata); @@ -31,7 +31,7 @@ /* * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. To -@@ -2961,6 +2963,8 @@ static void fixup_debug_report(struct pc +@@ -2964,6 +2966,8 @@ static void fixup_debug_report(struct pc } } @@ -40,7 +40,7 @@ /* * Some BIOS implementations leave the Intel GPU interrupts enabled, * even though no one is handling them (f.e. i915 driver is never loaded). -@@ -2995,6 +2999,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN +@@ -2998,6 +3002,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq); diff --git a/target/linux/generic/patches-3.18/834-ledtrig-libata.patch b/target/linux/generic/patches-3.18/834-ledtrig-libata.patch index 4c0ffcac91..d0aee1c2d0 100644 --- a/target/linux/generic/patches-3.18/834-ledtrig-libata.patch +++ b/target/linux/generic/patches-3.18/834-ledtrig-libata.patch @@ -69,7 +69,7 @@ Signed-off-by: Daniel Golle /** * ata_build_rw_tf - Build ATA taskfile for given read/write request * @tf: Target ATA taskfile -@@ -4798,6 +4811,9 @@ static struct ata_queued_cmd *ata_qc_new +@@ -4800,6 +4813,9 @@ static struct ata_queued_cmd *ata_qc_new break; } } @@ -79,7 +79,7 @@ Signed-off-by: Daniel Golle return qc; } -@@ -5708,6 +5724,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -5710,6 +5726,9 @@ struct ata_port *ata_port_alloc(struct a ap->stats.unhandled_irq = 1; ap->stats.idle_irq = 1; #endif @@ -89,7 +89,7 @@ Signed-off-by: Daniel Golle ata_sff_port_init(ap); return ap; -@@ -5729,6 +5748,12 @@ static void ata_host_release(struct devi +@@ -5731,6 +5750,12 @@ static void ata_host_release(struct devi kfree(ap->pmp_link); kfree(ap->slave_link); @@ -102,7 +102,7 @@ Signed-off-by: Daniel Golle kfree(ap); host->ports[i] = NULL; } -@@ -6175,7 +6200,23 @@ int ata_host_register(struct ata_host *h +@@ -6177,7 +6202,23 @@ int ata_host_register(struct ata_host *h host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->local_port_no = i + 1; } diff --git a/target/linux/generic/patches-3.18/902-debloat_proc.patch b/target/linux/generic/patches-3.18/902-debloat_proc.patch index 52beed2128..5cecd1e677 100644 --- a/target/linux/generic/patches-3.18/902-debloat_proc.patch +++ b/target/linux/generic/patches-3.18/902-debloat_proc.patch @@ -79,17 +79,17 @@ } --- a/kernel/irq/proc.c +++ b/kernel/irq/proc.c -@@ -328,6 +328,9 @@ void register_irq_proc(unsigned int irq, - { +@@ -330,6 +330,9 @@ void register_irq_proc(unsigned int irq, + static DEFINE_MUTEX(register_lock); char name [MAX_NAMELEN]; + if (IS_ENABLED(CONFIG_PROC_STRIPPED) && !IS_ENABLED(CONFIG_SMP)) + return; + - if (!root_irq_dir || (desc->irq_data.chip == &no_irq_chip) || desc->dir) + if (!root_irq_dir || (desc->irq_data.chip == &no_irq_chip)) return; -@@ -364,6 +367,9 @@ void unregister_irq_proc(unsigned int ir +@@ -379,6 +382,9 @@ void unregister_irq_proc(unsigned int ir { char name [MAX_NAMELEN]; @@ -99,7 +99,7 @@ if (!root_irq_dir || !desc->dir) return; #ifdef CONFIG_SMP -@@ -399,6 +405,9 @@ void init_irq_proc(void) +@@ -414,6 +420,9 @@ void init_irq_proc(void) unsigned int irq; struct irq_desc *desc; diff --git a/target/linux/generic/patches-3.18/903-debloat_direct_io.patch b/target/linux/generic/patches-3.18/903-debloat_direct_io.patch index c633ed1e09..92190e47a9 100644 --- a/target/linux/generic/patches-3.18/903-debloat_direct_io.patch +++ b/target/linux/generic/patches-3.18/903-debloat_direct_io.patch @@ -26,7 +26,7 @@ endif --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -2530,12 +2530,25 @@ enum { +@@ -2528,12 +2528,25 @@ enum { DIO_ASYNC_EXTEND = 0x04, }; diff --git a/target/linux/imx6/patches-3.18/204-net-igb-register-mii_bus-for-SerDes-w-external-phy.patch b/target/linux/imx6/patches-3.18/204-net-igb-register-mii_bus-for-SerDes-w-external-phy.patch index d503e911c5..129a0bcbae 100644 --- a/target/linux/imx6/patches-3.18/204-net-igb-register-mii_bus-for-SerDes-w-external-phy.patch +++ b/target/linux/imx6/patches-3.18/204-net-igb-register-mii_bus-for-SerDes-w-external-phy.patch @@ -94,7 +94,7 @@ Signed-off-by: Tim Harvey #include #include #include -@@ -2231,6 +2232,126 @@ static s32 igb_init_i2c(struct igb_adapt +@@ -2237,6 +2238,126 @@ static s32 igb_init_i2c(struct igb_adapt return status; } @@ -221,7 +221,7 @@ Signed-off-by: Tim Harvey /** * igb_probe - Device Initialization Routine * @pdev: PCI device information struct -@@ -2653,6 +2774,13 @@ static int igb_probe(struct pci_dev *pde +@@ -2659,6 +2780,13 @@ static int igb_probe(struct pci_dev *pde } } pm_runtime_put_noidle(&pdev->dev); @@ -235,7 +235,7 @@ Signed-off-by: Tim Harvey return 0; err_register: -@@ -2796,6 +2924,10 @@ static void igb_remove(struct pci_dev *p +@@ -2802,6 +2930,10 @@ static void igb_remove(struct pci_dev *p struct e1000_hw *hw = &adapter->hw; pm_runtime_get_noresume(&pdev->dev); @@ -246,7 +246,7 @@ Signed-off-by: Tim Harvey #ifdef CONFIG_IGB_HWMON igb_sysfs_exit(adapter); #endif -@@ -3101,6 +3233,12 @@ static int __igb_open(struct net_device +@@ -3115,6 +3247,12 @@ static int __igb_open(struct net_device if (!resuming) pm_runtime_put(&pdev->dev); @@ -259,7 +259,7 @@ Signed-off-by: Tim Harvey /* start the watchdog. */ hw->mac.get_link_status = 1; schedule_work(&adapter->watchdog_task); -@@ -7097,21 +7235,41 @@ void igb_alloc_rx_buffers(struct igb_rin +@@ -7111,21 +7249,41 @@ void igb_alloc_rx_buffers(struct igb_rin static int igb_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) { struct igb_adapter *adapter = netdev_priv(netdev); diff --git a/target/linux/mcs814x/patches-3.18/001-platform.patch b/target/linux/mcs814x/patches-3.18/001-platform.patch index 221209f286..83f1683b05 100644 --- a/target/linux/mcs814x/patches-3.18/001-platform.patch +++ b/target/linux/mcs814x/patches-3.18/001-platform.patch @@ -43,7 +43,7 @@ source "arch/arm/mach-qcom/Kconfig" --- a/arch/arm/Makefile +++ b/arch/arm/Makefile -@@ -172,6 +172,7 @@ machine-$(CONFIG_ARCH_IXP4XX) += ixp4xx +@@ -180,6 +180,7 @@ machine-$(CONFIG_ARCH_IXP4XX) += ixp4xx machine-$(CONFIG_ARCH_KEYSTONE) += keystone machine-$(CONFIG_ARCH_KS8695) += ks8695 machine-$(CONFIG_ARCH_LPC32XX) += lpc32xx diff --git a/target/linux/oxnas/patches-3.18/300-introduce-oxnas-platform.patch b/target/linux/oxnas/patches-3.18/300-introduce-oxnas-platform.patch index 5724263d3f..6647457859 100644 --- a/target/linux/oxnas/patches-3.18/300-introduce-oxnas-platform.patch +++ b/target/linux/oxnas/patches-3.18/300-introduce-oxnas-platform.patch @@ -29,7 +29,7 @@ source "arch/arm/mach-pxa/Kconfig" --- a/arch/arm/Makefile +++ b/arch/arm/Makefile -@@ -187,6 +187,7 @@ machine-$(CONFIG_ARCH_NSPIRE) += nspire +@@ -195,6 +195,7 @@ machine-$(CONFIG_ARCH_NSPIRE) += nspire machine-$(CONFIG_ARCH_OMAP1) += omap1 machine-$(CONFIG_ARCH_OMAP2PLUS) += omap2 machine-$(CONFIG_ARCH_ORION5X) += orion5x diff --git a/target/linux/oxnas/patches-3.18/999-libata-hacks.patch b/target/linux/oxnas/patches-3.18/999-libata-hacks.patch index 4c29bb06cf..f5ad6ee822 100644 --- a/target/linux/oxnas/patches-3.18/999-libata-hacks.patch +++ b/target/linux/oxnas/patches-3.18/999-libata-hacks.patch @@ -15,7 +15,7 @@ /* initialize internal qc */ /* XXX: Tag 0 is used for drivers with legacy EH as some -@@ -4794,6 +4802,9 @@ static struct ata_queued_cmd *ata_qc_new +@@ -4796,6 +4804,9 @@ static struct ata_queued_cmd *ata_qc_new if (unlikely(ap->pflags & ATA_PFLAG_FROZEN)) return NULL; @@ -25,7 +25,7 @@ for (i = 0, tag = ap->last_tag + 1; i < max_queue; i++, tag++) { if (ap->flags & ATA_FLAG_LOWTAG) tag = i; -@@ -4866,6 +4877,8 @@ void ata_qc_free(struct ata_queued_cmd * +@@ -4868,6 +4879,8 @@ void ata_qc_free(struct ata_queued_cmd * if (likely(ata_tag_valid(tag))) { qc->tag = ATA_TAG_POISON; clear_bit(tag, &ap->qc_allocated); diff --git a/target/linux/ramips/patches-3.18/0015-MIPS-ralink-cleanup-early_printk.patch b/target/linux/ramips/patches-3.18/0015-MIPS-ralink-cleanup-early_printk.patch index 3fffa804cf..1e5c90b6c8 100644 --- a/target/linux/ramips/patches-3.18/0015-MIPS-ralink-cleanup-early_printk.patch +++ b/target/linux/ramips/patches-3.18/0015-MIPS-ralink-cleanup-early_printk.patch @@ -50,7 +50,7 @@ Signed-off-by: John Crispin static inline void uart_w32(u32 val, unsigned reg) { -@@ -38,11 +43,46 @@ +@@ -38,11 +43,46 @@ static inline u32 uart_r32(unsigned reg) return __raw_readl(uart_membase + reg); } diff --git a/target/linux/ramips/patches-3.18/0026-MIPS-ralink-add-mt7628an-support.patch b/target/linux/ramips/patches-3.18/0026-MIPS-ralink-add-mt7628an-support.patch index c622a12ea7..c5c5d1a446 100644 --- a/target/linux/ramips/patches-3.18/0026-MIPS-ralink-add-mt7628an-support.patch +++ b/target/linux/ramips/patches-3.18/0026-MIPS-ralink-add-mt7628an-support.patch @@ -264,7 +264,7 @@ Signed-off-by: John Crispin /* * When the CPU goes into sleep mode, the BUS clock will be too low for * USB to function properly -@@ -367,6 +500,52 @@ void __init ralink_of_remap(void) +@@ -367,6 +502,52 @@ void __init ralink_of_remap(void) panic("Failed to remap core resources"); } @@ -317,7 +317,7 @@ Signed-off-by: John Crispin void prom_soc_init(struct ralink_soc_info *soc_info) { void __iomem *sysc = (void __iomem *) KSEG1ADDR(MT7620_SYSC_BASE); -@@ -384,18 +563,25 @@ void prom_soc_init(struct ralink_soc_inf +@@ -384,18 +565,25 @@ void prom_soc_init(struct ralink_soc_inf rev = __raw_readl(sysc + SYSC_REG_CHIP_REV); bga = (rev >> CHIP_REV_PKG_SHIFT) & CHIP_REV_PKG_MASK; @@ -353,7 +353,7 @@ Signed-off-by: John Crispin } snprintf(soc_info->sys_type, RAMIPS_SYS_TYPE_LEN, -@@ -407,28 +593,11 @@ void prom_soc_init(struct ralink_soc_inf +@@ -407,28 +595,11 @@ void prom_soc_init(struct ralink_soc_inf cfg0 = __raw_readl(sysc + SYSC_REG_SYSTEM_CONFIG0); dram_type = (cfg0 >> SYSCFG0_DRAM_TYPE_SHIFT) & SYSCFG0_DRAM_TYPE_MASK; @@ -386,7 +386,7 @@ Signed-off-by: John Crispin pmu0 = __raw_readl(sysc + PMU0_CFG); pmu1 = __raw_readl(sysc + PMU1_CFG); -@@ -437,4 +606,9 @@ void prom_soc_init(struct ralink_soc_inf +@@ -437,4 +608,9 @@ void prom_soc_init(struct ralink_soc_inf (pmu0 & PMU_SW_SET) ? ("sw") : ("hw")); pr_info("Digital PMU set to %s control\n", (pmu1 & DIG_SW_SEL) ? ("sw") : ("hw")); diff --git a/target/linux/ramips/patches-3.18/0030-pinctrl-ralink-add-pinctrl-driver.patch b/target/linux/ramips/patches-3.18/0030-pinctrl-ralink-add-pinctrl-driver.patch index c50384cfcc..266755d042 100644 --- a/target/linux/ramips/patches-3.18/0030-pinctrl-ralink-add-pinctrl-driver.patch +++ b/target/linux/ramips/patches-3.18/0030-pinctrl-ralink-add-pinctrl-driver.patch @@ -24,7 +24,7 @@ Signed-off-by: John Crispin --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -453,6 +453,8 @@ +@@ -453,6 +453,8 @@ config RALINK select CLKDEV_LOOKUP select ARCH_HAS_RESET_CONTROLLER select RESET_CONTROLLER @@ -35,7 +35,7 @@ Signed-off-by: John Crispin bool "SGI IP22 (Indy/Indigo2)" --- a/arch/mips/include/asm/mach-ralink/mt7620.h +++ b/arch/mips/include/asm/mach-ralink/mt7620.h -@@ -90,7 +90,6 @@ +@@ -90,7 +90,6 @@ enum mt762x_soc_type { #define MT7620_DDR2_SIZE_MIN 32 #define MT7620_DDR2_SIZE_MAX 256 @@ -43,7 +43,7 @@ Signed-off-by: John Crispin #define MT7620_GPIO_MODE_UART0_SHIFT 2 #define MT7620_GPIO_MODE_UART0_MASK 0x7 #define MT7620_GPIO_MODE_UART0(x) ((x) << MT7620_GPIO_MODE_UART0_SHIFT) -@@ -102,16 +101,36 @@ +@@ -102,16 +101,36 @@ enum mt762x_soc_type { #define MT7620_GPIO_MODE_GPIO_UARTF 0x5 #define MT7620_GPIO_MODE_GPIO_I2S 0x6 #define MT7620_GPIO_MODE_GPIO 0x7 @@ -148,7 +148,7 @@ Signed-off-by: John Crispin +#endif --- a/arch/mips/include/asm/mach-ralink/rt305x.h +++ b/arch/mips/include/asm/mach-ralink/rt305x.h -@@ -125,24 +125,29 @@ +@@ -125,24 +125,29 @@ static inline int soc_is_rt5350(void) #define RT305X_GPIO_GE0_TXD0 40 #define RT305X_GPIO_GE0_RXCLK 51 @@ -263,7 +263,7 @@ Signed-off-by: John Crispin #include "common.h" -@@ -47,118 +48,58 @@ +@@ -47,118 +48,58 @@ enum mt762x_soc_type mt762x_soc; /* does the board have sdram or ddram */ static int dram_type; @@ -498,7 +498,7 @@ Signed-off-by: John Crispin }; static void rt288x_wdt_reset(void) -@@ -69,11 +50,6 @@ +@@ -69,11 +50,6 @@ static void rt288x_wdt_reset(void) rt_sysc_w32(t, SYSC_REG_CLKCFG); } @@ -510,7 +510,7 @@ Signed-off-by: John Crispin void __init ralink_clk_init(void) { unsigned long cpu_rate, wmac_rate = 40000000; -@@ -141,4 +117,6 @@ +@@ -141,4 +117,6 @@ void prom_soc_init(struct ralink_soc_inf soc_info->mem_base = RT2880_SDRAM_BASE; soc_info->mem_size_min = RT2880_MEM_SIZE_MIN; soc_info->mem_size_max = RT2880_MEM_SIZE_MAX; @@ -673,7 +673,7 @@ Signed-off-by: John Crispin }; static void rt305x_wdt_reset(void) -@@ -114,14 +100,6 @@ +@@ -114,14 +100,6 @@ static void rt305x_wdt_reset(void) rt_sysc_w32(t, SYSC_REG_SYSTEM_CONFIG); } @@ -688,7 +688,7 @@ Signed-off-by: John Crispin static unsigned long rt5350_get_mem_size(void) { void __iomem *sysc = (void __iomem *) KSEG1ADDR(RT305X_SYSC_BASE); -@@ -290,11 +268,14 @@ +@@ -290,11 +268,14 @@ void prom_soc_init(struct ralink_soc_inf soc_info->mem_base = RT305X_SDRAM_BASE; if (soc_is_rt5350()) { soc_info->mem_size = rt5350_get_mem_size(); @@ -876,7 +876,7 @@ Signed-off-by: John Crispin }; static void rt3883_wdt_reset(void) -@@ -155,17 +73,6 @@ +@@ -155,17 +73,6 @@ static void rt3883_wdt_reset(void) rt_sysc_w32(t, RT3883_SYSC_REG_SYSCFG1); } @@ -894,7 +894,7 @@ Signed-off-by: John Crispin void __init ralink_clk_init(void) { unsigned long cpu_rate, sys_rate; -@@ -244,4 +151,6 @@ +@@ -244,4 +151,6 @@ void prom_soc_init(struct ralink_soc_inf soc_info->mem_base = RT3883_SDRAM_BASE; soc_info->mem_size_min = RT3883_MEM_SIZE_MIN; soc_info->mem_size_max = RT3883_MEM_SIZE_MAX; @@ -903,7 +903,7 @@ Signed-off-by: John Crispin } --- a/drivers/pinctrl/Kconfig +++ b/drivers/pinctrl/Kconfig -@@ -103,6 +103,11 @@ +@@ -103,6 +103,11 @@ config PINCTRL_LANTIQ select PINMUX select PINCONF @@ -917,7 +917,7 @@ Signed-off-by: John Crispin depends on SOC_FALCON --- a/drivers/pinctrl/Makefile +++ b/drivers/pinctrl/Makefile -@@ -20,6 +20,7 @@ +@@ -20,6 +20,7 @@ obj-$(CONFIG_PINCTRL_BCM281XX) += pinctr obj-$(CONFIG_PINCTRL_FALCON) += pinctrl-falcon.o obj-$(CONFIG_PINCTRL_PALMAS) += pinctrl-palmas.o obj-$(CONFIG_PINCTRL_ROCKCHIP) += pinctrl-rockchip.o diff --git a/target/linux/ramips/patches-3.18/0037-USB-phy-add-ralink-SoC-driver.patch b/target/linux/ramips/patches-3.18/0037-USB-phy-add-ralink-SoC-driver.patch index 5a7d416726..2448d0ab31 100644 --- a/target/linux/ramips/patches-3.18/0037-USB-phy-add-ralink-SoC-driver.patch +++ b/target/linux/ramips/patches-3.18/0037-USB-phy-add-ralink-SoC-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/phy/Kconfig +++ b/drivers/phy/Kconfig -@@ -239,6 +239,11 @@ +@@ -239,6 +239,11 @@ config PHY_XGENE help This option enables support for APM X-Gene SoC multi-purpose PHY. @@ -14,7 +14,7 @@ depends on RESET_CONTROLLER --- a/drivers/phy/Makefile +++ b/drivers/phy/Makefile -@@ -31,3 +31,4 @@ +@@ -31,3 +31,4 @@ obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) += obj-$(CONFIG_PHY_XGENE) += phy-xgene.o obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o obj-$(CONFIG_PHY_STIH41X_USB) += phy-stih41x-usb.o diff --git a/target/linux/ramips/patches-3.18/0048-GPIO-ralink-add-mt7621-gpio-controller.patch b/target/linux/ramips/patches-3.18/0048-GPIO-ralink-add-mt7621-gpio-controller.patch index cb58e16a06..429af73b39 100644 --- a/target/linux/ramips/patches-3.18/0048-GPIO-ralink-add-mt7621-gpio-controller.patch +++ b/target/linux/ramips/patches-3.18/0048-GPIO-ralink-add-mt7621-gpio-controller.patch @@ -14,7 +14,7 @@ Signed-off-by: John Crispin --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -455,6 +455,9 @@ +@@ -455,6 +455,9 @@ config RALINK select RESET_CONTROLLER select PINCTRL select PINCTRL_RT2880 @@ -26,7 +26,7 @@ Signed-off-by: John Crispin bool "SGI IP22 (Indy/Indigo2)" --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig -@@ -898,6 +898,12 @@ +@@ -898,6 +898,12 @@ config GPIO_BCM_KONA help Turn on GPIO support for Broadcom "Kona" chips. @@ -41,7 +41,7 @@ Signed-off-by: John Crispin config GPIO_VIPERBOARD --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -107,3 +107,5 @@ +@@ -107,3 +107,5 @@ obj-$(CONFIG_GPIO_XILINX) += gpio-xilinx obj-$(CONFIG_GPIO_XTENSA) += gpio-xtensa.o obj-$(CONFIG_GPIO_ZEVIO) += gpio-zevio.o obj-$(CONFIG_GPIO_ZYNQ) += gpio-zynq.o diff --git a/target/linux/ramips/patches-3.18/0053-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch b/target/linux/ramips/patches-3.18/0053-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch index a3688138f8..2932eb6b07 100644 --- a/target/linux/ramips/patches-3.18/0053-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch +++ b/target/linux/ramips/patches-3.18/0053-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch @@ -25,7 +25,7 @@ Signed-off-by: John Crispin --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig -@@ -773,3 +773,5 @@ +@@ -773,3 +773,5 @@ config MMC_SUNXI help This selects support for the SD/MMC Host Controller on Allwinner sunxi SoCs. diff --git a/target/linux/ramips/patches-3.18/0060-soc_type.patch b/target/linux/ramips/patches-3.18/0060-soc_type.patch index 60d301405b..292a4ad456 100644 --- a/target/linux/ramips/patches-3.18/0060-soc_type.patch +++ b/target/linux/ramips/patches-3.18/0060-soc_type.patch @@ -110,8 +110,8 @@ if (xtal_rate == MHZ(40)) cpu_rate = MHZ(580); else -@@ -418,7 +416,7 @@ void __init ralink_clk_init(void) - ralink_clk_add("10000c00.uartlite", periph_rate); +@@ -420,7 +418,7 @@ void __init ralink_clk_init(void) + ralink_clk_add("10000e00.uart2", periph_rate); ralink_clk_add("10180000.wmac", xtal_rate); - if (IS_ENABLED(CONFIG_USB) && mt762x_soc != MT762X_SOC_MT7628AN) { @@ -119,7 +119,7 @@ /* * When the CPU goes into sleep mode, the BUS clock will be too low for * USB to function properly -@@ -506,11 +504,11 @@ void prom_soc_init(struct ralink_soc_inf +@@ -508,11 +506,11 @@ void prom_soc_init(struct ralink_soc_inf if (n0 == MT7620_CHIP_NAME0 && n1 == MT7620_CHIP_NAME1) { if (bga) { @@ -133,7 +133,7 @@ name = "MT7620N"; soc_info->compatible = "ralink,mt7620n-soc"; #ifdef CONFIG_PCI -@@ -518,7 +516,7 @@ void prom_soc_init(struct ralink_soc_inf +@@ -520,7 +518,7 @@ void prom_soc_init(struct ralink_soc_inf #endif } } else if (n0 == MT7620_CHIP_NAME0 && n1 == MT7628_CHIP_NAME1) { @@ -142,7 +142,7 @@ name = "MT7628AN"; soc_info->compatible = "ralink,mt7628an-soc"; } else { -@@ -535,7 +533,7 @@ void prom_soc_init(struct ralink_soc_inf +@@ -537,7 +535,7 @@ void prom_soc_init(struct ralink_soc_inf dram_type = (cfg0 >> SYSCFG0_DRAM_TYPE_SHIFT) & SYSCFG0_DRAM_TYPE_MASK; soc_info->mem_base = MT7620_DRAM_BASE; @@ -151,7 +151,7 @@ mt7628_dram_init(soc_info); else mt7620_dram_init(soc_info); -@@ -548,7 +546,7 @@ void prom_soc_init(struct ralink_soc_inf +@@ -550,7 +548,7 @@ void prom_soc_init(struct ralink_soc_inf pr_info("Digital PMU set to %s control\n", (pmu1 & DIG_SW_SEL) ? ("sw") : ("hw")); diff --git a/target/linux/ramips/patches-3.18/0061-SPI-ralink-add-mt7621-SoC-spi-driver.patch b/target/linux/ramips/patches-3.18/0061-SPI-ralink-add-mt7621-SoC-spi-driver.patch index 589c67e707..5aa119e1df 100644 --- a/target/linux/ramips/patches-3.18/0061-SPI-ralink-add-mt7621-SoC-spi-driver.patch +++ b/target/linux/ramips/patches-3.18/0061-SPI-ralink-add-mt7621-SoC-spi-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig -@@ -439,6 +439,12 @@ +@@ -439,6 +439,12 @@ config SPI_RT2880 help This selects a driver for the Ralink RT288x/RT305x SPI Controller. @@ -15,7 +15,7 @@ depends on ARCH_S3C24XX --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile -@@ -46,6 +46,7 @@ +@@ -46,6 +46,7 @@ obj-$(CONFIG_SPI_LM70_LLP) += spi-lm70l obj-$(CONFIG_SPI_MPC512x_PSC) += spi-mpc512x-psc.o obj-$(CONFIG_SPI_MPC52xx_PSC) += spi-mpc52xx-psc.o obj-$(CONFIG_SPI_MPC52xx) += spi-mpc52xx.o diff --git a/target/linux/ramips/patches-3.18/0062-mt7621-add-ECHI-OCHI-XCHI-support.patch b/target/linux/ramips/patches-3.18/0062-mt7621-add-ECHI-OCHI-XCHI-support.patch index 98e8ca5a49..f407578762 100644 --- a/target/linux/ramips/patches-3.18/0062-mt7621-add-ECHI-OCHI-XCHI-support.patch +++ b/target/linux/ramips/patches-3.18/0062-mt7621-add-ECHI-OCHI-XCHI-support.patch @@ -5145,7 +5145,7 @@ /* * For xHCI 1.0 host controllers, TD size is the number of max packet sized * packets remaining in the TD (*not* including this TRB). -@@ -3141,6 +3175,7 @@ static int queue_bulk_sg_tx(struct xhci_ +@@ -3161,6 +3195,7 @@ static int queue_bulk_sg_tx(struct xhci_ } /* Set the TRB length, TD size, and interrupter fields. */ @@ -5153,7 +5153,7 @@ if (xhci->hci_version < 0x100) { remainder = xhci_td_remainder( urb->transfer_buffer_length - -@@ -3150,6 +3185,12 @@ static int queue_bulk_sg_tx(struct xhci_ +@@ -3170,6 +3205,12 @@ static int queue_bulk_sg_tx(struct xhci_ trb_buff_len, total_packet_count, urb, num_trbs - 1); } @@ -5166,7 +5166,7 @@ length_field = TRB_LEN(trb_buff_len) | remainder | TRB_INTR_TARGET(0); -@@ -3212,6 +3253,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd * +@@ -3234,6 +3275,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd * int running_total, trb_buff_len, ret; unsigned int total_packet_count; u64 addr; @@ -5176,10 +5176,10 @@ if (urb->num_sgs) return queue_bulk_sg_tx(xhci, mem_flags, urb, slot_id, ep_index); -@@ -3237,6 +3281,25 @@ int xhci_queue_bulk_tx(struct xhci_hcd * +@@ -3258,6 +3302,25 @@ int xhci_queue_bulk_tx(struct xhci_hcd * + num_trbs++; running_total += TRB_MAX_BUFF_SIZE; } - /* FIXME: this doesn't deal with URB_ZERO_PACKET - need one more */ +#if defined (CONFIG_USB_MT7621_XHCI_PLATFORM) + switch(urb->dev->speed){ + case USB_SPEED_SUPER: @@ -5202,7 +5202,7 @@ ret = prepare_transfer(xhci, xhci->devs[slot_id], ep_index, urb->stream_id, -@@ -3296,6 +3359,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd * +@@ -3334,6 +3397,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd * field |= TRB_ISP; /* Set the TRB length, TD size, and interrupter fields. */ @@ -5210,7 +5210,7 @@ if (xhci->hci_version < 0x100) { remainder = xhci_td_remainder( urb->transfer_buffer_length - -@@ -3305,6 +3369,10 @@ int xhci_queue_bulk_tx(struct xhci_hcd * +@@ -3343,6 +3407,10 @@ int xhci_queue_bulk_tx(struct xhci_hcd * trb_buff_len, total_packet_count, urb, num_trbs - 1); } @@ -5221,19 +5221,19 @@ length_field = TRB_LEN(trb_buff_len) | remainder | TRB_INTR_TARGET(0); -@@ -3394,7 +3462,11 @@ int xhci_queue_ctrl_tx(struct xhci_hcd * +@@ -3432,7 +3500,11 @@ int xhci_queue_ctrl_tx(struct xhci_hcd * field |= 0x1; - /* xHCI 1.0 6.4.1.2.1: Transfer Type field */ + /* xHCI 1.0/1.1 6.4.1.2.1: Transfer Type field */ +#if defined (CONFIG_USB_MT7621_XHCI_PLATFORM) + if (1) { +#else - if (xhci->hci_version == 0x100) { + if (xhci->hci_version >= 0x100) { +#endif if (urb->transfer_buffer_length > 0) { if (setup->bRequestType & USB_DIR_IN) field |= TRB_TX_TYPE(TRB_DATA_IN); -@@ -3418,7 +3490,12 @@ int xhci_queue_ctrl_tx(struct xhci_hcd * +@@ -3456,7 +3528,12 @@ int xhci_queue_ctrl_tx(struct xhci_hcd * field = TRB_TYPE(TRB_DATA); length_field = TRB_LEN(urb->transfer_buffer_length) | @@ -5246,7 +5246,7 @@ TRB_INTR_TARGET(0); if (urb->transfer_buffer_length > 0) { if (setup->bRequestType & USB_DIR_IN) -@@ -3541,6 +3618,9 @@ static int xhci_queue_isoc_tx(struct xhc +@@ -3579,6 +3656,9 @@ static int xhci_queue_isoc_tx(struct xhc u64 start_addr, addr; int i, j; bool more_trbs_coming; @@ -5256,7 +5256,7 @@ ep_ring = xhci->devs[slot_id]->eps[ep_index].ring; -@@ -3554,6 +3634,21 @@ static int xhci_queue_isoc_tx(struct xhc +@@ -3592,6 +3672,21 @@ static int xhci_queue_isoc_tx(struct xhc start_trb = &ep_ring->enqueue->generic; start_cycle = ep_ring->cycle_state; @@ -5278,7 +5278,7 @@ urb_priv = urb->hcpriv; /* Queue the first TRB, even if it's zero-length */ for (i = 0; i < num_tds; i++) { -@@ -3625,9 +3720,13 @@ static int xhci_queue_isoc_tx(struct xhc +@@ -3663,9 +3758,13 @@ static int xhci_queue_isoc_tx(struct xhc } else { td->last_trb = ep_ring->enqueue; field |= TRB_IOC; @@ -5292,7 +5292,7 @@ /* Set BEI bit except for the last td */ if (i < num_tds - 1) field |= TRB_BEI; -@@ -3642,6 +3741,7 @@ static int xhci_queue_isoc_tx(struct xhc +@@ -3680,6 +3779,7 @@ static int xhci_queue_isoc_tx(struct xhc trb_buff_len = td_remain_len; /* Set the TRB length, TD size, & interrupter fields. */ @@ -5300,7 +5300,7 @@ if (xhci->hci_version < 0x100) { remainder = xhci_td_remainder( td_len - running_total); -@@ -3651,6 +3751,10 @@ static int xhci_queue_isoc_tx(struct xhc +@@ -3689,6 +3789,10 @@ static int xhci_queue_isoc_tx(struct xhc total_packet_count, urb, (trbs_per_td - j - 1)); } @@ -5349,7 +5349,7 @@ /* TODO: copied from ehci-hcd.c - can this be refactored? */ /* * xhci_handshake - spin reading hc until handshake completes or fails -@@ -198,7 +220,7 @@ int xhci_reset(struct xhci_hcd *xhci) +@@ -199,7 +221,7 @@ int xhci_reset(struct xhci_hcd *xhci) return ret; } @@ -5358,7 +5358,7 @@ static int xhci_free_msi(struct xhci_hcd *xhci) { int i; -@@ -448,6 +470,11 @@ static void compliance_mode_recovery(uns +@@ -449,6 +471,11 @@ static void compliance_mode_recovery(uns "Attempting compliance mode recovery"); hcd = xhci->shared_hcd; @@ -5370,7 +5370,7 @@ if (hcd->state == HC_STATE_SUSPENDED) usb_hcd_resume_root_hub(hcd); -@@ -497,6 +524,9 @@ static bool xhci_compliance_mode_recover +@@ -498,6 +525,9 @@ static bool xhci_compliance_mode_recover { const char *dmi_product_name, *dmi_sys_vendor; @@ -5380,7 +5380,7 @@ dmi_product_name = dmi_get_system_info(DMI_PRODUCT_NAME); dmi_sys_vendor = dmi_get_system_info(DMI_SYS_VENDOR); if (!dmi_product_name || !dmi_sys_vendor) -@@ -542,6 +572,10 @@ int xhci_init(struct usb_hcd *hcd) +@@ -543,6 +573,10 @@ int xhci_init(struct usb_hcd *hcd) xhci_dbg_trace(xhci, trace_xhci_dbg_init, "xHCI doesn't need link TRB QUIRK"); } @@ -5391,7 +5391,7 @@ retval = xhci_mem_init(xhci, GFP_KERNEL); xhci_dbg_trace(xhci, trace_xhci_dbg_init, "Finished xhci_init"); -@@ -626,7 +660,11 @@ int xhci_run(struct usb_hcd *hcd) +@@ -627,7 +661,11 @@ int xhci_run(struct usb_hcd *hcd) "// Set the interrupt modulation register"); temp = readl(&xhci->ir_set->irq_control); temp &= ~ER_IRQ_INTERVAL_MASK; @@ -5403,7 +5403,7 @@ writel(temp, &xhci->ir_set->irq_control); /* Set the HCD state before we enable the irqs */ -@@ -651,6 +689,9 @@ int xhci_run(struct usb_hcd *hcd) +@@ -652,6 +690,9 @@ int xhci_run(struct usb_hcd *hcd) xhci_queue_vendor_command(xhci, command, 0, 0, 0, TRB_TYPE(TRB_NEC_GET_FW)); } @@ -5413,7 +5413,7 @@ xhci_dbg_trace(xhci, trace_xhci_dbg_init, "Finished xhci_run for USB2 roothub"); return 0; -@@ -1642,6 +1683,14 @@ int xhci_drop_endpoint(struct usb_hcd *h +@@ -1648,6 +1689,14 @@ int xhci_drop_endpoint(struct usb_hcd *h u32 drop_flag; u32 new_add_flags, new_drop_flags; int ret; @@ -5428,7 +5428,7 @@ ret = xhci_check_args(hcd, udev, ep, 1, true, __func__); if (ret <= 0) -@@ -1689,6 +1738,40 @@ int xhci_drop_endpoint(struct usb_hcd *h +@@ -1695,6 +1744,40 @@ int xhci_drop_endpoint(struct usb_hcd *h xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep); @@ -5469,7 +5469,7 @@ xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n", (unsigned int) ep->desc.bEndpointAddress, udev->slot_id, -@@ -1721,6 +1804,19 @@ int xhci_add_endpoint(struct usb_hcd *hc +@@ -1727,6 +1810,19 @@ int xhci_add_endpoint(struct usb_hcd *hc u32 new_add_flags, new_drop_flags; struct xhci_virt_device *virt_dev; int ret = 0; @@ -5489,7 +5489,7 @@ ret = xhci_check_args(hcd, udev, ep, 1, true, __func__); if (ret <= 0) { -@@ -1787,6 +1883,56 @@ int xhci_add_endpoint(struct usb_hcd *hc +@@ -1793,6 +1889,56 @@ int xhci_add_endpoint(struct usb_hcd *hc return -ENOMEM; } @@ -5546,7 +5546,7 @@ ctrl_ctx->add_flags |= cpu_to_le32(added_ctxs); new_add_flags = le32_to_cpu(ctrl_ctx->add_flags); -@@ -4454,8 +4600,14 @@ static u16 xhci_call_host_update_timeout +@@ -4463,8 +4609,14 @@ static u16 xhci_call_host_update_timeout u16 *timeout) { if (state == USB3_LPM_U1) @@ -5561,7 +5561,7 @@ return xhci_calculate_u2_timeout(xhci, udev, desc); return USB3_LPM_DISABLED; -@@ -4840,7 +4992,9 @@ int xhci_gen_setup(struct usb_hcd *hcd, +@@ -4849,7 +5001,9 @@ int xhci_gen_setup(struct usb_hcd *hcd, hcd->self.no_sg_constraint = 1; /* XHCI controllers don't stop the ep queue on short packets :| */ @@ -5571,7 +5571,7 @@ if (usb_hcd_is_primary_hcd(hcd)) { xhci = kzalloc(sizeof(struct xhci_hcd), GFP_KERNEL); -@@ -4903,6 +5057,10 @@ int xhci_gen_setup(struct usb_hcd *hcd, +@@ -4912,6 +5066,10 @@ int xhci_gen_setup(struct usb_hcd *hcd, goto error; xhci_dbg(xhci, "Reset complete\n"); @@ -5582,7 +5582,7 @@ /* Set dma_mask and coherent_dma_mask to 64-bits, * if xHC supports 64-bit addressing */ if (HCC_64BIT_ADDR(xhci->hcc_params) && -@@ -4997,8 +5155,57 @@ MODULE_DESCRIPTION(DRIVER_DESC); +@@ -5006,8 +5164,57 @@ MODULE_DESCRIPTION(DRIVER_DESC); MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_LICENSE("GPL"); diff --git a/target/linux/ramips/patches-3.18/0065-mt7628-pww.patch b/target/linux/ramips/patches-3.18/0065-mt7628-pww.patch index 4b82a7ef9e..dc2ca95e4d 100644 --- a/target/linux/ramips/patches-3.18/0065-mt7628-pww.patch +++ b/target/linux/ramips/patches-3.18/0065-mt7628-pww.patch @@ -1,6 +1,6 @@ --- a/drivers/pwm/Kconfig +++ b/drivers/pwm/Kconfig -@@ -177,6 +177,15 @@ +@@ -177,6 +177,15 @@ config PWM_LPSS_PLATFORM To compile this driver as a module, choose M here: the module will be called pwm-lpss-platform. @@ -18,7 +18,7 @@ depends on ARCH_MXS && OF --- a/drivers/pwm/Makefile +++ b/drivers/pwm/Makefile -@@ -15,6 +15,7 @@ +@@ -15,6 +15,7 @@ obj-$(CONFIG_PWM_LPC32XX) += pwm-lpc32xx obj-$(CONFIG_PWM_LPSS) += pwm-lpss.o obj-$(CONFIG_PWM_LPSS_PCI) += pwm-lpss-pci.o obj-$(CONFIG_PWM_LPSS_PLATFORM) += pwm-lpss-platform.o diff --git a/target/linux/ramips/patches-3.18/0200-linkit_bootstrap.patch b/target/linux/ramips/patches-3.18/0200-linkit_bootstrap.patch index 1471c7d329..70e8170c44 100644 --- a/target/linux/ramips/patches-3.18/0200-linkit_bootstrap.patch +++ b/target/linux/ramips/patches-3.18/0200-linkit_bootstrap.patch @@ -1,6 +1,6 @@ --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile -@@ -56,3 +56,4 @@ +@@ -56,3 +56,4 @@ obj-$(CONFIG_GENWQE) += genwqe/ obj-$(CONFIG_ECHO) += echo/ obj-$(CONFIG_VEXPRESS_SYSCFG) += vexpress-syscfg.o obj-$(CONFIG_CXL_BASE) += cxl/ diff --git a/target/linux/ramips/patches-3.18/0300-mt7628_fixes.patch b/target/linux/ramips/patches-3.18/0300-mt7628_fixes.patch index 1a5a0ba1a2..8b7a405516 100644 --- a/target/linux/ramips/patches-3.18/0300-mt7628_fixes.patch +++ b/target/linux/ramips/patches-3.18/0300-mt7628_fixes.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ralink/mt7620.c +++ b/arch/mips/ralink/mt7620.c -@@ -101,28 +101,28 @@ +@@ -101,28 +101,28 @@ static struct rt2880_pmx_group mt7620a_p }; static struct rt2880_pmx_func pwm1_grp_mt7628[] = { @@ -35,7 +35,7 @@ FUNC("pwm", 2, 45, 2), FUNC("gpio", 1, 45, 2), FUNC("uart1", 0, 45, 2), -@@ -165,7 +165,7 @@ +@@ -165,7 +165,7 @@ static struct rt2880_pmx_func spi_cs1_gr FUNC("-", 3, 6, 1), FUNC("refclk", 2, 6, 1), FUNC("gpio", 1, 6, 1), @@ -44,7 +44,7 @@ }; static struct rt2880_pmx_func spis_grp_mt7628[] = { -@@ -182,27 +182,43 @@ +@@ -182,27 +182,43 @@ static struct rt2880_pmx_func gpio_grp_m FUNC("gpio", 0, 11, 1), }; @@ -107,7 +107,7 @@ GRP_G("uart2", uart2_grp_mt7628, MT7628_GPIO_MODE_MASK, 1, MT7628_GPIO_MODE_UART2), GRP_G("uart1", uart1_grp_mt7628, MT7628_GPIO_MODE_MASK, 1, MT7628_GPIO_MODE_UART1), GRP_G("i2c", i2c_grp_mt7628, MT7628_GPIO_MODE_MASK, 1, MT7628_GPIO_MODE_I2C), -@@ -216,6 +232,8 @@ +@@ -216,6 +232,8 @@ static struct rt2880_pmx_group mt7628an_ GRP_G("spi cs1", spi_cs1_grp_mt7628, MT7628_GPIO_MODE_MASK, 1, MT7628_GPIO_MODE_CS1), GRP_G("spis", spis_grp_mt7628, MT7628_GPIO_MODE_MASK, 1, MT7628_GPIO_MODE_SPIS), GRP_G("gpio", gpio_grp_mt7628, MT7628_GPIO_MODE_MASK, 1, MT7628_GPIO_MODE_GPIO), @@ -116,7 +116,7 @@ { 0 } }; -@@ -529,7 +547,11 @@ +@@ -532,7 +550,11 @@ void prom_soc_init(struct ralink_soc_inf (rev & CHIP_REV_ECO_MASK)); cfg0 = __raw_readl(sysc + SYSC_REG_SYSTEM_CONFIG0); diff --git a/target/linux/ramips/patches-3.18/0301-mt7688-detect.patch b/target/linux/ramips/patches-3.18/0301-mt7688-detect.patch index fc05a981a1..e3f2887d8c 100644 --- a/target/linux/ramips/patches-3.18/0301-mt7688-detect.patch +++ b/target/linux/ramips/patches-3.18/0301-mt7688-detect.patch @@ -20,7 +20,7 @@ /* does the board have sdram or ddram */ static int dram_type; -@@ -391,7 +394,7 @@ +@@ -391,7 +394,7 @@ void __init ralink_clk_init(void) #define RINT(x) ((x) / 1000000) #define RFRAC(x) (((x) / 1000) % 1000) @@ -29,7 +29,7 @@ if (xtal_rate == MHZ(40)) cpu_rate = MHZ(580); else -@@ -436,7 +439,8 @@ +@@ -436,7 +439,8 @@ void __init ralink_clk_init(void) ralink_clk_add("10000e00.uart2", periph_rate); ralink_clk_add("10180000.wmac", xtal_rate); @@ -39,7 +39,7 @@ /* * When the CPU goes into sleep mode, the BUS clock will be too low for * USB to function properly -@@ -536,8 +540,15 @@ +@@ -536,8 +540,15 @@ void prom_soc_init(struct ralink_soc_inf #endif } } else if (n0 == MT7620_CHIP_NAME0 && n1 == MT7628_CHIP_NAME1) { @@ -57,7 +57,7 @@ soc_info->compatible = "ralink,mt7628an-soc"; } else { panic("mt762x: unknown SoC, n0:%08x n1:%08x\n", n0, n1); -@@ -551,13 +562,13 @@ +@@ -551,13 +562,13 @@ void prom_soc_init(struct ralink_soc_inf cfg0 = __raw_readl(sysc + SYSC_REG_SYSTEM_CONFIG0); @@ -73,7 +73,7 @@ mt7628_dram_init(soc_info); else mt7620_dram_init(soc_info); -@@ -570,7 +581,7 @@ +@@ -570,7 +581,7 @@ void prom_soc_init(struct ralink_soc_inf pr_info("Digital PMU set to %s control\n", (pmu1 & DIG_SW_SEL) ? ("sw") : ("hw")); @@ -84,7 +84,7 @@ rt2880_pinmux_data = mt7620a_pinmux_data; --- a/arch/mips/include/asm/mach-ralink/ralink_regs.h +++ b/arch/mips/include/asm/mach-ralink/ralink_regs.h -@@ -24,6 +24,7 @@ +@@ -24,6 +24,7 @@ enum ralink_soc_type { MT762X_SOC_MT7620N, MT762X_SOC_MT7621AT, MT762X_SOC_MT7628AN, @@ -94,7 +94,7 @@ --- a/drivers/net/ethernet/ralink/esw_rt3052.c +++ b/drivers/net/ethernet/ralink/esw_rt3052.c -@@ -611,7 +611,7 @@ +@@ -611,7 +611,7 @@ static void esw_hw_init(struct rt305x_es rt305x_mii_write(esw, 0, 29, 0x598b); /* select local register */ rt305x_mii_write(esw, 0, 31, 0x8000); @@ -103,7 +103,7 @@ int i; // u32 phy_val; u32 val; -@@ -1042,7 +1042,7 @@ +@@ -1042,7 +1042,7 @@ esw_get_port_tr_badgood(struct switch_de int shift = attr->id == RT5350_ESW_ATTR_PORT_TR_GOOD ? 0 : 16; u32 reg; diff --git a/target/linux/ramips/patches-3.18/0302-mt762x-vendor-id.patch b/target/linux/ramips/patches-3.18/0302-mt762x-vendor-id.patch index 6b05a13abd..06e22cc4cb 100644 --- a/target/linux/ramips/patches-3.18/0302-mt762x-vendor-id.patch +++ b/target/linux/ramips/patches-3.18/0302-mt762x-vendor-id.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ralink/mt7620.c +++ b/arch/mips/ralink/mt7620.c -@@ -555,7 +555,7 @@ +@@ -555,7 +555,7 @@ void prom_soc_init(struct ralink_soc_inf } snprintf(soc_info->sys_type, RAMIPS_SYS_TYPE_LEN, @@ -11,7 +11,7 @@ (rev & CHIP_REV_ECO_MASK)); --- a/arch/mips/ralink/mt7621.c +++ b/arch/mips/ralink/mt7621.c -@@ -168,7 +168,7 @@ +@@ -168,7 +168,7 @@ void prom_soc_init(struct ralink_soc_inf rev = __raw_readl(sysc + SYSC_REG_CHIP_REV); snprintf(soc_info->sys_type, RAMIPS_SYS_TYPE_LEN, diff --git a/target/linux/ramips/patches-3.18/500-alsa.patch b/target/linux/ramips/patches-3.18/500-alsa.patch index a35d7a9480..d6d489249f 100644 --- a/target/linux/ramips/patches-3.18/500-alsa.patch +++ b/target/linux/ramips/patches-3.18/500-alsa.patch @@ -1,6 +1,6 @@ --- a/sound/soc/Kconfig +++ b/sound/soc/Kconfig -@@ -56,6 +56,7 @@ +@@ -56,6 +56,7 @@ source "sound/soc/spear/Kconfig" source "sound/soc/tegra/Kconfig" source "sound/soc/txx9/Kconfig" source "sound/soc/ux500/Kconfig" @@ -10,14 +10,14 @@ source "sound/soc/codecs/Kconfig" --- a/sound/soc/Makefile +++ b/sound/soc/Makefile -@@ -33,3 +33,4 @@ +@@ -33,3 +33,4 @@ obj-$(CONFIG_SND_SOC) += spear/ obj-$(CONFIG_SND_SOC) += tegra/ obj-$(CONFIG_SND_SOC) += txx9/ obj-$(CONFIG_SND_SOC) += ux500/ +obj-$(CONFIG_SND_SOC) += mtk/ --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig -@@ -725,7 +725,7 @@ +@@ -725,7 +725,7 @@ config SND_SOC_WM8955 tristate config SND_SOC_WM8960 @@ -7371,7 +7371,7 @@ +#endif --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c -@@ -1851,7 +1851,8 @@ +@@ -1851,7 +1851,8 @@ static int soc_probe(struct platform_dev /* Bodge while we unpick instantiation */ card->dev = &pdev->dev; @@ -8107,7 +8107,7 @@ { 0x4, 0x0000 }, { 0x5, 0x0008 }, { 0x6, 0x0000 }, -@@ -88,8 +89,8 @@ +@@ -88,8 +89,8 @@ static const struct reg_default wm8960_r { 0x25, 0x0050 }, { 0x26, 0x0000 }, { 0x27, 0x0000 }, @@ -8118,7 +8118,7 @@ { 0x2a, 0x0040 }, { 0x2b, 0x0000 }, { 0x2c, 0x0000 }, -@@ -127,8 +128,15 @@ +@@ -127,8 +128,15 @@ struct wm8960_priv { int playback_fs; }; @@ -8135,7 +8135,7 @@ /* enumerated controls */ static const char *wm8960_polarity[] = {"No Inversion", "Left Inverted", "Right Inverted", "Stereo Inversion"}; -@@ -181,8 +189,8 @@ +@@ -181,8 +189,8 @@ static int wm8960_get_deemph(struct snd_ struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); struct wm8960_priv *wm8960 = snd_soc_codec_get_drvdata(codec); @@ -8146,7 +8146,7 @@ } static int wm8960_put_deemph(struct snd_kcontrol *kcontrol, -@@ -200,6 +208,70 @@ +@@ -200,6 +208,70 @@ static int wm8960_put_deemph(struct snd_ return wm8960_set_deemph(codec); } @@ -8217,7 +8217,7 @@ static const DECLARE_TLV_DB_SCALE(adc_tlv, -9700, 50, 0); static const DECLARE_TLV_DB_SCALE(dac_tlv, -12700, 50, 1); static const DECLARE_TLV_DB_SCALE(bypass_tlv, -2100, 300, 0); -@@ -542,6 +614,7 @@ +@@ -542,6 +614,7 @@ static int wm8960_set_dai_fmt(struct snd /* set iface */ snd_soc_write(codec, WM8960_IFACE1, iface); @@ -8225,7 +8225,7 @@ return 0; } -@@ -623,11 +696,16 @@ +@@ -623,11 +696,16 @@ static int wm8960_set_bias_level_out3(st break; case SND_SOC_BIAS_PREPARE: @@ -8242,7 +8242,7 @@ if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) { regcache_sync(wm8960->regmap); -@@ -650,9 +728,13 @@ +@@ -650,9 +728,13 @@ static int wm8960_set_bias_level_out3(st /* Set VMID to 2x250k */ snd_soc_update_bits(codec, WM8960_POWER1, 0x180, 0x100); @@ -8256,7 +8256,7 @@ /* Enable anti-pop features */ snd_soc_write(codec, WM8960_APOP1, WM8960_POBCTRL | WM8960_SOFT_ST | -@@ -661,6 +743,7 @@ +@@ -661,6 +743,7 @@ static int wm8960_set_bias_level_out3(st /* Disable VMID and VREF, let them discharge */ snd_soc_write(codec, WM8960_POWER1, 0); msleep(600); @@ -8264,7 +8264,7 @@ break; } -@@ -853,10 +936,15 @@ +@@ -853,10 +936,15 @@ static int wm8960_set_dai_pll(struct snd if (pll_div.k) { reg |= 0x20; @@ -8281,7 +8281,7 @@ } snd_soc_write(codec, WM8960_PLL1, reg); -@@ -888,7 +976,11 @@ +@@ -888,7 +976,11 @@ static int wm8960_set_dai_clkdiv(struct snd_soc_write(codec, WM8960_PLL1, reg | div); break; case WM8960_DCLKDIV: @@ -8293,7 +8293,7 @@ snd_soc_write(codec, WM8960_CLOCK2, reg | div); break; case WM8960_TOCLKSEL: -@@ -962,7 +1054,7 @@ +@@ -962,7 +1054,7 @@ static int wm8960_probe(struct snd_soc_c { struct wm8960_priv *wm8960 = snd_soc_codec_get_drvdata(codec); struct wm8960_data *pdata = dev_get_platdata(codec->dev); @@ -8302,7 +8302,7 @@ wm8960->set_bias_level = wm8960_set_bias_level_out3; -@@ -973,11 +1065,7 @@ +@@ -973,11 +1065,7 @@ static int wm8960_probe(struct snd_soc_c wm8960->set_bias_level = wm8960_set_bias_level_capless; } diff --git a/target/linux/ramips/patches-3.18/999-baud_250000.patch b/target/linux/ramips/patches-3.18/999-baud_250000.patch index eebe31c918..6a364c06c6 100644 --- a/target/linux/ramips/patches-3.18/999-baud_250000.patch +++ b/target/linux/ramips/patches-3.18/999-baud_250000.patch @@ -1,6 +1,6 @@ --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c -@@ -356,6 +356,9 @@ +@@ -356,6 +356,9 @@ uart_get_baud_rate(struct uart_port *por else if (flags == UPF_SPD_WARP) altbaud = 460800; diff --git a/target/linux/ramips/patches-3.18/999-non-pci-mt7620.patch b/target/linux/ramips/patches-3.18/999-non-pci-mt7620.patch index 815b1c7447..ff74df55ce 100644 --- a/target/linux/ramips/patches-3.18/999-non-pci-mt7620.patch +++ b/target/linux/ramips/patches-3.18/999-non-pci-mt7620.patch @@ -1,6 +1,6 @@ --- a/arch/mips/ralink/mt7620.c +++ b/arch/mips/ralink/mt7620.c -@@ -511,9 +511,6 @@ void prom_soc_init(struct ralink_soc_inf +@@ -535,9 +535,6 @@ void prom_soc_init(struct ralink_soc_inf ralink_soc = MT762X_SOC_MT7620N; name = "MT7620N"; soc_info->compatible = "ralink,mt7620n-soc"; @@ -9,4 +9,4 @@ -#endif } } else if (n0 == MT7620_CHIP_NAME0 && n1 == MT7628_CHIP_NAME1) { - ralink_soc = MT762X_SOC_MT7628AN; + u32 efuse = __raw_readl(sysc + SYSC_REG_EFUSE_CFG); diff --git a/target/linux/sunxi/patches-3.18/200-mmc-add-sdio-function-subnode.patch b/target/linux/sunxi/patches-3.18/200-mmc-add-sdio-function-subnode.patch index d2a1504728..96662d81d0 100644 --- a/target/linux/sunxi/patches-3.18/200-mmc-add-sdio-function-subnode.patch +++ b/target/linux/sunxi/patches-3.18/200-mmc-add-sdio-function-subnode.patch @@ -49,7 +49,7 @@ Signed-off-by: Hans de Goede put_device(&card->dev); --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c -@@ -1205,6 +1205,34 @@ EXPORT_SYMBOL(mmc_of_parse_voltage); +@@ -1207,6 +1207,34 @@ EXPORT_SYMBOL(mmc_of_parse_voltage); #endif /* CONFIG_OF */ diff --git a/target/linux/x86/patches-3.18/001-x86-platform-Fix-Geode-LX-timekeeping-in-the-generic.patch b/target/linux/x86/patches-3.18/001-x86-platform-Fix-Geode-LX-timekeeping-in-the-generic.patch deleted file mode 100644 index 8bd1699627..0000000000 --- a/target/linux/x86/patches-3.18/001-x86-platform-Fix-Geode-LX-timekeeping-in-the-generic.patch +++ /dev/null @@ -1,61 +0,0 @@ -From: David Woodhouse -Date: Thu, 17 Sep 2015 10:16:54 +0100 -Subject: [PATCH] x86/platform: Fix Geode LX timekeeping in the generic x86 - build - -In 2007, commit 07190a08eef36 ("Mark TSC on GeodeLX reliable") -bypassed verification of the TSC on Geode LX. However, this code -(now in the check_system_tsc_reliable() function in -arch/x86/kernel/tsc.c) was only present if CONFIG_MGEODE_LX was -set. - -OpenWRT has recently started building its generic Geode target -for Geode GX, not LX, to include support for additional -platforms. This broke the timekeeping on LX-based devices, -because the TSC wasn't marked as reliable: -https://dev.openwrt.org/ticket/20531 - -By adding a runtime check on is_geode_lx(), we can also include -the fix if CONFIG_MGEODEGX1 or CONFIG_X86_GENERIC are set, thus -fixing the problem. - -Signed-off-by: David Woodhouse -Signed-off-by: Ingo Molnar -Closes #20531 ---- - ---- a/arch/x86/kernel/tsc.c -+++ b/arch/x86/kernel/tsc.c -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - - unsigned int __read_mostly cpu_khz; /* TSC clocks / usec, not used here */ - EXPORT_SYMBOL(cpu_khz); -@@ -1004,15 +1005,17 @@ EXPORT_SYMBOL_GPL(mark_tsc_unstable); - - static void __init check_system_tsc_reliable(void) - { --#ifdef CONFIG_MGEODE_LX -- /* RTSC counts during suspend */ -+#if defined(CONFIG_MGEODEGX1) || defined(CONFIG_MGEODE_LX) || defined(CONFIG_X86_GENERIC) -+ if (is_geode_lx()) { -+ /* RTSC counts during suspend */ - #define RTSC_SUSP 0x100 -- unsigned long res_low, res_high; -+ unsigned long res_low, res_high; - -- rdmsr_safe(MSR_GEODE_BUSCONT_CONF0, &res_low, &res_high); -- /* Geode_LX - the OLPC CPU has a very reliable TSC */ -- if (res_low & RTSC_SUSP) -- tsc_clocksource_reliable = 1; -+ rdmsr_safe(MSR_GEODE_BUSCONT_CONF0, &res_low, &res_high); -+ /* Geode_LX - the OLPC CPU has a very reliable TSC */ -+ if (res_low & RTSC_SUSP) -+ tsc_clocksource_reliable = 1; -+ } - #endif - if (boot_cpu_has(X86_FEATURE_TSC_RELIABLE)) - tsc_clocksource_reliable = 1; diff --git a/target/linux/xburst/patches-3.18/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch b/target/linux/xburst/patches-3.18/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch index 19eaf3af3e..93851d7283 100644 --- a/target/linux/xburst/patches-3.18/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch +++ b/target/linux/xburst/patches-3.18/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch @@ -9,7 +9,7 @@ Subject: [PATCH 1/7] ubi: Read only the vid header instead of the whole page --- a/drivers/mtd/ubi/io.c +++ b/drivers/mtd/ubi/io.c -@@ -1009,7 +1009,7 @@ int ubi_io_read_vid_hdr(struct ubi_devic +@@ -1014,7 +1014,7 @@ int ubi_io_read_vid_hdr(struct ubi_devic p = (char *)vid_hdr - ubi->vid_hdr_shift; read_err = ubi_io_read(ubi, p, pnum, ubi->vid_hdr_aloffset, -- 2.30.2