summaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/patches-3.14
diff options
context:
space:
mode:
authorLuka Perkov <luka@openwrt.org>2014-09-10 21:40:19 +0000
committerLuka Perkov <luka@openwrt.org>2014-09-10 21:40:19 +0000
commit02629d8f87303a03e3ac36f48c508242d9b8cb09 (patch)
tree250a83e0d0e2cf5c7fe49e0a2087f3739f4509c2 /target/linux/ramips/patches-3.14
parent7be0ed78e7cf578aa89996d408703ea2ab79a1e8 (diff)
downloadmaster-31e0f0ae-02629d8f87303a03e3ac36f48c508242d9b8cb09.tar.gz
master-31e0f0ae-02629d8f87303a03e3ac36f48c508242d9b8cb09.tar.bz2
master-31e0f0ae-02629d8f87303a03e3ac36f48c508242d9b8cb09.zip
kernel: update 3.14 to 3.14.18
Targets were build tested and patches are refreshed. Signed-off-by: Luka Perkov <luka@openwrt.org> SVN-Revision: 42463
Diffstat (limited to 'target/linux/ramips/patches-3.14')
-rw-r--r--target/linux/ramips/patches-3.14/0001-MIPS-ralink-add-verbose-pmu-info.patch9
-rw-r--r--target/linux/ramips/patches-3.14/0002-MIPS-ralink-add-a-helper-for-reading-the-ECO-version.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0003-MIPS-ralink-add-rt_sysc_m32-helper.patch7
-rw-r--r--target/linux/ramips/patches-3.14/0004-MIPS-ralink-adds-a-bootrom-dumper-module.patch8
-rw-r--r--target/linux/ramips/patches-3.14/0005-MIPS-ralink-add-illegal-access-driver.patch10
-rw-r--r--target/linux/ramips/patches-3.14/0006-MIPS-ralink-add-missing-clk_set_rate-to-clk.c.patch7
-rw-r--r--target/linux/ramips/patches-3.14/0007-MIPS-ralink-add-support-for-MT7620n.patch9
-rw-r--r--target/linux/ramips/patches-3.14/0008-MIPS-ralink-allow-manual-memory-override.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0009-MIPS-ralink-define-the-wmac-clock-on-mt7620.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0010-MIPS-ralink-define-the-wmac-clock-on-rt3883.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0011-MIPS-ralink-add-rt2880-wmac-clock.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0012-MIPS-ralink-add-MT7621-support.patch30
-rw-r--r--target/linux/ramips/patches-3.14/0013-MIPS-ralink-add-MT7621-defconfig.patch6
-rw-r--r--target/linux/ramips/patches-3.14/0014-MIPS-ralink-add-MT7621-dts-file.patch13
-rw-r--r--target/linux/ramips/patches-3.14/0015-MIPS-ralink-cleanup-early_printk.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0016-MIPS-ralink-add-MT7621-pcie-driver.patch10
-rw-r--r--target/linux/ramips/patches-3.14/0017-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch9
-rw-r--r--target/linux/ramips/patches-3.14/0018-MIPS-ralink-workaround-DTB-memory-issue.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0019-MIPS-ralink-add-pseudo-pwm-led-trigger-based-on-time.patch17
-rw-r--r--target/linux/ramips/patches-3.14/0020-MIPS-ralink-update-dts-files.patch9
-rw-r--r--target/linux/ramips/patches-3.14/0021-MIPS-ralink-add-cpu-frequency-scaling.patch11
-rw-r--r--target/linux/ramips/patches-3.14/0022-MIPS-ralink-copy-the-commandline-from-the-devicetree.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0023-MIPS-ralink-mt7620-fix-usb-issue-during-frequency-sc.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0024-MIPS-ralink-add-mt7628an-devicetree-files.patch15
-rw-r--r--target/linux/ramips/patches-3.14/0025-MIPS-ralink-allow-loading-irq-registers-from-the-dev.patch7
-rw-r--r--target/linux/ramips/patches-3.14/0026-MIPS-ralink-add-mt7628an-support.patch15
-rw-r--r--target/linux/ramips/patches-3.14/0027-serial-ralink-adds-mt7620-serial.patch7
-rw-r--r--target/linux/ramips/patches-3.14/0028-serial-ralink-the-core-has-a-size-of-0x100-and-not-0.patch7
-rw-r--r--target/linux/ramips/patches-3.14/0029-serial-of-allow-au1x00-and-rt288x-to-load-from-OF.patch7
-rw-r--r--target/linux/ramips/patches-3.14/0030-pinctrl-ralink-add-pinctrl-driver.patch76
-rw-r--r--target/linux/ramips/patches-3.14/0031-PCI-MIPS-adds-rt2880-pci-support.patch12
-rw-r--r--target/linux/ramips/patches-3.14/0032-PCI-MIPS-adds-mt7620a-pcie-driver.patch12
-rw-r--r--target/linux/ramips/patches-3.14/0033-NET-multi-phy-support.patch13
-rw-r--r--target/linux/ramips/patches-3.14/0034-NET-add-of_get_mac_address_mtd.patch9
-rw-r--r--target/linux/ramips/patches-3.14/0035-NET-MIPS-add-ralink-SoC-ethernet-driver.patch66
-rw-r--r--target/linux/ramips/patches-3.14/0036-NET-add-mt7621-ethernet-driver.patch154
-rw-r--r--target/linux/ramips/patches-3.14/0037-USB-phy-add-ralink-SoC-driver.patch22
-rw-r--r--target/linux/ramips/patches-3.14/0038-USB-add-OHCI-EHCI-OF-binding.patch40
-rw-r--r--target/linux/ramips/patches-3.14/0039-USB-adds-dwc_otg.patch64
-rw-r--r--target/linux/ramips/patches-3.14/0040-USB-add-mt7621-xhci-support.patch150
-rw-r--r--target/linux/ramips/patches-3.14/0041-mtd-fix-cfi-cmdset-0002-erase-status-check.patch9
-rw-r--r--target/linux/ramips/patches-3.14/0042-mtd-cfi-cmdset-0002-force-word-write.patch15
-rw-r--r--target/linux/ramips/patches-3.14/0043-mtd-ralink-add-mt7620-nand-driver.patch13
-rw-r--r--target/linux/ramips/patches-3.14/0044-mtd-add-chunked-read-io-to-m25p80.patch11
-rw-r--r--target/linux/ramips/patches-3.14/0045-mtd-add-mt7621-nand-support.patch48
-rw-r--r--target/linux/ramips/patches-3.14/0046-DT-Add-documentation-for-gpio-ralink.patch6
-rw-r--r--target/linux/ramips/patches-3.14/0047-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch15
-rw-r--r--target/linux/ramips/patches-3.14/0048-GPIO-ralink-add-mt7621-gpio-controller.patch14
-rw-r--r--target/linux/ramips/patches-3.14/0049-DT-Add-documentation-for-spi-rt2880.patch6
-rw-r--r--target/linux/ramips/patches-3.14/0050-SPI-ralink-add-Ralink-SoC-spi-driver.patch14
-rw-r--r--target/linux/ramips/patches-3.14/0051-SPI-MIPS-ralink-add-mt7621-support.patch23
-rw-r--r--target/linux/ramips/patches-3.14/0052-i2c-MIPS-adds-ralink-I2C-driver.patch28
-rw-r--r--target/linux/ramips/patches-3.14/0053-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch15
-rw-r--r--target/linux/ramips/patches-3.14/0054-DMA-ralink-add-rt2880-dma-engine.patch18
-rw-r--r--target/linux/ramips/patches-3.14/0055-asoc-add-mt7620-support.patch25
-rw-r--r--target/linux/ramips/patches-3.14/0056-watchdog-add-MT7621-support.patch14
-rw-r--r--target/linux/ramips/patches-3.14/0057-uvc-add-iPassion-iP2970-support.patch21
-rw-r--r--target/linux/ramips/patches-3.14/0058-GPIO-add-named-gpio-exports.patch21
-rw-r--r--target/linux/ramips/patches-3.14/0059-USB-fix-dwc2.patch8
-rw-r--r--target/linux/ramips/patches-3.14/0100-mtd-split-remove-padding.patch2
-rw-r--r--target/linux/ramips/patches-3.14/0101-mtd-add-rtn56u-support.patch4
-rw-r--r--target/linux/ramips/patches-3.14/0103-MIPS-OWRTDTB.patch10
62 files changed, 243 insertions, 973 deletions
diff --git a/target/linux/ramips/patches-3.14/0001-MIPS-ralink-add-verbose-pmu-info.patch b/target/linux/ramips/patches-3.14/0001-MIPS-ralink-add-verbose-pmu-info.patch
index 51094d59b2..5bf90c6fee 100644
--- a/target/linux/ramips/patches-3.14/0001-MIPS-ralink-add-verbose-pmu-info.patch
+++ b/target/linux/ramips/patches-3.14/0001-MIPS-ralink-add-verbose-pmu-info.patch
@@ -10,8 +10,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/mt7620.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index a3ad56c..5846817 100644
--- a/arch/mips/ralink/mt7620.c
+++ b/arch/mips/ralink/mt7620.c
@@ -20,6 +20,22 @@
@@ -37,7 +35,7 @@ index a3ad56c..5846817 100644
/* does the board have sdram or ddram */
static int dram_type;
-@@ -339,6 +355,8 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -339,6 +355,8 @@ void prom_soc_init(struct ralink_soc_inf
u32 n1;
u32 rev;
u32 cfg0;
@@ -46,7 +44,7 @@ index a3ad56c..5846817 100644
n0 = __raw_readl(sysc + SYSC_REG_CHIP_NAME0);
n1 = __raw_readl(sysc + SYSC_REG_CHIP_NAME1);
-@@ -386,4 +404,12 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -386,4 +404,12 @@ void prom_soc_init(struct ralink_soc_inf
BUG();
}
soc_info->mem_base = MT7620_DRAM_BASE;
@@ -59,6 +57,3 @@ index a3ad56c..5846817 100644
+ pr_info("Digital PMU set to %s control\n",
+ (pmu1 & DIG_SW_SEL) ? ("sw") : ("hw"));
}
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0002-MIPS-ralink-add-a-helper-for-reading-the-ECO-version.patch b/target/linux/ramips/patches-3.14/0002-MIPS-ralink-add-a-helper-for-reading-the-ECO-version.patch
index 92155d4f3a..237ba00a5a 100644
--- a/target/linux/ramips/patches-3.14/0002-MIPS-ralink-add-a-helper-for-reading-the-ECO-version.patch
+++ b/target/linux/ramips/patches-3.14/0002-MIPS-ralink-add-a-helper-for-reading-the-ECO-version.patch
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/include/asm/mach-ralink/mt7620.h | 5 +++++
1 file changed, 5 insertions(+)
-diff --git a/arch/mips/include/asm/mach-ralink/mt7620.h b/arch/mips/include/asm/mach-ralink/mt7620.h
-index 6f9b24f..7ff9290 100644
--- a/arch/mips/include/asm/mach-ralink/mt7620.h
+++ b/arch/mips/include/asm/mach-ralink/mt7620.h
@@ -105,4 +105,9 @@
@@ -22,6 +20,3 @@ index 6f9b24f..7ff9290 100644
+}
+
#endif
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0003-MIPS-ralink-add-rt_sysc_m32-helper.patch b/target/linux/ramips/patches-3.14/0003-MIPS-ralink-add-rt_sysc_m32-helper.patch
index e254ac0cf8..66126e6889 100644
--- a/target/linux/ramips/patches-3.14/0003-MIPS-ralink-add-rt_sysc_m32-helper.patch
+++ b/target/linux/ramips/patches-3.14/0003-MIPS-ralink-add-rt_sysc_m32-helper.patch
@@ -8,11 +8,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/include/asm/mach-ralink/ralink_regs.h | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/arch/mips/include/asm/mach-ralink/ralink_regs.h b/arch/mips/include/asm/mach-ralink/ralink_regs.h
-index 5a508f9..bd93014 100644
--- a/arch/mips/include/asm/mach-ralink/ralink_regs.h
+++ b/arch/mips/include/asm/mach-ralink/ralink_regs.h
-@@ -26,6 +26,13 @@ static inline u32 rt_sysc_r32(unsigned reg)
+@@ -26,6 +26,13 @@ static inline u32 rt_sysc_r32(unsigned r
return __raw_readl(rt_sysc_membase + reg);
}
@@ -26,6 +24,3 @@ index 5a508f9..bd93014 100644
static inline void rt_memc_w32(u32 val, unsigned reg)
{
__raw_writel(val, rt_memc_membase + reg);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0004-MIPS-ralink-adds-a-bootrom-dumper-module.patch b/target/linux/ramips/patches-3.14/0004-MIPS-ralink-adds-a-bootrom-dumper-module.patch
index 88e0f52ef9..c0b4d6b528 100644
--- a/target/linux/ramips/patches-3.14/0004-MIPS-ralink-adds-a-bootrom-dumper-module.patch
+++ b/target/linux/ramips/patches-3.14/0004-MIPS-ralink-adds-a-bootrom-dumper-module.patch
@@ -13,8 +13,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
2 files changed, 50 insertions(+)
create mode 100644 arch/mips/ralink/bootrom.c
-diff --git a/arch/mips/ralink/Makefile b/arch/mips/ralink/Makefile
-index 98ae349..584a8d9 100644
--- a/arch/mips/ralink/Makefile
+++ b/arch/mips/ralink/Makefile
@@ -17,4 +17,6 @@ obj-$(CONFIG_SOC_MT7620) += mt7620.o
@@ -24,9 +22,6 @@ index 98ae349..584a8d9 100644
+obj-$(CONFIG_DEBUG_FS) += bootrom.o
+
obj-y += dts/
-diff --git a/arch/mips/ralink/bootrom.c b/arch/mips/ralink/bootrom.c
-new file mode 100644
-index 0000000..f926f6f
--- /dev/null
+++ b/arch/mips/ralink/bootrom.c
@@ -0,0 +1,48 @@
@@ -78,6 +73,3 @@ index 0000000..f926f6f
+}
+
+postcore_initcall(bootrom_setup);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0005-MIPS-ralink-add-illegal-access-driver.patch b/target/linux/ramips/patches-3.14/0005-MIPS-ralink-add-illegal-access-driver.patch
index 5c8414a7b6..fa9cd21b03 100644
--- a/target/linux/ramips/patches-3.14/0005-MIPS-ralink-add-illegal-access-driver.patch
+++ b/target/linux/ramips/patches-3.14/0005-MIPS-ralink-add-illegal-access-driver.patch
@@ -12,11 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
2 files changed, 89 insertions(+)
create mode 100644 arch/mips/ralink/ill_acc.c
-diff --git a/arch/mips/ralink/Makefile b/arch/mips/ralink/Makefile
-index 584a8d9..fc57c16 100644
--- a/arch/mips/ralink/Makefile
+++ b/arch/mips/ralink/Makefile
-@@ -10,6 +10,8 @@ obj-y := prom.o of.o reset.o clk.o irq.o timer.o
+@@ -10,6 +10,8 @@ obj-y := prom.o of.o reset.o clk.o irq.o
obj-$(CONFIG_CLKEVT_RT3352) += cevt-rt3352.o
@@ -25,9 +23,6 @@ index 584a8d9..fc57c16 100644
obj-$(CONFIG_SOC_RT288X) += rt288x.o
obj-$(CONFIG_SOC_RT305X) += rt305x.o
obj-$(CONFIG_SOC_RT3883) += rt3883.o
-diff --git a/arch/mips/ralink/ill_acc.c b/arch/mips/ralink/ill_acc.c
-new file mode 100644
-index 0000000..4a3f696
--- /dev/null
+++ b/arch/mips/ralink/ill_acc.c
@@ -0,0 +1,87 @@
@@ -118,6 +113,3 @@ index 0000000..4a3f696
+}
+
+arch_initcall(ill_acc_of_setup);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0006-MIPS-ralink-add-missing-clk_set_rate-to-clk.c.patch b/target/linux/ramips/patches-3.14/0006-MIPS-ralink-add-missing-clk_set_rate-to-clk.c.patch
index 280f1074c4..8085e4be68 100644
--- a/target/linux/ramips/patches-3.14/0006-MIPS-ralink-add-missing-clk_set_rate-to-clk.c.patch
+++ b/target/linux/ramips/patches-3.14/0006-MIPS-ralink-add-missing-clk_set_rate-to-clk.c.patch
@@ -10,11 +10,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/clk.c | 6 ++++++
1 file changed, 6 insertions(+)
-diff --git a/arch/mips/ralink/clk.c b/arch/mips/ralink/clk.c
-index 5d0983d..feb5a9b 100644
--- a/arch/mips/ralink/clk.c
+++ b/arch/mips/ralink/clk.c
-@@ -56,6 +56,12 @@ unsigned long clk_get_rate(struct clk *clk)
+@@ -56,6 +56,12 @@ unsigned long clk_get_rate(struct clk *c
}
EXPORT_SYMBOL_GPL(clk_get_rate);
@@ -27,6 +25,3 @@ index 5d0983d..feb5a9b 100644
void __init plat_time_init(void)
{
struct clk *clk;
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0007-MIPS-ralink-add-support-for-MT7620n.patch b/target/linux/ramips/patches-3.14/0007-MIPS-ralink-add-support-for-MT7620n.patch
index 3606acbfed..1d507101f3 100644
--- a/target/linux/ramips/patches-3.14/0007-MIPS-ralink-add-support-for-MT7620n.patch
+++ b/target/linux/ramips/patches-3.14/0007-MIPS-ralink-add-support-for-MT7620n.patch
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/mt7620.c | 19 ++++++++++++-------
2 files changed, 14 insertions(+), 12 deletions(-)
-diff --git a/arch/mips/include/asm/mach-ralink/mt7620.h b/arch/mips/include/asm/mach-ralink/mt7620.h
-index 7ff9290..27b2fa9 100644
--- a/arch/mips/include/asm/mach-ralink/mt7620.h
+++ b/arch/mips/include/asm/mach-ralink/mt7620.h
@@ -25,11 +25,8 @@
@@ -29,11 +27,9 @@ index 7ff9290..27b2fa9 100644
#define SYSCFG0_XTAL_FREQ_SEL BIT(6)
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index 5846817..4fdee17 100644
--- a/arch/mips/ralink/mt7620.c
+++ b/arch/mips/ralink/mt7620.c
-@@ -357,22 +357,27 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -357,22 +357,27 @@ void prom_soc_init(struct ralink_soc_inf
u32 cfg0;
u32 pmu0;
u32 pmu1;
@@ -68,6 +64,3 @@ index 5846817..4fdee17 100644
snprintf(soc_info->sys_type, RAMIPS_SYS_TYPE_LEN,
"Ralink %s ver:%u eco:%u",
name,
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0008-MIPS-ralink-allow-manual-memory-override.patch b/target/linux/ramips/patches-3.14/0008-MIPS-ralink-allow-manual-memory-override.patch
index bbbe7aa860..f69895e1e8 100644
--- a/target/linux/ramips/patches-3.14/0008-MIPS-ralink-allow-manual-memory-override.patch
+++ b/target/linux/ramips/patches-3.14/0008-MIPS-ralink-allow-manual-memory-override.patch
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/of.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
-diff --git a/arch/mips/ralink/of.c b/arch/mips/ralink/of.c
-index eccc552..1b81e8f 100644
--- a/arch/mips/ralink/of.c
+++ b/arch/mips/ralink/of.c
@@ -78,6 +78,17 @@ void __init device_tree_init(void)
@@ -45,6 +43,3 @@ index eccc552..1b81e8f 100644
add_memory_region(soc_info.mem_base, soc_info.mem_size * SZ_1M,
BOOT_MEM_RAM);
else
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0009-MIPS-ralink-define-the-wmac-clock-on-mt7620.patch b/target/linux/ramips/patches-3.14/0009-MIPS-ralink-define-the-wmac-clock-on-mt7620.patch
index 17ba702fdd..225afd503c 100644
--- a/target/linux/ramips/patches-3.14/0009-MIPS-ralink-define-the-wmac-clock-on-mt7620.patch
+++ b/target/linux/ramips/patches-3.14/0009-MIPS-ralink-define-the-wmac-clock-on-mt7620.patch
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/mt7620.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index 4fdee17..c883973 100644
--- a/arch/mips/ralink/mt7620.c
+++ b/arch/mips/ralink/mt7620.c
@@ -336,6 +336,7 @@ void __init ralink_clk_init(void)
@@ -20,6 +18,3 @@ index 4fdee17..c883973 100644
}
void __init ralink_of_remap(void)
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0010-MIPS-ralink-define-the-wmac-clock-on-rt3883.patch b/target/linux/ramips/patches-3.14/0010-MIPS-ralink-define-the-wmac-clock-on-rt3883.patch
index 551bd2a8eb..2de066be4b 100644
--- a/target/linux/ramips/patches-3.14/0010-MIPS-ralink-define-the-wmac-clock-on-rt3883.patch
+++ b/target/linux/ramips/patches-3.14/0010-MIPS-ralink-define-the-wmac-clock-on-rt3883.patch
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/rt3883.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/mips/ralink/rt3883.c b/arch/mips/ralink/rt3883.c
-index b474ac2..58b5b9f 100644
--- a/arch/mips/ralink/rt3883.c
+++ b/arch/mips/ralink/rt3883.c
@@ -204,6 +204,7 @@ void __init ralink_clk_init(void)
@@ -20,6 +18,3 @@ index b474ac2..58b5b9f 100644
}
void __init ralink_of_remap(void)
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0011-MIPS-ralink-add-rt2880-wmac-clock.patch b/target/linux/ramips/patches-3.14/0011-MIPS-ralink-add-rt2880-wmac-clock.patch
index fd8c28a7f7..76d2f6a354 100644
--- a/target/linux/ramips/patches-3.14/0011-MIPS-ralink-add-rt2880-wmac-clock.patch
+++ b/target/linux/ramips/patches-3.14/0011-MIPS-ralink-add-rt2880-wmac-clock.patch
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/rt288x.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
-diff --git a/arch/mips/ralink/rt288x.c b/arch/mips/ralink/rt288x.c
-index f87de1a..90e8934 100644
--- a/arch/mips/ralink/rt288x.c
+++ b/arch/mips/ralink/rt288x.c
@@ -76,7 +76,7 @@ struct ralink_pinmux rt_gpio_pinmux = {
@@ -29,6 +27,3 @@ index f87de1a..90e8934 100644
}
void __init ralink_of_remap(void)
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0012-MIPS-ralink-add-MT7621-support.patch b/target/linux/ramips/patches-3.14/0012-MIPS-ralink-add-MT7621-support.patch
index ef077e1ed0..755c89c3e0 100644
--- a/target/linux/ramips/patches-3.14/0012-MIPS-ralink-add-MT7621-support.patch
+++ b/target/linux/ramips/patches-3.14/0012-MIPS-ralink-add-MT7621-support.patch
@@ -22,8 +22,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 arch/mips/ralink/malta-amon.c
create mode 100644 arch/mips/ralink/mt7621.c
-diff --git a/arch/mips/include/asm/gic.h b/arch/mips/include/asm/gic.h
-index b2e3e93..29fba50 100644
--- a/arch/mips/include/asm/gic.h
+++ b/arch/mips/include/asm/gic.h
@@ -19,7 +19,11 @@
@@ -38,9 +36,6 @@ index b2e3e93..29fba50 100644
#define MSK(n) ((1 << (n)) - 1)
#define REG32(addr) (*(volatile unsigned int *) (addr))
-diff --git a/arch/mips/include/asm/mach-ralink/irq.h b/arch/mips/include/asm/mach-ralink/irq.h
-new file mode 100644
-index 0000000..4321865
--- /dev/null
+++ b/arch/mips/include/asm/mach-ralink/irq.h
@@ -0,0 +1,9 @@
@@ -53,9 +48,6 @@ index 0000000..4321865
+#include_next <irq.h>
+
+#endif
-diff --git a/arch/mips/include/asm/mach-ralink/mt7621.h b/arch/mips/include/asm/mach-ralink/mt7621.h
-new file mode 100644
-index 0000000..21c8dc2
--- /dev/null
+++ b/arch/mips/include/asm/mach-ralink/mt7621.h
@@ -0,0 +1,39 @@
@@ -98,8 +90,6 @@ index 0000000..21c8dc2
+#define MIPS_GIC_IRQ_BASE (MIPS_CPU_IRQ_BASE + 8)
+
+#endif
-diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
-index 3b46f7c..fa925b7 100644
--- a/arch/mips/kernel/vmlinux.lds.S
+++ b/arch/mips/kernel/vmlinux.lds.S
@@ -51,6 +51,7 @@ SECTIONS
@@ -110,8 +100,6 @@ index 3b46f7c..fa925b7 100644
TEXT_TEXT
SCHED_TEXT
LOCK_TEXT
-diff --git a/arch/mips/ralink/Kconfig b/arch/mips/ralink/Kconfig
-index 1bfd1c1..6a04360 100644
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
@@ -7,6 +7,11 @@ config CLKEVT_RT3352
@@ -153,8 +141,6 @@ index 1bfd1c1..6a04360 100644
endchoice
endif
-diff --git a/arch/mips/ralink/Makefile b/arch/mips/ralink/Makefile
-index fc57c16..ad18cdf 100644
--- a/arch/mips/ralink/Makefile
+++ b/arch/mips/ralink/Makefile
@@ -6,16 +6,21 @@
@@ -180,11 +166,9 @@ index fc57c16..ad18cdf 100644
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
-diff --git a/arch/mips/ralink/Platform b/arch/mips/ralink/Platform
-index 6d9c8c4..6095fcc 100644
--- a/arch/mips/ralink/Platform
+++ b/arch/mips/ralink/Platform
-@@ -27,3 +27,8 @@ cflags-$(CONFIG_SOC_RT3883) += -I$(srctree)/arch/mips/include/asm/mach-ralink/rt
+@@ -27,3 +27,8 @@ cflags-$(CONFIG_SOC_RT3883) += -I$(srctr
#
load-$(CONFIG_SOC_MT7620) += 0xffffffff80000000
cflags-$(CONFIG_SOC_MT7620) += -I$(srctree)/arch/mips/include/asm/mach-ralink/mt7620
@@ -193,9 +177,6 @@ index 6d9c8c4..6095fcc 100644
+#
+load-$(CONFIG_SOC_MT7621) += 0xffffffff80001000
+cflags-$(CONFIG_SOC_MT7621) += -I$(srctree)/arch/mips/include/asm/mach-ralink/mt7621
-diff --git a/arch/mips/ralink/irq-gic.c b/arch/mips/ralink/irq-gic.c
-new file mode 100644
-index 0000000..0122d42
--- /dev/null
+++ b/arch/mips/ralink/irq-gic.c
@@ -0,0 +1,271 @@
@@ -470,9 +451,6 @@ index 0000000..0122d42
+{
+ of_irq_init(of_irq_ids);
+}
-diff --git a/arch/mips/ralink/malta-amon.c b/arch/mips/ralink/malta-amon.c
-new file mode 100644
-index 0000000..1e47844
--- /dev/null
+++ b/arch/mips/ralink/malta-amon.c
@@ -0,0 +1,81 @@
@@ -557,9 +535,6 @@ index 0000000..1e47844
+ smp_rmb(); /* Target will be updating flags soon */
+ pr_debug("launch: cpu%d gone!\n", cpu);
+}
-diff --git a/arch/mips/ralink/mt7621.c b/arch/mips/ralink/mt7621.c
-new file mode 100644
-index 0000000..2aac87c
--- /dev/null
+++ b/arch/mips/ralink/mt7621.c
@@ -0,0 +1,183 @@
@@ -746,6 +721,3 @@ index 0000000..2aac87c
+ if (register_cmp_smp_ops())
+ panic("failed to register_vsmp_smp_ops()");
+}
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0013-MIPS-ralink-add-MT7621-defconfig.patch b/target/linux/ramips/patches-3.14/0013-MIPS-ralink-add-MT7621-defconfig.patch
index 831f2a7730..daf27c168d 100644
--- a/target/linux/ramips/patches-3.14/0013-MIPS-ralink-add-MT7621-defconfig.patch
+++ b/target/linux/ramips/patches-3.14/0013-MIPS-ralink-add-MT7621-defconfig.patch
@@ -9,9 +9,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
1 file changed, 197 insertions(+)
create mode 100644 arch/mips/configs/mt7621_defconfig
-diff --git a/arch/mips/configs/mt7621_defconfig b/arch/mips/configs/mt7621_defconfig
-new file mode 100644
-index 0000000..7719471
--- /dev/null
+++ b/arch/mips/configs/mt7621_defconfig
@@ -0,0 +1,197 @@
@@ -212,6 +209,3 @@ index 0000000..7719471
+CONFIG_CRC32_SARWATE=y
+# CONFIG_XZ_DEC_X86 is not set
+CONFIG_AVERAGE=y
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0014-MIPS-ralink-add-MT7621-dts-file.patch b/target/linux/ramips/patches-3.14/0014-MIPS-ralink-add-MT7621-dts-file.patch
index 460a33c893..b6179526fa 100644
--- a/target/linux/ramips/patches-3.14/0014-MIPS-ralink-add-MT7621-dts-file.patch
+++ b/target/linux/ramips/patches-3.14/0014-MIPS-ralink-add-MT7621-dts-file.patch
@@ -12,18 +12,13 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 arch/mips/ralink/dts/mt7621.dtsi
create mode 100644 arch/mips/ralink/dts/mt7621_eval.dts
-diff --git a/arch/mips/ralink/dts/Makefile b/arch/mips/ralink/dts/Makefile
-index 18194fa..9742c73 100644
--- a/arch/mips/ralink/dts/Makefile
+++ b/arch/mips/ralink/dts/Makefile
-@@ -2,3 +2,4 @@ obj-$(CONFIG_DTB_RT2880_EVAL) := rt2880_eval.dtb.o
+@@ -2,3 +2,4 @@ obj-$(CONFIG_DTB_RT2880_EVAL) := rt2880_
obj-$(CONFIG_DTB_RT305X_EVAL) := rt3052_eval.dtb.o
obj-$(CONFIG_DTB_RT3883_EVAL) := rt3883_eval.dtb.o
obj-$(CONFIG_DTB_MT7620A_EVAL) := mt7620a_eval.dtb.o
+obj-$(CONFIG_DTB_MT7621_EVAL) := mt7621_eval.dtb.o
-diff --git a/arch/mips/ralink/dts/mt7621.dtsi b/arch/mips/ralink/dts/mt7621.dtsi
-new file mode 100644
-index 0000000..6db2c57
--- /dev/null
+++ b/arch/mips/ralink/dts/mt7621.dtsi
@@ -0,0 +1,257 @@
@@ -284,9 +279,6 @@ index 0000000..6db2c57
+ reg = <0x1e110000 8000>;
+ };
+};
-diff --git a/arch/mips/ralink/dts/mt7621_eval.dts b/arch/mips/ralink/dts/mt7621_eval.dts
-new file mode 100644
-index 0000000..834f59c
--- /dev/null
+++ b/arch/mips/ralink/dts/mt7621_eval.dts
@@ -0,0 +1,16 @@
@@ -306,6 +298,3 @@ index 0000000..834f59c
+ bootargs = "console=ttyS0,57600";
+ };
+};
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0015-MIPS-ralink-cleanup-early_printk.patch b/target/linux/ramips/patches-3.14/0015-MIPS-ralink-cleanup-early_printk.patch
index a874c4aeb6..d139139322 100644
--- a/target/linux/ramips/patches-3.14/0015-MIPS-ralink-cleanup-early_printk.patch
+++ b/target/linux/ramips/patches-3.14/0015-MIPS-ralink-cleanup-early_printk.patch
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/early_printk.c | 45 ++++++++++++++++++++++++++-------------
1 file changed, 30 insertions(+), 15 deletions(-)
-diff --git a/arch/mips/ralink/early_printk.c b/arch/mips/ralink/early_printk.c
-index b46d041..255d695 100644
--- a/arch/mips/ralink/early_printk.c
+++ b/arch/mips/ralink/early_printk.c
@@ -12,21 +12,24 @@
@@ -79,6 +77,3 @@ index b46d041..255d695 100644
+ ;
+ }
}
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0016-MIPS-ralink-add-MT7621-pcie-driver.patch b/target/linux/ramips/patches-3.14/0016-MIPS-ralink-add-MT7621-pcie-driver.patch
index 7b73575215..1ff4ed8668 100644
--- a/target/linux/ramips/patches-3.14/0016-MIPS-ralink-add-MT7621-pcie-driver.patch
+++ b/target/linux/ramips/patches-3.14/0016-MIPS-ralink-add-MT7621-pcie-driver.patch
@@ -10,11 +10,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
2 files changed, 798 insertions(+)
create mode 100644 arch/mips/pci/pci-mt7621.c
-diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
-index 137f2a6..d054bc8 100644
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
-@@ -41,6 +41,7 @@ obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1480.o pci-bcm1480ht.o
+@@ -41,6 +41,7 @@ obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1
obj-$(CONFIG_SNI_RM) += fixup-sni.o ops-sni.o
obj-$(CONFIG_LANTIQ) += fixup-lantiq.o
obj-$(CONFIG_PCI_LANTIQ) += pci-lantiq.o ops-lantiq.o
@@ -22,9 +20,6 @@ index 137f2a6..d054bc8 100644
obj-$(CONFIG_SOC_RT3883) += pci-rt3883.o
obj-$(CONFIG_TANBAC_TB0219) += fixup-tb0219.o
obj-$(CONFIG_TANBAC_TB0226) += fixup-tb0226.o
-diff --git a/arch/mips/pci/pci-mt7621.c b/arch/mips/pci/pci-mt7621.c
-new file mode 100644
-index 0000000..0b58fce
--- /dev/null
+++ b/arch/mips/pci/pci-mt7621.c
@@ -0,0 +1,797 @@
@@ -825,6 +820,3 @@ index 0000000..0b58fce
+{
+ return 0;
+}
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0017-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch b/target/linux/ramips/patches-3.14/0017-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch
index fc9a70baa2..a3b4e4a70f 100644
--- a/target/linux/ramips/patches-3.14/0017-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch
+++ b/target/linux/ramips/patches-3.14/0017-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch
@@ -9,11 +9,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/kernel/cevt-r4k.c | 37 +++++++++++++++++++++++++++++++------
1 file changed, 31 insertions(+), 6 deletions(-)
-diff --git a/arch/mips/kernel/cevt-r4k.c b/arch/mips/kernel/cevt-r4k.c
-index 50d3f5a..99585e6 100644
--- a/arch/mips/kernel/cevt-r4k.c
+++ b/arch/mips/kernel/cevt-r4k.c
-@@ -38,12 +38,6 @@ static int mips_next_event(unsigned long delta,
+@@ -38,12 +38,6 @@ static int mips_next_event(unsigned long
#endif /* CONFIG_MIPS_MT_SMTC */
@@ -26,7 +24,7 @@ index 50d3f5a..99585e6 100644
DEFINE_PER_CPU(struct clock_event_device, mips_clockevent_device);
int cp0_timer_irq_installed;
-@@ -90,9 +84,38 @@ struct irqaction c0_compare_irqaction = {
+@@ -90,9 +84,38 @@ struct irqaction c0_compare_irqaction =
.name = "timer",
};
@@ -80,6 +78,3 @@ index 50d3f5a..99585e6 100644
return 0;
}
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0018-MIPS-ralink-workaround-DTB-memory-issue.patch b/target/linux/ramips/patches-3.14/0018-MIPS-ralink-workaround-DTB-memory-issue.patch
index 0f61933590..5233770824 100644
--- a/target/linux/ramips/patches-3.14/0018-MIPS-ralink-workaround-DTB-memory-issue.patch
+++ b/target/linux/ramips/patches-3.14/0018-MIPS-ralink-workaround-DTB-memory-issue.patch
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/of.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/mips/ralink/of.c b/arch/mips/ralink/of.c
-index 1b81e8f..885cf50 100644
--- a/arch/mips/ralink/of.c
+++ b/arch/mips/ralink/of.c
@@ -75,7 +75,7 @@ void __init device_tree_init(void)
@@ -24,6 +22,3 @@ index 1b81e8f..885cf50 100644
}
static int memory_dtb;
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0019-MIPS-ralink-add-pseudo-pwm-led-trigger-based-on-time.patch b/target/linux/ramips/patches-3.14/0019-MIPS-ralink-add-pseudo-pwm-led-trigger-based-on-time.patch
index cec6e8fb02..d81a5ddc39 100644
--- a/target/linux/ramips/patches-3.14/0019-MIPS-ralink-add-pseudo-pwm-led-trigger-based-on-time.patch
+++ b/target/linux/ramips/patches-3.14/0019-MIPS-ralink-add-pseudo-pwm-led-trigger-based-on-time.patch
@@ -9,8 +9,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/timer.c | 213 ++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 197 insertions(+), 16 deletions(-)
-diff --git a/arch/mips/ralink/timer.c b/arch/mips/ralink/timer.c
-index e38692a..a71a7cb 100644
--- a/arch/mips/ralink/timer.c
+++ b/arch/mips/ralink/timer.c
@@ -12,6 +12,8 @@
@@ -63,7 +61,7 @@ index e38692a..a71a7cb 100644
};
static inline void rt_timer_w32(struct rt_timer *rt, u8 reg, u32 val)
-@@ -48,18 +68,46 @@ static inline u32 rt_timer_r32(struct rt_timer *rt, u8 reg)
+@@ -48,18 +68,46 @@ static inline u32 rt_timer_r32(struct rt
static irqreturn_t rt_timer_irq(int irq, void *_rt)
{
struct rt_timer *rt = (struct rt_timer *) _rt;
@@ -114,7 +112,7 @@ index e38692a..a71a7cb 100644
if (err) {
dev_err(rt->dev, "failed to request irq\n");
} else {
-@@ -81,8 +129,6 @@ static int rt_timer_config(struct rt_timer *rt, unsigned long divisor)
+@@ -81,8 +129,6 @@ static int rt_timer_config(struct rt_tim
else
rt->timer_div = divisor;
@@ -123,7 +121,7 @@ index e38692a..a71a7cb 100644
return 0;
}
-@@ -108,11 +154,128 @@ static void rt_timer_disable(struct rt_timer *rt)
+@@ -108,11 +154,128 @@ static void rt_timer_disable(struct rt_t
rt_timer_w32(rt, TIMER_REG_TMR0CTL, t);
}
@@ -252,7 +250,7 @@ index e38692a..a71a7cb 100644
rt = devm_kzalloc(&pdev->dev, sizeof(*rt), GFP_KERNEL);
if (!rt) {
-@@ -140,12 +303,29 @@ static int rt_timer_probe(struct platform_device *pdev)
+@@ -140,12 +303,29 @@ static int rt_timer_probe(struct platfor
if (!rt->timer_freq)
return -EINVAL;
@@ -285,7 +283,7 @@ index e38692a..a71a7cb 100644
dev_info(&pdev->dev, "maximum frequency is %luHz\n", rt->timer_freq);
-@@ -156,6 +336,7 @@ static int rt_timer_remove(struct platform_device *pdev)
+@@ -156,6 +336,7 @@ static int rt_timer_remove(struct platfo
{
struct rt_timer *rt = platform_get_drvdata(pdev);
@@ -293,7 +291,7 @@ index e38692a..a71a7cb 100644
rt_timer_disable(rt);
rt_timer_free(rt);
-@@ -180,6 +361,6 @@ static struct platform_driver rt_timer_driver = {
+@@ -180,6 +361,6 @@ static struct platform_driver rt_timer_d
module_platform_driver(rt_timer_driver);
@@ -301,6 +299,3 @@ index e38692a..a71a7cb 100644
+MODULE_DESCRIPTION("Ralink RT2880 timer / pseudo pwm");
MODULE_AUTHOR("John Crispin <blogic@openwrt.org");
MODULE_LICENSE("GPL");
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0020-MIPS-ralink-update-dts-files.patch b/target/linux/ramips/patches-3.14/0020-MIPS-ralink-update-dts-files.patch
index 52fd3211c2..018db190ee 100644
--- a/target/linux/ramips/patches-3.14/0020-MIPS-ralink-update-dts-files.patch
+++ b/target/linux/ramips/patches-3.14/0020-MIPS-ralink-update-dts-files.patch
@@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/dts/rt3883.dtsi | 219 +++++++++++++++++++++++++++++++++++++
3 files changed, 510 insertions(+)
-diff --git a/arch/mips/ralink/dts/mt7620a.dtsi b/arch/mips/ralink/dts/mt7620a.dtsi
-index 08bf24f..df6cb79 100644
--- a/arch/mips/ralink/dts/mt7620a.dtsi
+++ b/arch/mips/ralink/dts/mt7620a.dtsi
@@ -29,10 +29,32 @@
@@ -179,8 +177,6 @@ index 08bf24f..df6cb79 100644
+ #reset-cells = <1>;
};
};
-diff --git a/arch/mips/ralink/dts/rt3050.dtsi b/arch/mips/ralink/dts/rt3050.dtsi
-index e3203d4..49622d7 100644
--- a/arch/mips/ralink/dts/rt3050.dtsi
+++ b/arch/mips/ralink/dts/rt3050.dtsi
@@ -9,6 +9,10 @@
@@ -382,8 +378,6 @@ index e3203d4..49622d7 100644
status = "disabled";
};
};
-diff --git a/arch/mips/ralink/dts/rt3883.dtsi b/arch/mips/ralink/dts/rt3883.dtsi
-index 3b131dd..4d092b1 100644
--- a/arch/mips/ralink/dts/rt3883.dtsi
+++ b/arch/mips/ralink/dts/rt3883.dtsi
@@ -29,10 +29,32 @@
@@ -633,6 +627,3 @@ index 3b131dd..4d092b1 100644
+ };
+ };
};
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0021-MIPS-ralink-add-cpu-frequency-scaling.patch b/target/linux/ramips/patches-3.14/0021-MIPS-ralink-add-cpu-frequency-scaling.patch
index d60d651fb8..0e567cb2f0 100644
--- a/target/linux/ramips/patches-3.14/0021-MIPS-ralink-add-cpu-frequency-scaling.patch
+++ b/target/linux/ramips/patches-3.14/0021-MIPS-ralink-add-cpu-frequency-scaling.patch
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/cevt-rt3352.c | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
-diff --git a/arch/mips/ralink/cevt-rt3352.c b/arch/mips/ralink/cevt-rt3352.c
-index 24bf057..4174b40 100644
--- a/arch/mips/ralink/cevt-rt3352.c
+++ b/arch/mips/ralink/cevt-rt3352.c
@@ -29,6 +29,10 @@
@@ -35,7 +33,7 @@ index 24bf057..4174b40 100644
static void systick_set_clock_mode(enum clock_event_mode mode,
struct clock_event_device *evt);
-@@ -87,6 +93,21 @@ static struct irqaction systick_irqaction = {
+@@ -87,6 +93,21 @@ static struct irqaction systick_irqactio
.dev_id = &systick.dev,
};
@@ -57,7 +55,7 @@ index 24bf057..4174b40 100644
static void systick_set_clock_mode(enum clock_event_mode mode,
struct clock_event_device *evt)
{
-@@ -101,9 +122,13 @@ static void systick_set_clock_mode(enum clock_event_mode mode,
+@@ -101,9 +122,13 @@ static void systick_set_clock_mode(enum
sdev->irq_requested = 1;
iowrite32(CFG_EXT_STK_EN | CFG_CNT_EN,
systick.membase + SYSTICK_CONFIG);
@@ -71,7 +69,7 @@ index 24bf057..4174b40 100644
if (sdev->irq_requested)
free_irq(systick.dev.irq, &systick_irqaction);
sdev->irq_requested = 0;
-@@ -116,12 +141,23 @@ static void systick_set_clock_mode(enum clock_event_mode mode,
+@@ -116,12 +141,23 @@ static void systick_set_clock_mode(enum
}
}
@@ -95,6 +93,3 @@ index 24bf057..4174b40 100644
systick_irqaction.name = np->name;
systick.dev.name = np->name;
clockevents_calc_mult_shift(&systick.dev, SYSTICK_FREQ, 60);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0022-MIPS-ralink-copy-the-commandline-from-the-devicetree.patch b/target/linux/ramips/patches-3.14/0022-MIPS-ralink-copy-the-commandline-from-the-devicetree.patch
index 8ce47a9e1a..1175beab03 100644
--- a/target/linux/ramips/patches-3.14/0022-MIPS-ralink-copy-the-commandline-from-the-devicetree.patch
+++ b/target/linux/ramips/patches-3.14/0022-MIPS-ralink-copy-the-commandline-from-the-devicetree.patch
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/of.c | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/arch/mips/ralink/of.c b/arch/mips/ralink/of.c
-index 885cf50..405b79c 100644
--- a/arch/mips/ralink/of.c
+++ b/arch/mips/ralink/of.c
@@ -99,6 +99,8 @@ void __init plat_mem_setup(void)
@@ -21,6 +19,3 @@ index 885cf50..405b79c 100644
of_scan_flat_dt(early_init_dt_find_memory, NULL);
if (memory_dtb)
of_scan_flat_dt(early_init_dt_scan_memory, NULL);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0023-MIPS-ralink-mt7620-fix-usb-issue-during-frequency-sc.patch b/target/linux/ramips/patches-3.14/0023-MIPS-ralink-mt7620-fix-usb-issue-during-frequency-sc.patch
index c6bf547bc1..f3dead3859 100644
--- a/target/linux/ramips/patches-3.14/0023-MIPS-ralink-mt7620-fix-usb-issue-during-frequency-sc.patch
+++ b/target/linux/ramips/patches-3.14/0023-MIPS-ralink-mt7620-fix-usb-issue-during-frequency-sc.patch
@@ -15,8 +15,6 @@ Subject: [PATCH 23/57] MIPS: ralink: mt7620: fix usb issue during frequency
arch/mips/ralink/mt7620.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index c883973..d68b8ff 100644
--- a/arch/mips/ralink/mt7620.c
+++ b/arch/mips/ralink/mt7620.c
@@ -36,6 +36,12 @@
@@ -52,6 +50,3 @@ index c883973..d68b8ff 100644
}
void __init ralink_of_remap(void)
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0024-MIPS-ralink-add-mt7628an-devicetree-files.patch b/target/linux/ramips/patches-3.14/0024-MIPS-ralink-add-mt7628an-devicetree-files.patch
index b1814f4860..415f2c1bdf 100644
--- a/target/linux/ramips/patches-3.14/0024-MIPS-ralink-add-mt7628an-devicetree-files.patch
+++ b/target/linux/ramips/patches-3.14/0024-MIPS-ralink-add-mt7628an-devicetree-files.patch
@@ -13,8 +13,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 arch/mips/ralink/dts/mt7628an.dtsi
create mode 100644 arch/mips/ralink/dts/mt7628an_eval.dts
-diff --git a/arch/mips/ralink/Kconfig b/arch/mips/ralink/Kconfig
-index 6a04360..9174dbc 100644
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
@@ -75,6 +75,10 @@ choice
@@ -28,18 +26,13 @@ index 6a04360..9174dbc 100644
config DTB_MT7621_EVAL
bool "MT7621 eval kit"
depends on SOC_MT7621
-diff --git a/arch/mips/ralink/dts/Makefile b/arch/mips/ralink/dts/Makefile
-index 9742c73..9f4e1c7 100644
--- a/arch/mips/ralink/dts/Makefile
+++ b/arch/mips/ralink/dts/Makefile
-@@ -3,3 +3,4 @@ obj-$(CONFIG_DTB_RT305X_EVAL) := rt3052_eval.dtb.o
+@@ -3,3 +3,4 @@ obj-$(CONFIG_DTB_RT305X_EVAL) := rt3052_
obj-$(CONFIG_DTB_RT3883_EVAL) := rt3883_eval.dtb.o
obj-$(CONFIG_DTB_MT7620A_EVAL) := mt7620a_eval.dtb.o
obj-$(CONFIG_DTB_MT7621_EVAL) := mt7621_eval.dtb.o
+obj-$(CONFIG_DTB_MT7628AN_EVAL) := mt7628an_eval.dtb.o
-diff --git a/arch/mips/ralink/dts/mt7628an.dtsi b/arch/mips/ralink/dts/mt7628an.dtsi
-new file mode 100644
-index 0000000..fd17d0a
--- /dev/null
+++ b/arch/mips/ralink/dts/mt7628an.dtsi
@@ -0,0 +1,184 @@
@@ -227,9 +220,6 @@ index 0000000..fd17d0a
+ };
+
+};
-diff --git a/arch/mips/ralink/dts/mt7628an_eval.dts b/arch/mips/ralink/dts/mt7628an_eval.dts
-new file mode 100644
-index 0000000..132c29e
--- /dev/null
+++ b/arch/mips/ralink/dts/mt7628an_eval.dts
@@ -0,0 +1,54 @@
@@ -287,6 +277,3 @@ index 0000000..132c29e
+ };
+ };
+};
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0025-MIPS-ralink-allow-loading-irq-registers-from-the-dev.patch b/target/linux/ramips/patches-3.14/0025-MIPS-ralink-allow-loading-irq-registers-from-the-dev.patch
index 3a114d0699..f21ca3c7de 100644
--- a/target/linux/ramips/patches-3.14/0025-MIPS-ralink-allow-loading-irq-registers-from-the-dev.patch
+++ b/target/linux/ramips/patches-3.14/0025-MIPS-ralink-allow-loading-irq-registers-from-the-dev.patch
@@ -9,8 +9,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/irq.c | 33 +++++++++++++++++++++++----------
1 file changed, 23 insertions(+), 10 deletions(-)
-diff --git a/arch/mips/ralink/irq.c b/arch/mips/ralink/irq.c
-index 781b3d1..82c3146 100644
--- a/arch/mips/ralink/irq.c
+++ b/arch/mips/ralink/irq.c
@@ -20,14 +20,6 @@
@@ -65,7 +63,7 @@ index 781b3d1..82c3146 100644
}
static void ralink_intc_irq_unmask(struct irq_data *d)
-@@ -134,6 +144,9 @@ static int __init intc_of_init(struct device_node *node,
+@@ -134,6 +144,9 @@ static int __init intc_of_init(struct de
struct irq_domain *domain;
int irq;
@@ -75,6 +73,3 @@ index 781b3d1..82c3146 100644
irq = irq_of_parse_and_map(node, 0);
if (!irq)
panic("Failed to get INTC IRQ");
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0026-MIPS-ralink-add-mt7628an-support.patch b/target/linux/ramips/patches-3.14/0026-MIPS-ralink-add-mt7628an-support.patch
index f5b2610e67..6a540b737e 100644
--- a/target/linux/ramips/patches-3.14/0026-MIPS-ralink-add-mt7628an-support.patch
+++ b/target/linux/ramips/patches-3.14/0026-MIPS-ralink-add-mt7628an-support.patch
@@ -10,8 +10,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/mt7620.c | 266 +++++++++++++++++++++++-----
3 files changed, 232 insertions(+), 47 deletions(-)
-diff --git a/arch/mips/include/asm/mach-ralink/mt7620.h b/arch/mips/include/asm/mach-ralink/mt7620.h
-index 27b2fa9..c8590df 100644
--- a/arch/mips/include/asm/mach-ralink/mt7620.h
+++ b/arch/mips/include/asm/mach-ralink/mt7620.h
@@ -13,6 +13,13 @@
@@ -46,8 +44,6 @@ index 27b2fa9..c8590df 100644
#define MT7620_DRAM_BASE 0x0
#define MT7620_SDRAM_SIZE_MIN 2
#define MT7620_SDRAM_SIZE_MAX 64
-diff --git a/arch/mips/ralink/Kconfig b/arch/mips/ralink/Kconfig
-index 9174dbc..f93835f 100644
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
@@ -35,7 +35,7 @@ choice
@@ -59,8 +55,6 @@ index 9174dbc..f93835f 100644
select USB_ARCH_HAS_OHCI
select USB_ARCH_HAS_EHCI
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index d68b8ff..e590ccf 100644
--- a/arch/mips/ralink/mt7620.c
+++ b/arch/mips/ralink/mt7620.c
@@ -42,6 +42,8 @@
@@ -321,7 +315,7 @@ index d68b8ff..e590ccf 100644
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_info *soc_info)
+@@ -384,18 +563,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;
@@ -357,7 +351,7 @@ index d68b8ff..e590ccf 100644
}
snprintf(soc_info->sys_type, RAMIPS_SYS_TYPE_LEN,
-@@ -407,28 +593,11 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -407,28 +593,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;
@@ -390,7 +384,7 @@ index d68b8ff..e590ccf 100644
pmu0 = __raw_readl(sysc + PMU0_CFG);
pmu1 = __raw_readl(sysc + PMU1_CFG);
-@@ -437,4 +606,9 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -437,4 +606,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"));
@@ -400,6 +394,3 @@ index d68b8ff..e590ccf 100644
+ else
+ rt2880_pinmux_data = mt7620a_pinmux_data;
}
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0027-serial-ralink-adds-mt7620-serial.patch b/target/linux/ramips/patches-3.14/0027-serial-ralink-adds-mt7620-serial.patch
index 1d95f9c387..741bcd3630 100644
--- a/target/linux/ramips/patches-3.14/0027-serial-ralink-adds-mt7620-serial.patch
+++ b/target/linux/ramips/patches-3.14/0027-serial-ralink-adds-mt7620-serial.patch
@@ -10,11 +10,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/tty/serial/8250/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
-index 2332991..7fb6873 100644
--- a/drivers/tty/serial/8250/Kconfig
+++ b/drivers/tty/serial/8250/Kconfig
-@@ -297,7 +297,7 @@ config SERIAL_8250_EM
+@@ -301,7 +301,7 @@ config SERIAL_8250_EM
config SERIAL_8250_RT288X
bool "Ralink RT288x/RT305x/RT3662/RT3883 serial port support"
@@ -23,6 +21,3 @@ index 2332991..7fb6873 100644
help
If you have a Ralink RT288x/RT305x SoC based board and want to use the
serial port, say Y to this option. The driver can handle up to 2 serial
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0028-serial-ralink-the-core-has-a-size-of-0x100-and-not-0.patch b/target/linux/ramips/patches-3.14/0028-serial-ralink-the-core-has-a-size-of-0x100-and-not-0.patch
index 072380ce01..1015dcdeb0 100644
--- a/target/linux/ramips/patches-3.14/0028-serial-ralink-the-core-has-a-size-of-0x100-and-not-0.patch
+++ b/target/linux/ramips/patches-3.14/0028-serial-ralink-the-core-has-a-size-of-0x100-and-not-0.patch
@@ -9,11 +9,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/tty/serial/8250/8250_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c
-index 69932b7..606cbc6 100644
--- a/drivers/tty/serial/8250/8250_core.c
+++ b/drivers/tty/serial/8250/8250_core.c
-@@ -2517,7 +2517,7 @@ serial8250_pm(struct uart_port *port, unsigned int state,
+@@ -2517,7 +2517,7 @@ serial8250_pm(struct uart_port *port, un
static unsigned int serial8250_port_size(struct uart_8250_port *pt)
{
if (pt->port.iotype == UPIO_AU)
@@ -22,6 +20,3 @@ index 69932b7..606cbc6 100644
if (is_omap1_8250(pt))
return 0x16 << pt->port.regshift;
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0029-serial-of-allow-au1x00-and-rt288x-to-load-from-OF.patch b/target/linux/ramips/patches-3.14/0029-serial-of-allow-au1x00-and-rt288x-to-load-from-OF.patch
index baae397bf2..ef29697e20 100644
--- a/target/linux/ramips/patches-3.14/0029-serial-of-allow-au1x00-and-rt288x-to-load-from-OF.patch
+++ b/target/linux/ramips/patches-3.14/0029-serial-of-allow-au1x00-and-rt288x-to-load-from-OF.patch
@@ -11,11 +11,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/tty/serial/of_serial.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
-diff --git a/drivers/tty/serial/of_serial.c b/drivers/tty/serial/of_serial.c
-index 9924660..42853b4 100644
--- a/drivers/tty/serial/of_serial.c
+++ b/drivers/tty/serial/of_serial.c
-@@ -102,7 +102,10 @@ static int of_platform_serial_setup(struct platform_device *ofdev,
+@@ -102,7 +102,10 @@ static int of_platform_serial_setup(stru
port->fifosize = prop;
port->irq = irq_of_parse_and_map(np, 0);
@@ -27,6 +25,3 @@ index 9924660..42853b4 100644
if (of_property_read_u32(np, "reg-io-width", &prop) == 0) {
switch (prop) {
case 1:
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0030-pinctrl-ralink-add-pinctrl-driver.patch b/target/linux/ramips/patches-3.14/0030-pinctrl-ralink-add-pinctrl-driver.patch
index 9e006b5821..56fc3d7227 100644
--- a/target/linux/ramips/patches-3.14/0030-pinctrl-ralink-add-pinctrl-driver.patch
+++ b/target/linux/ramips/patches-3.14/0030-pinctrl-ralink-add-pinctrl-driver.patch
@@ -22,8 +22,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 arch/mips/include/asm/mach-ralink/pinmux.h
create mode 100644 drivers/pinctrl/pinctrl-rt2880.c
-diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
-index 95fa1f1..4ac98ca 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -435,6 +435,8 @@ config RALINK
@@ -35,8 +33,6 @@ index 95fa1f1..4ac98ca 100644
config SGI_IP22
bool "SGI IP22 (Indy/Indigo2)"
-diff --git a/arch/mips/include/asm/mach-ralink/mt7620.h b/arch/mips/include/asm/mach-ralink/mt7620.h
-index c8590df..1976fb8 100644
--- a/arch/mips/include/asm/mach-ralink/mt7620.h
+++ b/arch/mips/include/asm/mach-ralink/mt7620.h
@@ -90,7 +90,6 @@ enum mt762x_soc_type {
@@ -94,9 +90,6 @@ index c8590df..1976fb8 100644
static inline int mt7620_get_eco(void)
{
-diff --git a/arch/mips/include/asm/mach-ralink/pinmux.h b/arch/mips/include/asm/mach-ralink/pinmux.h
-new file mode 100644
-index 0000000..324fa40
--- /dev/null
+++ b/arch/mips/include/asm/mach-ralink/pinmux.h
@@ -0,0 +1,53 @@
@@ -153,8 +146,6 @@ index 0000000..324fa40
+extern struct rt2880_pmx_group *rt2880_pinmux_data;
+
+#endif
-diff --git a/arch/mips/include/asm/mach-ralink/rt305x.h b/arch/mips/include/asm/mach-ralink/rt305x.h
-index 069bf37..96f731b 100644
--- a/arch/mips/include/asm/mach-ralink/rt305x.h
+++ b/arch/mips/include/asm/mach-ralink/rt305x.h
@@ -125,24 +125,29 @@ static inline int soc_is_rt5350(void)
@@ -202,8 +193,6 @@ index 069bf37..96f731b 100644
#define RT3352_SYSC_REG_SYSCFG0 0x010
#define RT3352_SYSC_REG_SYSCFG1 0x014
-diff --git a/arch/mips/include/asm/mach-ralink/rt3883.h b/arch/mips/include/asm/mach-ralink/rt3883.h
-index 058382f..0fbe6f9 100644
--- a/arch/mips/include/asm/mach-ralink/rt3883.h
+++ b/arch/mips/include/asm/mach-ralink/rt3883.h
@@ -112,8 +112,6 @@
@@ -236,8 +225,6 @@ index 058382f..0fbe6f9 100644
#define RT3883_GPIO_MODE_PCI_SHIFT 11
#define RT3883_GPIO_MODE_PCI_MASK 0x7
#define RT3883_GPIO_MODE_PCI (RT3883_GPIO_MODE_PCI_MASK << RT3883_GPIO_MODE_PCI_SHIFT)
-diff --git a/arch/mips/ralink/common.h b/arch/mips/ralink/common.h
-index 42dfd61..8e7d8e6 100644
--- a/arch/mips/ralink/common.h
+++ b/arch/mips/ralink/common.h
@@ -11,25 +11,6 @@
@@ -266,8 +253,6 @@ index 42dfd61..8e7d8e6 100644
struct ralink_soc_info {
unsigned char sys_type[RAMIPS_SYS_TYPE_LEN];
unsigned char *compatible;
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index e590ccf..818a7db 100644
--- a/arch/mips/ralink/mt7620.c
+++ b/arch/mips/ralink/mt7620.c
@@ -17,6 +17,7 @@
@@ -446,8 +431,6 @@ index e590ccf..818a7db 100644
};
static struct rt2880_pmx_func pwm1_grp_mt7628[] = {
-diff --git a/arch/mips/ralink/rt288x.c b/arch/mips/ralink/rt288x.c
-index 90e8934..2bfc660 100644
--- a/arch/mips/ralink/rt288x.c
+++ b/arch/mips/ralink/rt288x.c
@@ -17,46 +17,27 @@
@@ -527,15 +510,13 @@ index 90e8934..2bfc660 100644
void __init ralink_clk_init(void)
{
unsigned long cpu_rate, wmac_rate = 40000000;
-@@ -141,4 +117,6 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -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;
+
+ rt2880_pinmux_data = rt2880_pinmux_data_act;
}
-diff --git a/arch/mips/ralink/rt305x.c b/arch/mips/ralink/rt305x.c
-index bb82a82..356d6a0 100644
--- a/arch/mips/ralink/rt305x.c
+++ b/arch/mips/ralink/rt305x.c
@@ -17,90 +17,76 @@
@@ -622,6 +603,21 @@ index bb82a82..356d6a0 100644
+ GRP("rgmii", rgmii_func, 1, RT305X_GPIO_MODE_RGMII),
+ GRP("sdram", sdram_func, 1, RT305X_GPIO_MODE_SDRAM),
+ { 0 }
++};
++
++static struct rt2880_pmx_group rt3352_pinmux_data[] = {
++ GRP("i2c", i2c_func, 1, RT305X_GPIO_MODE_I2C),
++ GRP("spi", spi_func, 1, RT305X_GPIO_MODE_SPI),
++ GRP("uartf", uartf_func, RT305X_GPIO_MODE_UART0_MASK,
++ RT305X_GPIO_MODE_UART0_SHIFT),
++ GRP("uartlite", uartlite_func, 1, RT305X_GPIO_MODE_UART1),
++ GRP("jtag", jtag_func, 1, RT305X_GPIO_MODE_JTAG),
++ GRP("mdio", mdio_func, 1, RT305X_GPIO_MODE_MDIO),
++ GRP("rgmii", rt3352_rgmii_func, 1, RT305X_GPIO_MODE_RGMII),
++ GRP("lna", rt3352_lna_func, 1, RT3352_GPIO_MODE_LNA),
++ GRP("pa", rt3352_pa_func, 1, RT3352_GPIO_MODE_PA),
++ GRP("led", rt3352_led_func, 1, RT5350_GPIO_MODE_PHY_LED),
++ { 0 }
};
-static struct ralink_pinmux_grp uart_mux[] = {
@@ -664,21 +660,6 @@ index bb82a82..356d6a0 100644
- .name = "gpio",
- .mask = RT305X_GPIO_MODE_GPIO,
- }, {0}
-+static struct rt2880_pmx_group rt3352_pinmux_data[] = {
-+ GRP("i2c", i2c_func, 1, RT305X_GPIO_MODE_I2C),
-+ GRP("spi", spi_func, 1, RT305X_GPIO_MODE_SPI),
-+ GRP("uartf", uartf_func, RT305X_GPIO_MODE_UART0_MASK,
-+ RT305X_GPIO_MODE_UART0_SHIFT),
-+ GRP("uartlite", uartlite_func, 1, RT305X_GPIO_MODE_UART1),
-+ GRP("jtag", jtag_func, 1, RT305X_GPIO_MODE_JTAG),
-+ GRP("mdio", mdio_func, 1, RT305X_GPIO_MODE_MDIO),
-+ GRP("rgmii", rt3352_rgmii_func, 1, RT305X_GPIO_MODE_RGMII),
-+ GRP("lna", rt3352_lna_func, 1, RT3352_GPIO_MODE_LNA),
-+ GRP("pa", rt3352_pa_func, 1, RT3352_GPIO_MODE_PA),
-+ GRP("led", rt3352_led_func, 1, RT5350_GPIO_MODE_PHY_LED),
-+ { 0 }
-+};
-+
+static struct rt2880_pmx_group rt5350_pinmux_data[] = {
+ GRP("i2c", i2c_func, 1, RT305X_GPIO_MODE_I2C),
+ GRP("spi", spi_func, 1, RT305X_GPIO_MODE_SPI),
@@ -707,7 +688,7 @@ index bb82a82..356d6a0 100644
static unsigned long rt5350_get_mem_size(void)
{
void __iomem *sysc = (void __iomem *) KSEG1ADDR(RT305X_SYSC_BASE);
-@@ -290,11 +268,14 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -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();
@@ -722,8 +703,6 @@ index bb82a82..356d6a0 100644
+ rt2880_pinmux_data = rt3352_pinmux_data;
}
}
-diff --git a/arch/mips/ralink/rt3883.c b/arch/mips/ralink/rt3883.c
-index 58b5b9f..86a535c 100644
--- a/arch/mips/ralink/rt3883.c
+++ b/arch/mips/ralink/rt3883.c
@@ -17,132 +17,50 @@
@@ -849,7 +828,9 @@ index 58b5b9f..86a535c 100644
+ FUNC("pci-host1", 2, 40, 32),
+ FUNC("pci-fnc", 3, 40, 32)
};
--
++static struct rt2880_pmx_func ge1_func[] = { FUNC("ge1", 0, 72, 12) };
++static struct rt2880_pmx_func ge2_func[] = { FUNC("ge1", 0, 84, 12) };
+
-static struct ralink_pinmux_grp pci_mux[] = {
- {
- .name = "pci-dev",
@@ -877,9 +858,6 @@ index 58b5b9f..86a535c 100644
- .gpio_first = RT3883_GPIO_PCI_AD0,
- .gpio_last = RT3883_GPIO_PCI_AD31,
- }, {0}
-+static struct rt2880_pmx_func ge1_func[] = { FUNC("ge1", 0, 72, 12) };
-+static struct rt2880_pmx_func ge2_func[] = { FUNC("ge1", 0, 84, 12) };
-+
+static struct rt2880_pmx_group rt3883_pinmux_data[] = {
+ GRP("i2c", i2c_func, 1, RT3883_GPIO_MODE_I2C),
+ GRP("spi", spi_func, 1, RT3883_GPIO_MODE_SPI),
@@ -916,15 +894,13 @@ index 58b5b9f..86a535c 100644
void __init ralink_clk_init(void)
{
unsigned long cpu_rate, sys_rate;
-@@ -244,4 +151,6 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -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;
+
+ rt2880_pinmux_data = rt3883_pinmux_data;
}
-diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
-index 1e4e693..1ff1491 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -198,6 +198,11 @@ config PINCTRL_LANTIQ
@@ -939,11 +915,9 @@ index 1e4e693..1ff1491 100644
config PINCTRL_FALCON
bool
depends on SOC_FALCON
-diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
-index 4b83588..3160836 100644
--- a/drivers/pinctrl/Makefile
+++ b/drivers/pinctrl/Makefile
-@@ -45,6 +45,7 @@ obj-$(CONFIG_PINCTRL_DB8500) += pinctrl-nomadik-db8500.o
+@@ -45,6 +45,7 @@ obj-$(CONFIG_PINCTRL_DB8500) += pinctrl-
obj-$(CONFIG_PINCTRL_DB8540) += pinctrl-nomadik-db8540.o
obj-$(CONFIG_PINCTRL_PALMAS) += pinctrl-palmas.o
obj-$(CONFIG_PINCTRL_ROCKCHIP) += pinctrl-rockchip.o
@@ -951,9 +925,6 @@ index 4b83588..3160836 100644
obj-$(CONFIG_PINCTRL_SINGLE) += pinctrl-single.o
obj-$(CONFIG_PINCTRL_SIRF) += sirf/
obj-$(CONFIG_PINCTRL_SUNXI) += pinctrl-sunxi.o
-diff --git a/drivers/pinctrl/pinctrl-rt2880.c b/drivers/pinctrl/pinctrl-rt2880.c
-new file mode 100644
-index 0000000..378ed52
--- /dev/null
+++ b/drivers/pinctrl/pinctrl-rt2880.c
@@ -0,0 +1,467 @@
@@ -1424,6 +1395,3 @@ index 0000000..378ed52
+}
+
+core_initcall_sync(rt2880_pinmux_init);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0031-PCI-MIPS-adds-rt2880-pci-support.patch b/target/linux/ramips/patches-3.14/0031-PCI-MIPS-adds-rt2880-pci-support.patch
index 3af4da6e12..18c5730939 100644
--- a/target/linux/ramips/patches-3.14/0031-PCI-MIPS-adds-rt2880-pci-support.patch
+++ b/target/linux/ramips/patches-3.14/0031-PCI-MIPS-adds-rt2880-pci-support.patch
@@ -13,11 +13,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
3 files changed, 283 insertions(+)
create mode 100644 arch/mips/pci/pci-rt2880.c
-diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
-index d054bc8..6a0f453 100644
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
-@@ -42,6 +42,7 @@ obj-$(CONFIG_SNI_RM) += fixup-sni.o ops-sni.o
+@@ -42,6 +42,7 @@ obj-$(CONFIG_SNI_RM) += fixup-sni.o ops
obj-$(CONFIG_LANTIQ) += fixup-lantiq.o
obj-$(CONFIG_PCI_LANTIQ) += pci-lantiq.o ops-lantiq.o
obj-$(CONFIG_SOC_MT7621) += pci-mt7621.o
@@ -25,9 +23,6 @@ index d054bc8..6a0f453 100644
obj-$(CONFIG_SOC_RT3883) += pci-rt3883.o
obj-$(CONFIG_TANBAC_TB0219) += fixup-tb0219.o
obj-$(CONFIG_TANBAC_TB0226) += fixup-tb0226.o
-diff --git a/arch/mips/pci/pci-rt2880.c b/arch/mips/pci/pci-rt2880.c
-new file mode 100644
-index 0000000..e2c4730
--- /dev/null
+++ b/arch/mips/pci/pci-rt2880.c
@@ -0,0 +1,281 @@
@@ -312,8 +307,6 @@ index 0000000..e2c4730
+}
+
+arch_initcall(pcibios_init);
-diff --git a/arch/mips/ralink/Kconfig b/arch/mips/ralink/Kconfig
-index f93835f..eb2b2cd 100644
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
@@ -21,6 +21,7 @@ choice
@@ -324,6 +317,3 @@ index f93835f..eb2b2cd 100644
config SOC_RT305X
bool "RT305x"
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0032-PCI-MIPS-adds-mt7620a-pcie-driver.patch b/target/linux/ramips/patches-3.14/0032-PCI-MIPS-adds-mt7620a-pcie-driver.patch
index 48dae703cb..d1dec60ba7 100644
--- a/target/linux/ramips/patches-3.14/0032-PCI-MIPS-adds-mt7620a-pcie-driver.patch
+++ b/target/linux/ramips/patches-3.14/0032-PCI-MIPS-adds-mt7620a-pcie-driver.patch
@@ -11,11 +11,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
3 files changed, 365 insertions(+)
create mode 100644 arch/mips/pci/pci-mt7620a.c
-diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
-index 6a0f453..b140299 100644
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
-@@ -42,6 +42,7 @@ obj-$(CONFIG_SNI_RM) += fixup-sni.o ops-sni.o
+@@ -42,6 +42,7 @@ obj-$(CONFIG_SNI_RM) += fixup-sni.o ops
obj-$(CONFIG_LANTIQ) += fixup-lantiq.o
obj-$(CONFIG_PCI_LANTIQ) += pci-lantiq.o ops-lantiq.o
obj-$(CONFIG_SOC_MT7621) += pci-mt7621.o
@@ -23,9 +21,6 @@ index 6a0f453..b140299 100644
obj-$(CONFIG_SOC_RT2880) += pci-rt2880.o
obj-$(CONFIG_SOC_RT3883) += pci-rt3883.o
obj-$(CONFIG_TANBAC_TB0219) += fixup-tb0219.o
-diff --git a/arch/mips/pci/pci-mt7620a.c b/arch/mips/pci/pci-mt7620a.c
-new file mode 100644
-index 0000000..271763c
--- /dev/null
+++ b/arch/mips/pci/pci-mt7620a.c
@@ -0,0 +1,363 @@
@@ -392,8 +387,6 @@ index 0000000..271763c
+}
+
+arch_initcall(mt7620a_pci_init);
-diff --git a/arch/mips/ralink/Kconfig b/arch/mips/ralink/Kconfig
-index eb2b2cd..ce84aad 100644
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
@@ -39,6 +39,7 @@ choice
@@ -404,6 +397,3 @@ index eb2b2cd..ce84aad 100644
config SOC_MT7621
bool "MT7621"
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0033-NET-multi-phy-support.patch b/target/linux/ramips/patches-3.14/0033-NET-multi-phy-support.patch
index 99dd092b53..45028f5840 100644
--- a/target/linux/ramips/patches-3.14/0033-NET-multi-phy-support.patch
+++ b/target/linux/ramips/patches-3.14/0033-NET-multi-phy-support.patch
@@ -9,11 +9,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
include/linux/phy.h | 1 +
2 files changed, 7 insertions(+), 3 deletions(-)
-diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
-index 76d96b9..371f0b6 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
-@@ -715,7 +715,8 @@ void phy_state_machine(struct work_struct *work)
+@@ -764,7 +764,8 @@ void phy_state_machine(struct work_struc
/* If the link is down, give up on negotiation for now */
if (!phydev->link) {
phydev->state = PHY_NOLINK;
@@ -23,7 +21,7 @@ index 76d96b9..371f0b6 100644
phydev->adjust_link(phydev->attached_dev);
break;
}
-@@ -781,7 +782,8 @@ void phy_state_machine(struct work_struct *work)
+@@ -830,7 +831,8 @@ void phy_state_machine(struct work_struc
netif_carrier_on(phydev->attached_dev);
} else {
phydev->state = PHY_NOLINK;
@@ -33,7 +31,7 @@ index 76d96b9..371f0b6 100644
}
phydev->adjust_link(phydev->attached_dev);
-@@ -793,7 +795,8 @@ void phy_state_machine(struct work_struct *work)
+@@ -842,7 +844,8 @@ void phy_state_machine(struct work_struc
case PHY_HALTED:
if (phydev->link) {
phydev->link = 0;
@@ -43,8 +41,6 @@ index 76d96b9..371f0b6 100644
phydev->adjust_link(phydev->attached_dev);
do_suspend = 1;
}
-diff --git a/include/linux/phy.h b/include/linux/phy.h
-index 565188c..91b93f7 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -308,6 +308,7 @@ struct phy_device {
@@ -55,6 +51,3 @@ index 565188c..91b93f7 100644
enum phy_state state;
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0034-NET-add-of_get_mac_address_mtd.patch b/target/linux/ramips/patches-3.14/0034-NET-add-of_get_mac_address_mtd.patch
index 0934ac29f3..4ce36d9a31 100644
--- a/target/linux/ramips/patches-3.14/0034-NET-add-of_get_mac_address_mtd.patch
+++ b/target/linux/ramips/patches-3.14/0034-NET-add-of_get_mac_address_mtd.patch
@@ -14,8 +14,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
include/linux/of_net.h | 1 +
2 files changed, 38 insertions(+)
-diff --git a/drivers/of/of_net.c b/drivers/of/of_net.c
-index a208a45..de93111 100644
--- a/drivers/of/of_net.c
+++ b/drivers/of/of_net.c
@@ -10,6 +10,7 @@
@@ -26,7 +24,7 @@ index a208a45..de93111 100644
/**
* It maps 'enum phy_interface_t' found in include/linux/phy.h
-@@ -94,3 +95,39 @@ const void *of_get_mac_address(struct device_node *np)
+@@ -94,3 +95,39 @@ const void *of_get_mac_address(struct de
return NULL;
}
EXPORT_SYMBOL(of_get_mac_address);
@@ -66,8 +64,6 @@ index a208a45..de93111 100644
+ return ret;
+}
+EXPORT_SYMBOL_GPL(of_get_mac_address_mtd);
-diff --git a/include/linux/of_net.h b/include/linux/of_net.h
-index 34597c8..cdfbc60 100644
--- a/include/linux/of_net.h
+++ b/include/linux/of_net.h
@@ -11,6 +11,7 @@
@@ -78,6 +74,3 @@ index 34597c8..cdfbc60 100644
#else
static inline int of_get_phy_mode(struct device_node *np)
{
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0035-NET-MIPS-add-ralink-SoC-ethernet-driver.patch b/target/linux/ramips/patches-3.14/0035-NET-MIPS-add-ralink-SoC-ethernet-driver.patch
index 6a7c0c2348..59e97c727b 100644
--- a/target/linux/ramips/patches-3.14/0035-NET-MIPS-add-ralink-SoC-ethernet-driver.patch
+++ b/target/linux/ramips/patches-3.14/0035-NET-MIPS-add-ralink-SoC-ethernet-driver.patch
@@ -50,9 +50,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 drivers/net/ethernet/ralink/soc_rt305x.c
create mode 100644 drivers/net/ethernet/ralink/soc_rt3883.c
-diff --git a/arch/mips/include/asm/mach-ralink/rt305x_esw_platform.h b/arch/mips/include/asm/mach-ralink/rt305x_esw_platform.h
-new file mode 100644
-index 0000000..2098c5c
--- /dev/null
+++ b/arch/mips/include/asm/mach-ralink/rt305x_esw_platform.h
@@ -0,0 +1,27 @@
@@ -83,8 +80,6 @@ index 0000000..2098c5c
+};
+
+#endif /* _RT305X_ESW_PLATFORM_H */
-diff --git a/arch/mips/ralink/rt305x.c b/arch/mips/ralink/rt305x.c
-index 356d6a0..ef99d78 100644
--- a/arch/mips/ralink/rt305x.c
+++ b/arch/mips/ralink/rt305x.c
@@ -199,6 +199,7 @@ void __init ralink_clk_init(void)
@@ -95,8 +90,6 @@ index 356d6a0..ef99d78 100644
ralink_clk_add("10000b00.spi", sys_rate);
ralink_clk_add("10000100.timer", wdt_rate);
ralink_clk_add("10000120.watchdog", wdt_rate);
-diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig
-index 506b024..ef6a274 100644
--- a/drivers/net/ethernet/Kconfig
+++ b/drivers/net/ethernet/Kconfig
@@ -134,6 +134,7 @@ config ETHOC
@@ -107,8 +100,6 @@ index 506b024..ef6a274 100644
source "drivers/net/ethernet/realtek/Kconfig"
source "drivers/net/ethernet/renesas/Kconfig"
source "drivers/net/ethernet/rdc/Kconfig"
-diff --git a/drivers/net/ethernet/Makefile b/drivers/net/ethernet/Makefile
-index c0b8789..7c3eb7b 100644
--- a/drivers/net/ethernet/Makefile
+++ b/drivers/net/ethernet/Makefile
@@ -56,6 +56,7 @@ obj-$(CONFIG_ETHOC) += ethoc.o
@@ -119,9 +110,6 @@ index c0b8789..7c3eb7b 100644
obj-$(CONFIG_NET_VENDOR_REALTEK) += realtek/
obj-$(CONFIG_SH_ETH) += renesas/
obj-$(CONFIG_NET_VENDOR_RDC) += rdc/
-diff --git a/drivers/net/ethernet/ralink/Kconfig b/drivers/net/ethernet/ralink/Kconfig
-new file mode 100644
-index 0000000..727ed78
--- /dev/null
+++ b/drivers/net/ethernet/ralink/Kconfig
@@ -0,0 +1,32 @@
@@ -157,9 +145,6 @@ index 0000000..727ed78
+ select PHYLIB
+ select SWCONFIG
+endif
-diff --git a/drivers/net/ethernet/ralink/Makefile b/drivers/net/ethernet/ralink/Makefile
-new file mode 100644
-index 0000000..de64edf
--- /dev/null
+++ b/drivers/net/ethernet/ralink/Makefile
@@ -0,0 +1,18 @@
@@ -181,9 +166,6 @@ index 0000000..de64edf
+ralink-eth-$(CONFIG_SOC_MT7620) += soc_mt7620.o
+
+obj-$(CONFIG_NET_RALINK) += ralink-eth.o
-diff --git a/drivers/net/ethernet/ralink/esw_rt3052.c b/drivers/net/ethernet/ralink/esw_rt3052.c
-new file mode 100644
-index 0000000..b937062
--- /dev/null
+++ b/drivers/net/ethernet/ralink/esw_rt3052.c
@@ -0,0 +1,1463 @@
@@ -1650,9 +1632,6 @@ index 0000000..b937062
+{
+ platform_driver_unregister(&esw_driver);
+}
-diff --git a/drivers/net/ethernet/ralink/esw_rt3052.h b/drivers/net/ethernet/ralink/esw_rt3052.h
-new file mode 100644
-index 0000000..2ced3dff
--- /dev/null
+++ b/drivers/net/ethernet/ralink/esw_rt3052.h
@@ -0,0 +1,32 @@
@@ -1688,9 +1667,6 @@ index 0000000..2ced3dff
+
+#endif
+#endif
-diff --git a/drivers/net/ethernet/ralink/gsw_mt7620a.c b/drivers/net/ethernet/ralink/gsw_mt7620a.c
-new file mode 100644
-index 0000000..70f81e3
--- /dev/null
+++ b/drivers/net/ethernet/ralink/gsw_mt7620a.c
@@ -0,0 +1,566 @@
@@ -2260,9 +2236,6 @@ index 0000000..70f81e3
+
+ return 0;
+}
-diff --git a/drivers/net/ethernet/ralink/gsw_mt7620a.h b/drivers/net/ethernet/ralink/gsw_mt7620a.h
-new file mode 100644
-index 0000000..c87761a
--- /dev/null
+++ b/drivers/net/ethernet/ralink/gsw_mt7620a.h
@@ -0,0 +1,30 @@
@@ -2296,9 +2269,6 @@ index 0000000..c87761a
+extern int mt7620a_has_carrier(struct fe_priv *priv);
+
+#endif
-diff --git a/drivers/net/ethernet/ralink/mdio.c b/drivers/net/ethernet/ralink/mdio.c
-new file mode 100644
-index 0000000..32bf98b
--- /dev/null
+++ b/drivers/net/ethernet/ralink/mdio.c
@@ -0,0 +1,244 @@
@@ -2546,9 +2516,6 @@ index 0000000..32bf98b
+ of_node_put(priv->mii_bus->dev.of_node);
+ kfree(priv->mii_bus);
+}
-diff --git a/drivers/net/ethernet/ralink/mdio.h b/drivers/net/ethernet/ralink/mdio.h
-new file mode 100644
-index 0000000..c3910a0
--- /dev/null
+++ b/drivers/net/ethernet/ralink/mdio.h
@@ -0,0 +1,29 @@
@@ -2581,9 +2548,6 @@ index 0000000..c3910a0
+static inline void fe_mdio_cleanup(struct fe_priv *priv) {}
+#endif
+#endif
-diff --git a/drivers/net/ethernet/ralink/mdio_rt2880.c b/drivers/net/ethernet/ralink/mdio_rt2880.c
-new file mode 100644
-index 0000000..b99eb46
--- /dev/null
+++ b/drivers/net/ethernet/ralink/mdio_rt2880.c
@@ -0,0 +1,232 @@
@@ -2819,9 +2783,6 @@ index 0000000..b99eb46
+
+ return;
+}
-diff --git a/drivers/net/ethernet/ralink/mdio_rt2880.h b/drivers/net/ethernet/ralink/mdio_rt2880.h
-new file mode 100644
-index 0000000..51e3633
--- /dev/null
+++ b/drivers/net/ethernet/ralink/mdio_rt2880.h
@@ -0,0 +1,26 @@
@@ -2851,9 +2812,6 @@ index 0000000..51e3633
+void rt2880_port_init(struct fe_priv *priv, struct device_node *np);
+
+#endif
-diff --git a/drivers/net/ethernet/ralink/mt7530.c b/drivers/net/ethernet/ralink/mt7530.c
-new file mode 100644
-index 0000000..06b67ee
--- /dev/null
+++ b/drivers/net/ethernet/ralink/mt7530.c
@@ -0,0 +1,579 @@
@@ -3436,9 +3394,6 @@ index 0000000..06b67ee
+
+ return 0;
+}
-diff --git a/drivers/net/ethernet/ralink/mt7530.h b/drivers/net/ethernet/ralink/mt7530.h
-new file mode 100644
-index 0000000..169b888
--- /dev/null
+++ b/drivers/net/ethernet/ralink/mt7530.h
@@ -0,0 +1,20 @@
@@ -3462,9 +3417,6 @@ index 0000000..169b888
+int mt7530_probe(struct device *dev, void __iomem *base, struct mii_bus *bus);
+
+#endif
-diff --git a/drivers/net/ethernet/ralink/ralink_soc_eth.c b/drivers/net/ethernet/ralink/ralink_soc_eth.c
-new file mode 100644
-index 0000000..f3abab7
--- /dev/null
+++ b/drivers/net/ethernet/ralink/ralink_soc_eth.c
@@ -0,0 +1,844 @@
@@ -4312,9 +4264,6 @@ index 0000000..f3abab7
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("John Crispin <blogic@openwrt.org>");
+MODULE_DESCRIPTION("Ethernet driver for Ralink SoC");
-diff --git a/drivers/net/ethernet/ralink/ralink_soc_eth.h b/drivers/net/ethernet/ralink/ralink_soc_eth.h
-new file mode 100644
-index 0000000..ca16788
--- /dev/null
+++ b/drivers/net/ethernet/ralink/ralink_soc_eth.h
@@ -0,0 +1,384 @@
@@ -4702,9 +4651,6 @@ index 0000000..ca16788
+u32 fe_r32(unsigned reg);
+
+#endif /* FE_ETH_H */
-diff --git a/drivers/net/ethernet/ralink/soc_mt7620.c b/drivers/net/ethernet/ralink/soc_mt7620.c
-new file mode 100644
-index 0000000..79b7b85
--- /dev/null
+++ b/drivers/net/ethernet/ralink/soc_mt7620.c
@@ -0,0 +1,172 @@
@@ -4880,9 +4826,6 @@ index 0000000..79b7b85
+};
+
+MODULE_DEVICE_TABLE(of, of_fe_match);
-diff --git a/drivers/net/ethernet/ralink/soc_rt2880.c b/drivers/net/ethernet/ralink/soc_rt2880.c
-new file mode 100644
-index 0000000..e0c418b
--- /dev/null
+++ b/drivers/net/ethernet/ralink/soc_rt2880.c
@@ -0,0 +1,52 @@
@@ -4938,9 +4881,6 @@ index 0000000..e0c418b
+};
+
+MODULE_DEVICE_TABLE(of, of_fe_match);
-diff --git a/drivers/net/ethernet/ralink/soc_rt305x.c b/drivers/net/ethernet/ralink/soc_rt305x.c
-new file mode 100644
-index 0000000..482ca1f
--- /dev/null
+++ b/drivers/net/ethernet/ralink/soc_rt305x.c
@@ -0,0 +1,113 @@
@@ -5057,9 +4997,6 @@ index 0000000..482ca1f
+};
+
+MODULE_DEVICE_TABLE(of, of_fe_match);
-diff --git a/drivers/net/ethernet/ralink/soc_rt3883.c b/drivers/net/ethernet/ralink/soc_rt3883.c
-new file mode 100644
-index 0000000..c660529c
--- /dev/null
+++ b/drivers/net/ethernet/ralink/soc_rt3883.c
@@ -0,0 +1,60 @@
@@ -5123,6 +5060,3 @@ index 0000000..c660529c
+
+MODULE_DEVICE_TABLE(of, of_fe_match);
+
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0036-NET-add-mt7621-ethernet-driver.patch b/target/linux/ramips/patches-3.14/0036-NET-add-mt7621-ethernet-driver.patch
index 8a0509bb8c..c145a2f59f 100644
--- a/target/linux/ramips/patches-3.14/0036-NET-add-mt7621-ethernet-driver.patch
+++ b/target/linux/ramips/patches-3.14/0036-NET-add-mt7621-ethernet-driver.patch
@@ -54,10 +54,8 @@ Subject: [PATCH 36/57] NET: add mt7621 ethernet driver
create mode 100644 drivers/net/ethernet/raeth/raether_pdma.c
create mode 100644 drivers/net/ethernet/raeth/raether_qdma.c
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/board-custom.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/board-custom.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/board-custom.h
@@ -0,0 +1,153 @@
+/* Copyright Statement:
+ *
@@ -212,10 +210,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/board-custom.h
+
+#endif /* __ARCH_ARM_MACH_MT6575_CUSTOM_BOARD_H */
+
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/eureka_ep430.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/eureka_ep430.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/eureka_ep430.h
@@ -0,0 +1,204 @@
+/**************************************************************************
+ *
@@ -421,10 +417,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/eureka_ep430.h
+#endif
+
+#endif
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/generic.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/generic.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/generic.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2001 Palmchip Corporation. All rights reserved.
@@ -468,10 +462,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/generic.h
+
+
+#endif /* __ASM_SURFBOARD_GENERIC_H */
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/lm.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/lm.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/lm.h
@@ -0,0 +1,32 @@
+#include <linux/version.h>
+
@@ -505,10 +497,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/lm.h
+# define lm_get_drvdata(lm) dev_get_drvdata(&(lm)->dev)
+# define lm_set_drvdata(lm,d) dev_set_drvdata(&(lm)->dev, d)
+#endif
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/prom.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/prom.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/prom.h
@@ -0,0 +1,50 @@
+/*
+ * Carsten Langgaard, carstenl@mips.com
@@ -560,10 +550,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/prom.h
+};
+
+#endif /* !(_MIPS_PROM_H) */
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/rt_mmap.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/rt_mmap.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/rt_mmap.h
@@ -0,0 +1,796 @@
+/**************************************************************************
+ *
@@ -1361,10 +1349,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/rt_mmap.h
+
+#endif
+#endif
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/serial_rt2880.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/serial_rt2880.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/serial_rt2880.h
@@ -0,0 +1,443 @@
+/**************************************************************************
+ *
@@ -1809,10 +1795,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/serial_rt2880.h
+#define UART_OMAP_SYSS 0x16 /* System status register */
+
+
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/sizes.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/sizes.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/sizes.h
@@ -0,0 +1,52 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
@@ -1866,10 +1850,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/sizes.h
+#endif
+
+/* END */
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/surfboard.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/surfboard.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/surfboard.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2001 Palmchip Corporation. All rights reserved.
@@ -1941,10 +1923,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/surfboard.h
+#define GIC_CPU_INT5 5 /* Core Interrupt 5 */
+
+#endif /* !(_SURFBOARD_H) */
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/surfboardint.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/surfboardint.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/surfboardint.h
@@ -0,0 +1,190 @@
+/*
+ * Copyright (C) 2001 Palmchip Corporation. All rights reserved.
@@ -2136,10 +2116,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/surfboardint.h
+
+
+#endif /* !(_SURFBOARDINT_H) */
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/war.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/war.h 2014-08-24 15:51:48.534654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/war.h
@@ -0,0 +1,25 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@@ -2166,11 +2144,9 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/war.h
+#define MIPS34K_MISSED_ITLB_WAR 0
+
+#endif /* __ASM_MIPS_MACH_MIPS_WAR_H */
-Index: linux-3.14.16/drivers/net/ethernet/Kconfig
-===================================================================
---- linux-3.14.16.orig/drivers/net/ethernet/Kconfig 2014-08-24 15:51:48.510654065 +0200
-+++ linux-3.14.16/drivers/net/ethernet/Kconfig 2014-08-24 15:51:48.534654066 +0200
-@@ -135,6 +135,7 @@
+--- a/drivers/net/ethernet/Kconfig
++++ b/drivers/net/ethernet/Kconfig
+@@ -135,6 +135,7 @@ source "drivers/net/ethernet/packetengin
source "drivers/net/ethernet/pasemi/Kconfig"
source "drivers/net/ethernet/qlogic/Kconfig"
source "drivers/net/ethernet/ralink/Kconfig"
@@ -2178,11 +2154,9 @@ Index: linux-3.14.16/drivers/net/ethernet/Kconfig
source "drivers/net/ethernet/realtek/Kconfig"
source "drivers/net/ethernet/renesas/Kconfig"
source "drivers/net/ethernet/rdc/Kconfig"
-Index: linux-3.14.16/drivers/net/ethernet/Makefile
-===================================================================
---- linux-3.14.16.orig/drivers/net/ethernet/Makefile 2014-08-24 15:51:48.510654065 +0200
-+++ linux-3.14.16/drivers/net/ethernet/Makefile 2014-08-24 15:51:48.534654066 +0200
-@@ -57,6 +57,7 @@
+--- a/drivers/net/ethernet/Makefile
++++ b/drivers/net/ethernet/Makefile
+@@ -57,6 +57,7 @@ obj-$(CONFIG_NET_PACKET_ENGINE) += packe
obj-$(CONFIG_NET_VENDOR_PASEMI) += pasemi/
obj-$(CONFIG_NET_VENDOR_QLOGIC) += qlogic/
obj-$(CONFIG_NET_RALINK) += ralink/
@@ -2190,10 +2164,8 @@ Index: linux-3.14.16/drivers/net/ethernet/Makefile
obj-$(CONFIG_NET_VENDOR_REALTEK) += realtek/
obj-$(CONFIG_SH_ETH) += renesas/
obj-$(CONFIG_NET_VENDOR_RDC) += rdc/
-Index: linux-3.14.16/drivers/net/ethernet/raeth/Kconfig
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/Kconfig 2014-08-24 15:51:48.534654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/Kconfig
@@ -0,0 +1,344 @@
+
+config RA_NAT_NONE
@@ -2539,10 +2511,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/Kconfig
+config 100PHY
+bool
+default y if GE1_MII_AN || GE2_MII_AN
-Index: linux-3.14.16/drivers/net/ethernet/raeth/Makefile
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/Makefile 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/Makefile
@@ -0,0 +1,7 @@
+obj-$(CONFIG_RAETH) += raeth.o
+raeth-objs := ra_mac.o mii_mgr.o
@@ -2551,10 +2521,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/Makefile
+#EXTRA_CFLAGS += -DCONFIG_RAETH_MULTIPLE_RX_RING
+
+raeth-objs += raether.o
-Index: linux-3.14.16/drivers/net/ethernet/raeth/ethtool_readme.txt
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/ethtool_readme.txt 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/ethtool_readme.txt
@@ -0,0 +1,44 @@
+
+Ethtool readme for selecting different PHY address.
@@ -2600,10 +2568,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/ethtool_readme.txt
+# ethtool eth2
+
+
-Index: linux-3.14.16/drivers/net/ethernet/raeth/mii_mgr.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/mii_mgr.c 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/mii_mgr.c
@@ -0,0 +1,166 @@
+#include <linux/module.h>
+#include <linux/version.h>
@@ -2771,10 +2737,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/mii_mgr.c
+
+EXPORT_SYMBOL(mii_mgr_write);
+EXPORT_SYMBOL(mii_mgr_read);
-Index: linux-3.14.16/drivers/net/ethernet/raeth/ra2882ethreg.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/ra2882ethreg.h 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/ra2882ethreg.h
@@ -0,0 +1,1268 @@
+#ifndef RA2882ETHREG_H
+#define RA2882ETHREG_H
@@ -4044,10 +4008,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/ra2882ethreg.h
+#define RAETH_TX_DONE_INT0 TX_DONE_INT0
+#define RAETH_DLY_INT_CFG DLY_INT_CFG
+#endif
-Index: linux-3.14.16/drivers/net/ethernet/raeth/ra_ioctl.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/ra_ioctl.h 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/ra_ioctl.h
@@ -0,0 +1,92 @@
+#ifndef _RAETH_IOCTL_H
+#define _RAETH_IOCTL_H
@@ -4141,10 +4103,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/ra_ioctl.h
+
+
+#endif
-Index: linux-3.14.16/drivers/net/ethernet/raeth/ra_mac.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/ra_mac.c 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/ra_mac.c
@@ -0,0 +1,98 @@
+#include <linux/module.h>
+#include <linux/version.h>
@@ -4244,10 +4204,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/ra_mac.c
+}
+
+
-Index: linux-3.14.16/drivers/net/ethernet/raeth/ra_mac.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/ra_mac.h 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/ra_mac.h
@@ -0,0 +1,35 @@
+#ifndef RA_MAC_H
+#define RA_MAC_H
@@ -4284,10 +4242,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/ra_mac.h
+int getnext(const char *src, int separator, char *dest);
+int str_to_ip(unsigned int *ip, const char *str);
+#endif
-Index: linux-3.14.16/drivers/net/ethernet/raeth/raether.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/raether.c 2014-08-24 16:00:48.998667292 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/raether.c
@@ -0,0 +1,692 @@
+#include <linux/module.h>
+#include <linux/version.h>
@@ -4981,10 +4937,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/raether.c
+module_init(ra2882eth_init);
+module_exit(ra2882eth_cleanup_module);
+MODULE_LICENSE("GPL");
-Index: linux-3.14.16/drivers/net/ethernet/raeth/raether.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/raether.h 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/raether.h
@@ -0,0 +1,92 @@
+#ifndef RA2882ETHEND_H
+#define RA2882ETHEND_H
@@ -5078,10 +5032,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/raether.h
+void fe_sw_init(void);
+
+#endif
-Index: linux-3.14.16/drivers/net/ethernet/raeth/raether_pdma.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/raether_pdma.c 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/raether_pdma.c
@@ -0,0 +1,212 @@
+#include <linux/module.h>
+#include <linux/version.h>
@@ -5295,10 +5247,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/raether_pdma.c
+EXPORT_SYMBOL(ei_xmit_housekeeping);
+EXPORT_SYMBOL(fe_dma_init);
+EXPORT_SYMBOL(rt2880_eth_send);
-Index: linux-3.14.16/drivers/net/ethernet/raeth/raether_qdma.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/raether_qdma.c 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/raether_qdma.c
@@ -0,0 +1,805 @@
+#include <linux/module.h>
+#include <linux/version.h>
diff --git a/target/linux/ramips/patches-3.14/0037-USB-phy-add-ralink-SoC-driver.patch b/target/linux/ramips/patches-3.14/0037-USB-phy-add-ralink-SoC-driver.patch
index 38eae68563..9920afbac3 100644
--- a/target/linux/ramips/patches-3.14/0037-USB-phy-add-ralink-SoC-driver.patch
+++ b/target/linux/ramips/patches-3.14/0037-USB-phy-add-ralink-SoC-driver.patch
@@ -11,11 +11,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
3 files changed, 199 insertions(+)
create mode 100644 drivers/usb/phy/ralink-phy.c
-Index: linux-3.14.16/drivers/usb/phy/Kconfig
-===================================================================
---- linux-3.14.16.orig/drivers/usb/phy/Kconfig 2014-08-08 01:50:59.000000000 +0200
-+++ linux-3.14.16/drivers/usb/phy/Kconfig 2014-08-24 12:39:21.094371467 +0200
-@@ -251,6 +251,14 @@
+--- a/drivers/usb/phy/Kconfig
++++ b/drivers/usb/phy/Kconfig
+@@ -251,6 +251,14 @@ config USB_RCAR_GEN2_PHY
To compile this driver as a module, choose M here: the
module will be called phy-rcar-gen2-usb.
@@ -30,19 +28,15 @@ Index: linux-3.14.16/drivers/usb/phy/Kconfig
config USB_ULPI
bool "Generic ULPI Transceiver Driver"
depends on ARM
-Index: linux-3.14.16/drivers/usb/phy/Makefile
-===================================================================
---- linux-3.14.16.orig/drivers/usb/phy/Makefile 2014-08-08 01:50:59.000000000 +0200
-+++ linux-3.14.16/drivers/usb/phy/Makefile 2014-08-24 12:39:21.094371467 +0200
-@@ -33,3 +33,4 @@
+--- a/drivers/usb/phy/Makefile
++++ b/drivers/usb/phy/Makefile
+@@ -33,3 +33,4 @@ obj-$(CONFIG_USB_RCAR_GEN2_PHY) += phy-
obj-$(CONFIG_USB_ULPI) += phy-ulpi.o
obj-$(CONFIG_USB_ULPI_VIEWPORT) += phy-ulpi-viewport.o
obj-$(CONFIG_KEYSTONE_USB_PHY) += phy-keystone.o
+obj-$(CONFIG_RALINK_USBPHY) += ralink-phy.o
-Index: linux-3.14.16/drivers/usb/phy/ralink-phy.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/usb/phy/ralink-phy.c 2014-08-24 14:28:35.886531881 +0200
+--- /dev/null
++++ b/drivers/usb/phy/ralink-phy.c
@@ -0,0 +1,191 @@
+/*
+ * Copyright (C) 2013 John Crispin <blogic@openwrt.org>
diff --git a/target/linux/ramips/patches-3.14/0038-USB-add-OHCI-EHCI-OF-binding.patch b/target/linux/ramips/patches-3.14/0038-USB-add-OHCI-EHCI-OF-binding.patch
index e7861def47..f297152873 100644
--- a/target/linux/ramips/patches-3.14/0038-USB-add-OHCI-EHCI-OF-binding.patch
+++ b/target/linux/ramips/patches-3.14/0038-USB-add-OHCI-EHCI-OF-binding.patch
@@ -12,11 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/usb/host/ohci-platform.c | 37 +++++++++++++++++++++++++++++++------
3 files changed, 50 insertions(+), 11 deletions(-)
-Index: linux-3.14.16/drivers/usb/Makefile
-===================================================================
---- linux-3.14.16.orig/drivers/usb/Makefile 2014-08-08 01:50:59.000000000 +0200
-+++ linux-3.14.16/drivers/usb/Makefile 2014-08-24 14:33:57.590539754 +0200
-@@ -11,6 +11,8 @@
+--- a/drivers/usb/Makefile
++++ b/drivers/usb/Makefile
+@@ -11,6 +11,8 @@ obj-$(CONFIG_USB_DWC2) += dwc2/
obj-$(CONFIG_USB_MON) += mon/
@@ -25,7 +23,7 @@ Index: linux-3.14.16/drivers/usb/Makefile
obj-$(CONFIG_PCI) += host/
obj-$(CONFIG_USB_EHCI_HCD) += host/
obj-$(CONFIG_USB_ISP116X_HCD) += host/
-@@ -41,7 +43,6 @@
+@@ -41,7 +43,6 @@ obj-$(CONFIG_USB_TMC) += class/
obj-$(CONFIG_USB_STORAGE) += storage/
obj-$(CONFIG_USB) += storage/
@@ -33,10 +31,8 @@ Index: linux-3.14.16/drivers/usb/Makefile
obj-$(CONFIG_USB_MICROTEK) += image/
obj-$(CONFIG_USB_SERIAL) += serial/
-Index: linux-3.14.16/drivers/usb/host/ehci-platform.c
-===================================================================
---- linux-3.14.16.orig/drivers/usb/host/ehci-platform.c 2014-08-24 12:39:18.806371411 +0200
-+++ linux-3.14.16/drivers/usb/host/ehci-platform.c 2014-08-24 12:39:21.102371467 +0200
+--- a/drivers/usb/host/ehci-platform.c
++++ b/drivers/usb/host/ehci-platform.c
@@ -29,6 +29,8 @@
#include <linux/usb.h>
#include <linux/usb/hcd.h>
@@ -46,7 +42,7 @@ Index: linux-3.14.16/drivers/usb/host/ehci-platform.c
#include "ehci.h"
-@@ -124,6 +126,15 @@
+@@ -124,6 +126,15 @@ static int ehci_platform_probe(struct pl
hcd->rsrc_start = res_mem->start;
hcd->rsrc_len = resource_size(res_mem);
@@ -62,7 +58,7 @@ Index: linux-3.14.16/drivers/usb/host/ehci-platform.c
hcd->regs = devm_ioremap_resource(&dev->dev, res_mem);
if (IS_ERR(hcd->regs)) {
err = PTR_ERR(hcd->regs);
-@@ -161,6 +172,9 @@
+@@ -161,6 +172,9 @@ static int ehci_platform_remove(struct p
if (pdata == &ehci_platform_defaults)
dev->dev.platform_data = NULL;
@@ -72,7 +68,7 @@ Index: linux-3.14.16/drivers/usb/host/ehci-platform.c
return 0;
}
-@@ -205,9 +219,8 @@
+@@ -205,9 +219,8 @@ static int ehci_platform_resume(struct d
#define ehci_platform_resume NULL
#endif /* CONFIG_PM */
@@ -84,7 +80,7 @@ Index: linux-3.14.16/drivers/usb/host/ehci-platform.c
{}
};
-@@ -231,7 +244,7 @@
+@@ -231,7 +244,7 @@ static struct platform_driver ehci_platf
.owner = THIS_MODULE,
.name = "ehci-platform",
.pm = &ehci_platform_pm_ops,
@@ -93,10 +89,8 @@ Index: linux-3.14.16/drivers/usb/host/ehci-platform.c
}
};
-Index: linux-3.14.16/drivers/usb/host/ohci-platform.c
-===================================================================
---- linux-3.14.16.orig/drivers/usb/host/ohci-platform.c 2014-08-08 01:50:59.000000000 +0200
-+++ linux-3.14.16/drivers/usb/host/ohci-platform.c 2014-08-24 12:41:51.422375146 +0200
+--- a/drivers/usb/host/ohci-platform.c
++++ b/drivers/usb/host/ohci-platform.c
@@ -22,18 +22,22 @@
#include <linux/platform_device.h>
#include <linux/usb/ohci_pdriver.h>
@@ -121,7 +115,7 @@ Index: linux-3.14.16/drivers/usb/host/ohci-platform.c
struct ohci_hcd *ohci = hcd_to_ohci(hcd);
if (pdata->big_endian_desc)
-@@ -63,11 +67,18 @@
+@@ -63,11 +67,18 @@ static int ohci_platform_probe(struct pl
int irq;
int err = -ENOMEM;
@@ -144,7 +138,7 @@ Index: linux-3.14.16/drivers/usb/host/ohci-platform.c
if (usb_disabled())
return -ENODEV;
-@@ -99,6 +110,12 @@
+@@ -99,6 +110,12 @@ static int ohci_platform_probe(struct pl
hcd->rsrc_start = res_mem->start;
hcd->rsrc_len = resource_size(res_mem);
@@ -157,7 +151,7 @@ Index: linux-3.14.16/drivers/usb/host/ohci-platform.c
hcd->regs = devm_ioremap_resource(&dev->dev, res_mem);
if (IS_ERR(hcd->regs)) {
err = PTR_ERR(hcd->regs);
-@@ -134,6 +151,9 @@
+@@ -134,6 +151,9 @@ static int ohci_platform_remove(struct p
if (pdata->power_off)
pdata->power_off(dev);
@@ -167,7 +161,7 @@ Index: linux-3.14.16/drivers/usb/host/ohci-platform.c
return 0;
}
-@@ -180,6 +200,11 @@
+@@ -180,6 +200,11 @@ static int ohci_platform_resume(struct d
#define ohci_platform_resume NULL
#endif /* CONFIG_PM */
@@ -179,7 +173,7 @@ Index: linux-3.14.16/drivers/usb/host/ohci-platform.c
static const struct platform_device_id ohci_platform_table[] = {
{ "ohci-platform", 0 },
{ }
-@@ -200,6 +225,7 @@
+@@ -200,6 +225,7 @@ static struct platform_driver ohci_platf
.owner = THIS_MODULE,
.name = "ohci-platform",
.pm = &ohci_platform_pm_ops,
diff --git a/target/linux/ramips/patches-3.14/0039-USB-adds-dwc_otg.patch b/target/linux/ramips/patches-3.14/0039-USB-adds-dwc_otg.patch
index c7592ac1ef..e545da3989 100644
--- a/target/linux/ramips/patches-3.14/0039-USB-adds-dwc_otg.patch
+++ b/target/linux/ramips/patches-3.14/0039-USB-adds-dwc_otg.patch
@@ -47,8 +47,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 drivers/usb/dwc_otg/dwc_otg_regs.h
create mode 100644 drivers/usb/dwc_otg/linux/dwc_otg_plat.h
-diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
-index 2e6b832..45d766e 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -88,6 +88,8 @@ if USB
@@ -60,8 +58,6 @@ index 2e6b832..45d766e 100644
source "drivers/usb/mon/Kconfig"
source "drivers/usb/wusbcore/Kconfig"
-diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile
-index aaa15d9..5205cf0 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/Makefile
@@ -8,6 +8,7 @@ obj-$(CONFIG_USB) += core/
@@ -72,9 +68,6 @@ index aaa15d9..5205cf0 100644
obj-$(CONFIG_USB_MON) += mon/
-diff --git a/drivers/usb/dwc_otg/Kconfig b/drivers/usb/dwc_otg/Kconfig
-new file mode 100644
-index 0000000..6dd75f1
--- /dev/null
+++ b/drivers/usb/dwc_otg/Kconfig
@@ -0,0 +1,24 @@
@@ -102,9 +95,6 @@ index 0000000..6dd75f1
+config DWC_OTG_DEBUG
+ bool "Enable debug mode"
+ depends on DWC_OTG
-diff --git a/drivers/usb/dwc_otg/Makefile b/drivers/usb/dwc_otg/Makefile
-new file mode 100644
-index 0000000..95c5b66
--- /dev/null
+++ b/drivers/usb/dwc_otg/Makefile
@@ -0,0 +1,25 @@
@@ -133,9 +123,6 @@ index 0000000..95c5b66
+dwc_otg-objs += dwc_otg_cil.o dwc_otg_cil_intr.o
+dwc_otg-objs += dwc_otg_pcd.o dwc_otg_pcd_intr.o
+dwc_otg-objs += dwc_otg_hcd.o dwc_otg_hcd_intr.o dwc_otg_hcd_queue.o
-diff --git a/drivers/usb/dwc_otg/dummy_audio.c b/drivers/usb/dwc_otg/dummy_audio.c
-new file mode 100644
-index 0000000..225decf
--- /dev/null
+++ b/drivers/usb/dwc_otg/dummy_audio.c
@@ -0,0 +1,1575 @@
@@ -1714,9 +1701,6 @@ index 0000000..225decf
+ remove_proc_entry("isoc_test", NULL);
+}
+module_exit (cleanup);
-diff --git a/drivers/usb/dwc_otg/dwc_otg_attr.c b/drivers/usb/dwc_otg/dwc_otg_attr.c
-new file mode 100644
-index 0000000..8543537
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_attr.c
@@ -0,0 +1,966 @@
@@ -2686,9 +2670,6 @@ index 0000000..8543537
+ device_remove_file(dev, &dev_attr_rd_reg_test);
+ device_remove_file(dev, &dev_attr_wr_reg_test);
+}
-diff --git a/drivers/usb/dwc_otg/dwc_otg_attr.h b/drivers/usb/dwc_otg/dwc_otg_attr.h
-new file mode 100644
-index 0000000..0862b27
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_attr.h
@@ -0,0 +1,67 @@
@@ -2759,9 +2740,6 @@ index 0000000..0862b27
+void dwc_otg_attr_remove (struct device *dev);
+
+#endif
-diff --git a/drivers/usb/dwc_otg/dwc_otg_cil.c b/drivers/usb/dwc_otg/dwc_otg_cil.c
-new file mode 100644
-index 0000000..89aa83e
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_cil.c
@@ -0,0 +1,3692 @@
@@ -6457,9 +6435,6 @@ index 0000000..89aa83e
+}
+
+#endif //DWC_EN_ISOC
-diff --git a/drivers/usb/dwc_otg/dwc_otg_cil.h b/drivers/usb/dwc_otg/dwc_otg_cil.h
-new file mode 100644
-index 0000000..9507992
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_cil.h
@@ -0,0 +1,1098 @@
@@ -7561,9 +7536,6 @@ index 0000000..9507992
+
+#endif
+
-diff --git a/drivers/usb/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/dwc_otg/dwc_otg_cil_intr.c
-new file mode 100644
-index 0000000..61b17b3
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_cil_intr.c
@@ -0,0 +1,750 @@
@@ -8317,9 +8289,6 @@ index 0000000..61b17b3
+
+ return retval;
+}
-diff --git a/drivers/usb/dwc_otg/dwc_otg_driver.c b/drivers/usb/dwc_otg/dwc_otg_driver.c
-new file mode 100644
-index 0000000..263494c
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_driver.c
@@ -0,0 +1,1273 @@
@@ -9596,9 +9565,6 @@ index 0000000..263494c
+ </td></tr>
+
+*/
-diff --git a/drivers/usb/dwc_otg/dwc_otg_driver.h b/drivers/usb/dwc_otg/dwc_otg_driver.h
-new file mode 100644
-index 0000000..fd7f0a4
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_driver.h
@@ -0,0 +1,83 @@
@@ -9685,9 +9651,6 @@ index 0000000..fd7f0a4
+} dwc_otg_device_t;
+
+#endif
-diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd.c b/drivers/usb/dwc_otg/dwc_otg_hcd.c
-new file mode 100644
-index 0000000..fe643b6
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd.c
@@ -0,0 +1,2852 @@
@@ -12543,9 +12506,6 @@ index 0000000..fe643b6
+#endif
+}
+#endif /* DWC_DEVICE_ONLY */
-diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd.h b/drivers/usb/dwc_otg/dwc_otg_hcd.h
-new file mode 100644
-index 0000000..ee41dc9
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd.h
@@ -0,0 +1,668 @@
@@ -13217,9 +13177,6 @@ index 0000000..ee41dc9
+#endif
+#endif
+#endif /* DWC_DEVICE_ONLY */
-diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c
-new file mode 100644
-index 0000000..bdf2db9
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c
@@ -0,0 +1,1873 @@
@@ -15096,9 +15053,6 @@ index 0000000..bdf2db9
+}
+
+#endif /* DWC_DEVICE_ONLY */
-diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/dwc_otg/dwc_otg_hcd_queue.c
-new file mode 100644
-index 0000000..cfb1f16
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd_queue.c
@@ -0,0 +1,684 @@
@@ -15786,9 +15740,6 @@ index 0000000..cfb1f16
+}
+
+#endif /* DWC_DEVICE_ONLY */
-diff --git a/drivers/usb/dwc_otg/dwc_otg_pcd.c b/drivers/usb/dwc_otg/dwc_otg_pcd.c
-new file mode 100644
-index 0000000..030a3f2
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_pcd.c
@@ -0,0 +1,2523 @@
@@ -18315,9 +18266,6 @@ index 0000000..030a3f2
+EXPORT_SYMBOL(usb_gadget_unregister_driver);
+
+#endif /* DWC_HOST_ONLY */
-diff --git a/drivers/usb/dwc_otg/dwc_otg_pcd.h b/drivers/usb/dwc_otg/dwc_otg_pcd.h
-new file mode 100644
-index 0000000..48de957
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_pcd.h
@@ -0,0 +1,248 @@
@@ -18569,9 +18517,6 @@ index 0000000..48de957
+
+#endif
+#endif /* DWC_HOST_ONLY */
-diff --git a/drivers/usb/dwc_otg/dwc_otg_pcd_intr.c b/drivers/usb/dwc_otg/dwc_otg_pcd_intr.c
-new file mode 100644
-index 0000000..fd44fd8
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_pcd_intr.c
@@ -0,0 +1,3654 @@
@@ -22229,9 +22174,6 @@ index 0000000..fd44fd8
+}
+
+#endif /* DWC_HOST_ONLY */
-diff --git a/drivers/usb/dwc_otg/dwc_otg_regs.h b/drivers/usb/dwc_otg/dwc_otg_regs.h
-new file mode 100644
-index 0000000..8265766
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_regs.h
@@ -0,0 +1,2075 @@
@@ -24310,9 +24252,6 @@ index 0000000..8265766
+
+
+#endif
-diff --git a/drivers/usb/dwc_otg/linux/dwc_otg_plat.h b/drivers/usb/dwc_otg/linux/dwc_otg_plat.h
-new file mode 100644
-index 0000000..618151b
--- /dev/null
+++ b/drivers/usb/dwc_otg/linux/dwc_otg_plat.h
@@ -0,0 +1,260 @@
@@ -24576,6 +24515,3 @@ index 0000000..618151b
+
+#endif
+
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0040-USB-add-mt7621-xhci-support.patch b/target/linux/ramips/patches-3.14/0040-USB-add-mt7621-xhci-support.patch
index 31227fcd4f..bc1915e4aa 100644
--- a/target/linux/ramips/patches-3.14/0040-USB-add-mt7621-xhci-support.patch
+++ b/target/linux/ramips/patches-3.14/0040-USB-add-mt7621-xhci-support.patch
@@ -41,11 +41,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 drivers/usb/host/xhci-mtk.c
create mode 100644 drivers/usb/host/xhci-mtk.h
-diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c
-index d59d993..81bbb65 100644
--- a/drivers/usb/core/hcd-pci.c
+++ b/drivers/usb/core/hcd-pci.c
-@@ -215,9 +215,13 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
+@@ -215,9 +215,13 @@ int usb_hcd_pci_probe(struct pci_dev *de
goto disable_pci;
}
@@ -60,11 +58,9 @@ index d59d993..81bbb65 100644
if (driver->flags & HCD_MEMORY) {
/* EHCI, OHCI */
hcd->rsrc_start = pci_resource_start(dev, 0);
-diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
-index 64ea219..c8cf5a6 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -1251,7 +1251,7 @@ static void hub_quiesce(struct usb_hub *hub, enum hub_quiescing_type type)
+@@ -1270,7 +1270,7 @@ static void hub_quiesce(struct usb_hub *
if (type != HUB_SUSPEND) {
/* Disconnect all the children */
for (i = 0; i < hdev->maxchild; ++i) {
@@ -73,8 +69,6 @@ index 64ea219..c8cf5a6 100644
usb_disconnect(&hub->ports[i]->child);
}
}
-diff --git a/drivers/usb/core/port.c b/drivers/usb/core/port.c
-index 51542f8..0b9e0b3 100644
--- a/drivers/usb/core/port.c
+++ b/drivers/usb/core/port.c
@@ -191,6 +191,7 @@ exit:
@@ -86,8 +80,6 @@ index 51542f8..0b9e0b3 100644
+ device_unregister(&hub->ports[port1 - 1]->dev);
}
-diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
-index a9707da..22aab121 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -27,7 +27,13 @@ config USB_XHCI_HCD
@@ -105,8 +97,6 @@ index a9707da..22aab121 100644
endif # USB_XHCI_HCD
-diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile
-index 7530468..6614620 100644
--- a/drivers/usb/host/Makefile
+++ b/drivers/usb/host/Makefile
@@ -15,7 +15,13 @@ fhci-$(CONFIG_FHCI_DEBUG) += fhci-dbg.o
@@ -133,9 +123,6 @@ index 7530468..6614620 100644
obj-$(CONFIG_USB_EHCI_HCD) += ehci-hcd.o
obj-$(CONFIG_USB_EHCI_PCI) += ehci-pci.o
-diff --git a/drivers/usb/host/mtk-phy-7621.c b/drivers/usb/host/mtk-phy-7621.c
-new file mode 100644
-index 0000000..4e9c0d7
--- /dev/null
+++ b/drivers/usb/host/mtk-phy-7621.c
@@ -0,0 +1,445 @@
@@ -584,9 +571,6 @@ index 0000000..4e9c0d7
+}
+
+#endif
-diff --git a/drivers/usb/host/mtk-phy-7621.h b/drivers/usb/host/mtk-phy-7621.h
-new file mode 100644
-index 0000000..41b0c77
--- /dev/null
+++ b/drivers/usb/host/mtk-phy-7621.h
@@ -0,0 +1,2871 @@
@@ -3461,9 +3445,6 @@ index 0000000..41b0c77
+
+#endif
+#endif
-diff --git a/drivers/usb/host/mtk-phy-ahb.c b/drivers/usb/host/mtk-phy-ahb.c
-new file mode 100644
-index 0000000..ebaf7c8
--- /dev/null
+++ b/drivers/usb/host/mtk-phy-ahb.c
@@ -0,0 +1,58 @@
@@ -3525,9 +3506,6 @@ index 0000000..ebaf7c8
+
+#endif
+
-diff --git a/drivers/usb/host/mtk-phy.c b/drivers/usb/host/mtk-phy.c
-new file mode 100644
-index 0000000..7ed8f01
--- /dev/null
+++ b/drivers/usb/host/mtk-phy.c
@@ -0,0 +1,102 @@
@@ -3633,9 +3611,6 @@ index 0000000..7ed8f01
+ return ((U3PhyReadReg32(addr) & mask) >> offset);
+}
+
-diff --git a/drivers/usb/host/mtk-phy.h b/drivers/usb/host/mtk-phy.h
-new file mode 100644
-index 0000000..07ed410
--- /dev/null
+++ b/drivers/usb/host/mtk-phy.h
@@ -0,0 +1,179 @@
@@ -3818,8 +3793,6 @@ index 0000000..07ed410
+/***********************************/
+#endif
+
-diff --git a/drivers/usb/host/pci-quirks.h b/drivers/usb/host/pci-quirks.h
-index 638e88f..b945c3e 100644
--- a/drivers/usb/host/pci-quirks.h
+++ b/drivers/usb/host/pci-quirks.h
@@ -1,7 +1,7 @@
@@ -3830,9 +3803,7 @@ index 638e88f..b945c3e 100644
+#if defined (CONFIG_PCI) && !defined (CONFIG_USB_MT7621_XHCI_PLATFORM)
void uhci_reset_hc(struct pci_dev *pdev, unsigned long base);
int uhci_check_and_reset_hc(struct pci_dev *pdev, unsigned long base);
- int usb_amd_find_chipset_info(void);
-diff --git a/drivers/usb/host/xhci-dbg.c b/drivers/usb/host/xhci-dbg.c
-index eb009a4..b491120 100644
+ #endif /* CONFIG_PCI */
--- a/drivers/usb/host/xhci-dbg.c
+++ b/drivers/usb/host/xhci-dbg.c
@@ -21,6 +21,9 @@
@@ -3845,11 +3816,9 @@ index eb009a4..b491120 100644
#define XHCI_INIT_VALUE 0x0
-diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
-index bce4391..e156473 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
-@@ -67,6 +67,9 @@ static struct xhci_segment *xhci_segment_alloc(struct xhci_hcd *xhci,
+@@ -67,6 +67,9 @@ static struct xhci_segment *xhci_segment
static void xhci_segment_free(struct xhci_hcd *xhci, struct xhci_segment *seg)
{
@@ -3859,7 +3828,7 @@ index bce4391..e156473 100644
if (seg->trbs) {
dma_pool_free(xhci->segment_pool, seg->trbs, seg->dma);
seg->trbs = NULL;
-@@ -1375,9 +1378,17 @@ int xhci_endpoint_init(struct xhci_hcd *xhci,
+@@ -1375,9 +1378,17 @@ int xhci_endpoint_init(struct xhci_hcd *
max_burst = (usb_endpoint_maxp(&ep->desc)
& 0x1800) >> 11;
}
@@ -3877,9 +3846,6 @@ index bce4391..e156473 100644
break;
default:
BUG();
-diff --git a/drivers/usb/host/xhci-mtk-power.c b/drivers/usb/host/xhci-mtk-power.c
-new file mode 100644
-index 0000000..09870fa
--- /dev/null
+++ b/drivers/usb/host/xhci-mtk-power.c
@@ -0,0 +1,115 @@
@@ -3998,9 +3964,6 @@ index 0000000..09870fa
+ }
+}
+
-diff --git a/drivers/usb/host/xhci-mtk-power.h b/drivers/usb/host/xhci-mtk-power.h
-new file mode 100644
-index 0000000..e57c243
--- /dev/null
+++ b/drivers/usb/host/xhci-mtk-power.h
@@ -0,0 +1,13 @@
@@ -4017,9 +3980,6 @@ index 0000000..e57c243
+void enablePortClockPower(int port_index, int port_rev);
+
+#endif
-diff --git a/drivers/usb/host/xhci-mtk-scheduler.c b/drivers/usb/host/xhci-mtk-scheduler.c
-new file mode 100644
-index 0000000..bf6a8bd
--- /dev/null
+++ b/drivers/usb/host/xhci-mtk-scheduler.c
@@ -0,0 +1,608 @@
@@ -4631,9 +4591,6 @@ index 0000000..bf6a8bd
+ return SCH_FAIL;
+ }
+}
-diff --git a/drivers/usb/host/xhci-mtk-scheduler.h b/drivers/usb/host/xhci-mtk-scheduler.h
-new file mode 100644
-index 0000000..c55dfb1
--- /dev/null
+++ b/drivers/usb/host/xhci-mtk-scheduler.h
@@ -0,0 +1,77 @@
@@ -4714,9 +4671,6 @@ index 0000000..c55dfb1
+
+
+#endif
-diff --git a/drivers/usb/host/xhci-mtk.c b/drivers/usb/host/xhci-mtk.c
-new file mode 100644
-index 0000000..2eed0a1
--- /dev/null
+++ b/drivers/usb/host/xhci-mtk.c
@@ -0,0 +1,265 @@
@@ -4985,9 +4939,6 @@ index 0000000..2eed0a1
+
+
+
-diff --git a/drivers/usb/host/xhci-mtk.h b/drivers/usb/host/xhci-mtk.h
-new file mode 100644
-index 0000000..0f2d5e8
--- /dev/null
+++ b/drivers/usb/host/xhci-mtk.h
@@ -0,0 +1,120 @@
@@ -5111,11 +5062,9 @@ index 0000000..0f2d5e8
+
+
+#endif
-diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
-index 8abda5c..a11b82f 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
-@@ -27,6 +27,13 @@ static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci)
+@@ -27,6 +27,13 @@ static void xhci_plat_quirks(struct devi
* dev struct in order to setup MSI
*/
xhci->quirks |= XHCI_PLAT;
@@ -5129,7 +5078,7 @@ index 8abda5c..a11b82f 100644
}
/* called during probe() after chip reset completes */
-@@ -99,13 +106,19 @@ static int xhci_plat_probe(struct platform_device *pdev)
+@@ -99,13 +106,19 @@ static int xhci_plat_probe(struct platfo
driver = &xhci_plat_xhci_driver;
@@ -5149,7 +5098,7 @@ index 8abda5c..a11b82f 100644
/* Initialize dma_mask and coherent_dma_mask to 32-bits */
ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
-@@ -120,8 +133,13 @@ static int xhci_plat_probe(struct platform_device *pdev)
+@@ -120,8 +133,13 @@ static int xhci_plat_probe(struct platfo
if (!hcd)
return -ENOMEM;
@@ -5163,11 +5112,9 @@ index 8abda5c..a11b82f 100644
if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len,
driver->description)) {
-diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
-index 0ed64eb..415bec0 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -232,7 +232,6 @@ static void inc_enq(struct xhci_hcd *xhci, struct xhci_ring *ring,
+@@ -232,7 +232,6 @@ static void inc_enq(struct xhci_hcd *xhc
*/
if (!chain && !more_trbs_coming)
break;
@@ -5175,7 +5122,7 @@ index 0ed64eb..415bec0 100644
/* If we're not dealing with 0.95 hardware or
* isoc rings on AMD 0.96 host,
* carry over the chain bit of the previous TRB
-@@ -268,16 +267,20 @@ static void inc_enq(struct xhci_hcd *xhci, struct xhci_ring *ring,
+@@ -268,16 +267,20 @@ static void inc_enq(struct xhci_hcd *xhc
static inline int room_on_ring(struct xhci_hcd *xhci, struct xhci_ring *ring,
unsigned int num_trbs)
{
@@ -5196,7 +5143,7 @@ index 0ed64eb..415bec0 100644
return 1;
}
-@@ -2992,6 +2995,7 @@ static int prepare_ring(struct xhci_hcd *xhci, struct xhci_ring *ep_ring,
+@@ -2991,6 +2994,7 @@ static int prepare_ring(struct xhci_hcd
next = ring->enqueue;
while (last_trb(xhci, ring, ring->enq_seg, next)) {
@@ -5204,7 +5151,7 @@ index 0ed64eb..415bec0 100644
/* If we're not dealing with 0.95 hardware or isoc rings
* on AMD 0.96 host, clear the chain bit.
*/
-@@ -3001,7 +3005,9 @@ static int prepare_ring(struct xhci_hcd *xhci, struct xhci_ring *ep_ring,
+@@ -3000,7 +3004,9 @@ static int prepare_ring(struct xhci_hcd
next->link.control &= cpu_to_le32(~TRB_CHAIN);
else
next->link.control |= cpu_to_le32(TRB_CHAIN);
@@ -5215,7 +5162,7 @@ index 0ed64eb..415bec0 100644
wmb();
next->link.control ^= cpu_to_le32(TRB_CYCLE);
-@@ -3131,6 +3137,9 @@ static void giveback_first_trb(struct xhci_hcd *xhci, int slot_id,
+@@ -3130,6 +3136,9 @@ static void giveback_first_trb(struct xh
start_trb->field[3] |= cpu_to_le32(start_cycle);
else
start_trb->field[3] &= cpu_to_le32(~TRB_CYCLE);
@@ -5225,7 +5172,7 @@ index 0ed64eb..415bec0 100644
xhci_ring_ep_doorbell(xhci, slot_id, ep_index, stream_id);
}
-@@ -3186,6 +3195,29 @@ static u32 xhci_td_remainder(unsigned int remainder)
+@@ -3185,6 +3194,29 @@ static u32 xhci_td_remainder(unsigned in
return (remainder >> 10) << 17;
}
@@ -5255,7 +5202,7 @@ index 0ed64eb..415bec0 100644
/*
* For xHCI 1.0 host controllers, TD size is the number of max packet sized
* packets remaining in the TD (*not* including this TRB).
-@@ -3323,6 +3355,7 @@ static int queue_bulk_sg_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3322,6 +3354,7 @@ static int queue_bulk_sg_tx(struct xhci_
}
/* Set the TRB length, TD size, and interrupter fields. */
@@ -5263,7 +5210,7 @@ index 0ed64eb..415bec0 100644
if (xhci->hci_version < 0x100) {
remainder = xhci_td_remainder(
urb->transfer_buffer_length -
-@@ -3332,6 +3365,13 @@ static int queue_bulk_sg_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3331,6 +3364,13 @@ static int queue_bulk_sg_tx(struct xhci_
trb_buff_len, total_packet_count, urb,
num_trbs - 1);
}
@@ -5277,7 +5224,7 @@ index 0ed64eb..415bec0 100644
length_field = TRB_LEN(trb_buff_len) |
remainder |
TRB_INTR_TARGET(0);
-@@ -3394,6 +3434,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3393,6 +3433,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
int running_total, trb_buff_len, ret;
unsigned int total_packet_count;
u64 addr;
@@ -5287,7 +5234,7 @@ index 0ed64eb..415bec0 100644
if (urb->num_sgs)
return queue_bulk_sg_tx(xhci, mem_flags, urb, slot_id, ep_index);
-@@ -3419,6 +3462,25 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3418,6 +3461,25 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
running_total += TRB_MAX_BUFF_SIZE;
}
/* FIXME: this doesn't deal with URB_ZERO_PACKET - need one more */
@@ -5313,7 +5260,7 @@ index 0ed64eb..415bec0 100644
ret = prepare_transfer(xhci, xhci->devs[slot_id],
ep_index, urb->stream_id,
-@@ -3478,6 +3540,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3477,6 +3539,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
field |= TRB_ISP;
/* Set the TRB length, TD size, and interrupter fields. */
@@ -5321,7 +5268,7 @@ index 0ed64eb..415bec0 100644
if (xhci->hci_version < 0x100) {
remainder = xhci_td_remainder(
urb->transfer_buffer_length -
-@@ -3487,6 +3550,10 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3486,6 +3549,10 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
trb_buff_len, total_packet_count, urb,
num_trbs - 1);
}
@@ -5332,7 +5279,7 @@ index 0ed64eb..415bec0 100644
length_field = TRB_LEN(trb_buff_len) |
remainder |
TRB_INTR_TARGET(0);
-@@ -3576,7 +3643,11 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3575,7 +3642,11 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
field |= 0x1;
/* xHCI 1.0 6.4.1.2.1: Transfer Type field */
@@ -5344,7 +5291,7 @@ index 0ed64eb..415bec0 100644
if (urb->transfer_buffer_length > 0) {
if (setup->bRequestType & USB_DIR_IN)
field |= TRB_TX_TYPE(TRB_DATA_IN);
-@@ -3600,7 +3671,12 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3599,7 +3670,12 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
field = TRB_TYPE(TRB_DATA);
length_field = TRB_LEN(urb->transfer_buffer_length) |
@@ -5357,7 +5304,7 @@ index 0ed64eb..415bec0 100644
TRB_INTR_TARGET(0);
if (urb->transfer_buffer_length > 0) {
if (setup->bRequestType & USB_DIR_IN)
-@@ -3611,7 +3687,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3610,7 +3686,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
length_field,
field | ep_ring->cycle_state);
}
@@ -5366,7 +5313,7 @@ index 0ed64eb..415bec0 100644
/* Save the DMA address of the last TRB in the TD */
td->last_trb = ep_ring->enqueue;
-@@ -3723,6 +3799,9 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3722,6 +3798,9 @@ static int xhci_queue_isoc_tx(struct xhc
u64 start_addr, addr;
int i, j;
bool more_trbs_coming;
@@ -5376,7 +5323,7 @@ index 0ed64eb..415bec0 100644
ep_ring = xhci->devs[slot_id]->eps[ep_index].ring;
-@@ -3736,6 +3815,21 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3735,6 +3814,21 @@ static int xhci_queue_isoc_tx(struct xhc
start_trb = &ep_ring->enqueue->generic;
start_cycle = ep_ring->cycle_state;
@@ -5398,7 +5345,7 @@ index 0ed64eb..415bec0 100644
urb_priv = urb->hcpriv;
/* Queue the first TRB, even if it's zero-length */
for (i = 0; i < num_tds; i++) {
-@@ -3807,9 +3901,13 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3806,9 +3900,13 @@ static int xhci_queue_isoc_tx(struct xhc
} else {
td->last_trb = ep_ring->enqueue;
field |= TRB_IOC;
@@ -5412,7 +5359,7 @@ index 0ed64eb..415bec0 100644
/* Set BEI bit except for the last td */
if (i < num_tds - 1)
field |= TRB_BEI;
-@@ -3824,6 +3922,7 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3823,6 +3921,7 @@ static int xhci_queue_isoc_tx(struct xhc
trb_buff_len = td_remain_len;
/* Set the TRB length, TD size, & interrupter fields. */
@@ -5420,7 +5367,7 @@ index 0ed64eb..415bec0 100644
if (xhci->hci_version < 0x100) {
remainder = xhci_td_remainder(
td_len - running_total);
-@@ -3833,6 +3932,10 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3832,6 +3931,10 @@ static int xhci_queue_isoc_tx(struct xhc
total_packet_count, urb,
(trbs_per_td - j - 1));
}
@@ -5431,8 +5378,6 @@ index 0ed64eb..415bec0 100644
length_field = TRB_LEN(trb_buff_len) |
remainder |
TRB_INTR_TARGET(0);
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 924a6cc..27b7d2f 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -32,6 +32,16 @@
@@ -5480,7 +5425,7 @@ index 924a6cc..27b7d2f 100644
static int xhci_free_msi(struct xhci_hcd *xhci)
{
int i;
-@@ -399,6 +421,7 @@ static int xhci_try_enable_msi(struct usb_hcd *hcd)
+@@ -399,6 +421,7 @@ static int xhci_try_enable_msi(struct us
return ret;
}
hcd->irq = pdev->irq;
@@ -5488,7 +5433,7 @@ index 924a6cc..27b7d2f 100644
return 0;
}
-@@ -442,6 +465,11 @@ static void compliance_mode_recovery(unsigned long arg)
+@@ -442,6 +465,11 @@ static void compliance_mode_recovery(uns
"Attempting compliance mode recovery");
hcd = xhci->shared_hcd;
@@ -5500,7 +5445,7 @@ index 924a6cc..27b7d2f 100644
if (hcd->state == HC_STATE_SUSPENDED)
usb_hcd_resume_root_hub(hcd);
-@@ -491,6 +519,9 @@ bool xhci_compliance_mode_recovery_timer_quirk_check(void)
+@@ -491,6 +519,9 @@ bool xhci_compliance_mode_recovery_timer
{
const char *dmi_product_name, *dmi_sys_vendor;
@@ -5543,7 +5488,7 @@ index 924a6cc..27b7d2f 100644
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
"Finished xhci_run for USB2 roothub");
return 0;
-@@ -970,7 +1012,6 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated)
+@@ -970,7 +1012,6 @@ int xhci_resume(struct xhci_hcd *xhci, b
/* If restore operation fails, re-initialize the HC during resume */
if ((temp & STS_SRE) || hibernated) {
@@ -5551,7 +5496,7 @@ index 924a6cc..27b7d2f 100644
if ((xhci->quirks & XHCI_COMP_MODE_QUIRK) &&
!(xhci_all_ports_seen_u0(xhci))) {
del_timer_sync(&xhci->comp_mode_recovery_timer);
-@@ -1569,6 +1610,13 @@ int xhci_drop_endpoint(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -1573,6 +1614,13 @@ int xhci_drop_endpoint(struct usb_hcd *h
u32 drop_flag;
u32 new_add_flags, new_drop_flags, new_slot_info;
int ret;
@@ -5565,7 +5510,7 @@ index 924a6cc..27b7d2f 100644
ret = xhci_check_args(hcd, udev, ep, 1, true, __func__);
if (ret <= 0)
-@@ -1626,6 +1674,40 @@ int xhci_drop_endpoint(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -1630,6 +1678,40 @@ int xhci_drop_endpoint(struct usb_hcd *h
xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep);
@@ -5606,7 +5551,7 @@ index 924a6cc..27b7d2f 100644
xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x, new slot info = %#x\n",
(unsigned int) ep->desc.bEndpointAddress,
udev->slot_id,
-@@ -1661,6 +1743,18 @@ int xhci_add_endpoint(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -1665,6 +1747,18 @@ int xhci_add_endpoint(struct usb_hcd *hc
u32 new_add_flags, new_drop_flags, new_slot_info;
struct xhci_virt_device *virt_dev;
int ret = 0;
@@ -5625,7 +5570,7 @@ index 924a6cc..27b7d2f 100644
ret = xhci_check_args(hcd, udev, ep, 1, true, __func__);
if (ret <= 0) {
-@@ -1728,6 +1822,56 @@ int xhci_add_endpoint(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -1732,6 +1826,56 @@ int xhci_add_endpoint(struct usb_hcd *hc
return -ENOMEM;
}
@@ -5682,7 +5627,7 @@ index 924a6cc..27b7d2f 100644
ctrl_ctx->add_flags |= cpu_to_le32(added_ctxs);
new_add_flags = le32_to_cpu(ctrl_ctx->add_flags);
-@@ -2722,7 +2866,7 @@ int xhci_check_bandwidth(struct usb_hcd *hcd, struct usb_device *udev)
+@@ -2726,7 +2870,7 @@ int xhci_check_bandwidth(struct usb_hcd
if (ctrl_ctx->add_flags == cpu_to_le32(SLOT_FLAG) &&
ctrl_ctx->drop_flags == 0)
return 0;
@@ -5691,7 +5636,7 @@ index 924a6cc..27b7d2f 100644
xhci_dbg(xhci, "New Input Control Context:\n");
slot_ctx = xhci_get_slot_ctx(xhci, virt_dev->in_ctx);
xhci_dbg_ctx(xhci, virt_dev->in_ctx,
-@@ -4349,10 +4493,14 @@ static u16 xhci_call_host_update_timeout_for_endpoint(struct xhci_hcd *xhci,
+@@ -4352,10 +4496,14 @@ static u16 xhci_call_host_update_timeout
u16 *timeout)
{
if (state == USB3_LPM_U1) {
@@ -5706,7 +5651,7 @@ index 924a6cc..27b7d2f 100644
return xhci_calculate_intel_u2_timeout(udev, desc);
}
-@@ -4737,7 +4885,9 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
+@@ -4740,7 +4888,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 :| */
@@ -5716,7 +5661,7 @@ index 924a6cc..27b7d2f 100644
if (usb_hcd_is_primary_hcd(hcd)) {
xhci = kzalloc(sizeof(struct xhci_hcd), GFP_KERNEL);
-@@ -4800,6 +4950,10 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
+@@ -4803,6 +4953,10 @@ int xhci_gen_setup(struct usb_hcd *hcd,
goto error;
xhci_dbg(xhci, "Reset complete\n");
@@ -5727,7 +5672,7 @@ index 924a6cc..27b7d2f 100644
/* Set dma_mask and coherent_dma_mask to 64-bits,
* if xHC supports 64-bit addressing */
if (HCC_64BIT_ADDR(xhci->hcc_params) &&
-@@ -4824,8 +4978,21 @@ MODULE_DESCRIPTION(DRIVER_DESC);
+@@ -4827,8 +4981,21 @@ MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_LICENSE("GPL");
@@ -5749,7 +5694,7 @@ index 924a6cc..27b7d2f 100644
int retval;
retval = xhci_register_pci();
-@@ -4838,6 +5005,33 @@ static int __init xhci_hcd_init(void)
+@@ -4841,6 +5008,33 @@ static int __init xhci_hcd_init(void)
pr_debug("Problem registering platform driver.\n");
goto unreg_pci;
}
@@ -5783,7 +5728,7 @@ index 924a6cc..27b7d2f 100644
/*
* Check the compiler generated sizes of structures that must be laid
* out in specific ways for hardware access.
-@@ -4855,6 +5049,7 @@ static int __init xhci_hcd_init(void)
+@@ -4858,6 +5052,7 @@ static int __init xhci_hcd_init(void)
BUILD_BUG_ON(sizeof(struct xhci_intr_reg) != 8*32/8);
/* xhci_run_regs has eight fields and embeds 128 xhci_intr_regs */
BUILD_BUG_ON(sizeof(struct xhci_run_regs) != (8+8*128)*32/8);
@@ -5791,8 +5736,6 @@ index 924a6cc..27b7d2f 100644
return 0;
unreg_pci:
xhci_unregister_pci();
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index 58ed9d0..dda072f 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -29,9 +29,24 @@
@@ -5821,7 +5764,7 @@ index 58ed9d0..dda072f 100644
/* xHCI PCI Configuration Registers */
#define XHCI_SBRN_OFFSET (0x60)
-@@ -1579,8 +1594,12 @@ struct xhci_hcd {
+@@ -1577,8 +1592,12 @@ struct xhci_hcd {
/* Compliance Mode Recovery Data */
struct timer_list comp_mode_recovery_timer;
u32 port_status_u0;
@@ -5834,7 +5777,7 @@ index 58ed9d0..dda072f 100644
};
/* convert between an HCD pointer and the corresponding EHCI_HCD */
-@@ -1728,7 +1747,7 @@ void xhci_urb_free_priv(struct xhci_hcd *xhci, struct urb_priv *urb_priv);
+@@ -1726,7 +1745,7 @@ void xhci_urb_free_priv(struct xhci_hcd
void xhci_free_command(struct xhci_hcd *xhci,
struct xhci_command *command);
@@ -5843,6 +5786,3 @@ index 58ed9d0..dda072f 100644
/* xHCI PCI glue */
int xhci_register_pci(void);
void xhci_unregister_pci(void);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0041-mtd-fix-cfi-cmdset-0002-erase-status-check.patch b/target/linux/ramips/patches-3.14/0041-mtd-fix-cfi-cmdset-0002-erase-status-check.patch
index 871e8c1771..c9f66b1ec7 100644
--- a/target/linux/ramips/patches-3.14/0041-mtd-fix-cfi-cmdset-0002-erase-status-check.patch
+++ b/target/linux/ramips/patches-3.14/0041-mtd-fix-cfi-cmdset-0002-erase-status-check.patch
@@ -7,11 +7,9 @@ Subject: [PATCH 41/57] mtd: fix cfi cmdset 0002 erase status check
drivers/mtd/chips/cfi_cmdset_0002.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
-index 89b9d68..8d92fc1 100644
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -1956,7 +1956,7 @@ static int __xipram do_erase_chip(struct map_info *map, struct flchip *chip)
+@@ -1957,7 +1957,7 @@ static int __xipram do_erase_chip(struct
chip->erase_suspended = 0;
}
@@ -20,7 +18,7 @@ index 89b9d68..8d92fc1 100644
break;
if (time_after(jiffies, timeo)) {
-@@ -2045,7 +2045,7 @@ static int __xipram do_erase_oneblock(struct map_info *map, struct flchip *chip,
+@@ -2046,7 +2046,7 @@ static int __xipram do_erase_oneblock(st
chip->erase_suspended = 0;
}
@@ -29,6 +27,3 @@ index 89b9d68..8d92fc1 100644
xip_enable(map, chip, adr);
break;
}
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0042-mtd-cfi-cmdset-0002-force-word-write.patch b/target/linux/ramips/patches-3.14/0042-mtd-cfi-cmdset-0002-force-word-write.patch
index ecee46447a..cdbea00692 100644
--- a/target/linux/ramips/patches-3.14/0042-mtd-cfi-cmdset-0002-force-word-write.patch
+++ b/target/linux/ramips/patches-3.14/0042-mtd-cfi-cmdset-0002-force-word-write.patch
@@ -7,8 +7,6 @@ Subject: [PATCH 42/57] mtd: cfi cmdset 0002 force word write
drivers/mtd/chips/cfi_cmdset_0002.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
-diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
-index 8d92fc1..aa06d16 100644
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -41,7 +41,7 @@
@@ -30,7 +28,7 @@ index 8d92fc1..aa06d16 100644
static int cfi_amdstd_erase_chip(struct mtd_info *, struct erase_info *);
static int cfi_amdstd_erase_varsize(struct mtd_info *, struct erase_info *);
static void cfi_amdstd_sync (struct mtd_info *);
-@@ -192,6 +194,7 @@ static void fixup_amd_bootblock(struct mtd_info *mtd)
+@@ -192,6 +194,7 @@ static void fixup_amd_bootblock(struct m
}
#endif
@@ -38,7 +36,7 @@ index 8d92fc1..aa06d16 100644
static void fixup_use_write_buffers(struct mtd_info *mtd)
{
struct map_info *map = mtd->priv;
-@@ -201,6 +204,7 @@ static void fixup_use_write_buffers(struct mtd_info *mtd)
+@@ -201,6 +204,7 @@ static void fixup_use_write_buffers(stru
mtd->_write = cfi_amdstd_write_buffers;
}
}
@@ -46,7 +44,7 @@ index 8d92fc1..aa06d16 100644
/* Atmel chips don't use the same PRI format as AMD chips */
static void fixup_convert_atmel_pri(struct mtd_info *mtd)
-@@ -1461,6 +1465,7 @@ static int cfi_amdstd_write_words(struct mtd_info *mtd, loff_t to, size_t len,
+@@ -1461,6 +1465,7 @@ static int cfi_amdstd_write_words(struct
/*
* FIXME: interleaved mode not tested, and probably not supported!
*/
@@ -54,7 +52,7 @@ index 8d92fc1..aa06d16 100644
static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
unsigned long adr, const u_char *buf,
int len)
-@@ -1584,7 +1589,6 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
+@@ -1585,7 +1590,6 @@ static int __xipram do_write_buffer(stru
return ret;
}
@@ -62,7 +60,7 @@ index 8d92fc1..aa06d16 100644
static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
size_t *retlen, const u_char *buf)
{
-@@ -1659,6 +1663,7 @@ static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
+@@ -1660,6 +1664,7 @@ static int cfi_amdstd_write_buffers(stru
return 0;
}
@@ -70,6 +68,3 @@ index 8d92fc1..aa06d16 100644
/*
* Wait for the flash chip to become ready to write data
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0043-mtd-ralink-add-mt7620-nand-driver.patch b/target/linux/ramips/patches-3.14/0043-mtd-ralink-add-mt7620-nand-driver.patch
index 6619efd400..8ee26d5182 100644
--- a/target/linux/ramips/patches-3.14/0043-mtd-ralink-add-mt7620-nand-driver.patch
+++ b/target/linux/ramips/patches-3.14/0043-mtd-ralink-add-mt7620-nand-driver.patch
@@ -13,8 +13,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 drivers/mtd/maps/ralink_nand.c
create mode 100644 drivers/mtd/maps/ralink_nand.h
-diff --git a/drivers/mtd/maps/Kconfig b/drivers/mtd/maps/Kconfig
-index 310dc7c..344f460d 100644
--- a/drivers/mtd/maps/Kconfig
+++ b/drivers/mtd/maps/Kconfig
@@ -399,4 +399,8 @@ config MTD_LATCH_ADDR
@@ -26,8 +24,6 @@ index 310dc7c..344f460d 100644
+ depends on RALINK && SOC_MT7620
+
endmenu
-diff --git a/drivers/mtd/maps/Makefile b/drivers/mtd/maps/Makefile
-index 141c91a..94d2aa0 100644
--- a/drivers/mtd/maps/Makefile
+++ b/drivers/mtd/maps/Makefile
@@ -43,3 +43,5 @@ obj-$(CONFIG_MTD_VMU) += vmu-flash.o
@@ -36,9 +32,6 @@ index 141c91a..94d2aa0 100644
obj-$(CONFIG_MTD_LANTIQ) += lantiq-flash.o
+obj-$(CONFIG_MTD_NAND_MT7620) += ralink_nand.o
+
-diff --git a/drivers/mtd/maps/ralink_nand.c b/drivers/mtd/maps/ralink_nand.c
-new file mode 100644
-index 0000000..64f9119
--- /dev/null
+++ b/drivers/mtd/maps/ralink_nand.c
@@ -0,0 +1,2136 @@
@@ -2178,9 +2171,6 @@ index 0000000..64f9119
+
+
+MODULE_LICENSE("GPL");
-diff --git a/drivers/mtd/maps/ralink_nand.h b/drivers/mtd/maps/ralink_nand.h
-new file mode 100644
-index 0000000..a408ae9
--- /dev/null
+++ b/drivers/mtd/maps/ralink_nand.h
@@ -0,0 +1,232 @@
@@ -2416,6 +2406,3 @@ index 0000000..a408ae9
+
+
+#endif
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0044-mtd-add-chunked-read-io-to-m25p80.patch b/target/linux/ramips/patches-3.14/0044-mtd-add-chunked-read-io-to-m25p80.patch
index 214e660f68..8d6fac7221 100644
--- a/target/linux/ramips/patches-3.14/0044-mtd-add-chunked-read-io-to-m25p80.patch
+++ b/target/linux/ramips/patches-3.14/0044-mtd-add-chunked-read-io-to-m25p80.patch
@@ -8,11 +8,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/mtd/devices/m25p80.c | 128 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 128 insertions(+)
-diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
-index ad19139..6f4290e 100644
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
-@@ -556,6 +556,58 @@ static int m25p80_read(struct mtd_info *mtd, loff_t from, size_t len,
+@@ -562,6 +562,58 @@ static int m25p80_read(struct mtd_info *
return 0;
}
@@ -71,7 +69,7 @@ index ad19139..6f4290e 100644
/*
* Write an address range to the flash chip. Data must be written in
* FLASH_PAGESIZE chunks. The address range may be any size provided
-@@ -643,6 +695,76 @@ static int m25p80_write(struct mtd_info *mtd, loff_t to, size_t len,
+@@ -649,6 +701,76 @@ static int m25p80_write(struct mtd_info
return 0;
}
@@ -148,7 +146,7 @@ index ad19139..6f4290e 100644
static int sst_write(struct mtd_info *mtd, loff_t to, size_t len,
size_t *retlen, const u_char *buf)
{
-@@ -1252,6 +1374,12 @@ static int m25p_probe(struct spi_device *spi)
+@@ -1260,6 +1382,12 @@ static int m25p_probe(struct spi_device
return -EINVAL;
}
@@ -161,6 +159,3 @@ index ad19139..6f4290e 100644
flash->program_opcode = OPCODE_PP;
if (info->addr_width)
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0045-mtd-add-mt7621-nand-support.patch b/target/linux/ramips/patches-3.14/0045-mtd-add-mt7621-nand-support.patch
index 08a0647f27..dea49b169b 100644
--- a/target/linux/ramips/patches-3.14/0045-mtd-add-mt7621-nand-support.patch
+++ b/target/linux/ramips/patches-3.14/0045-mtd-add-mt7621-nand-support.patch
@@ -29,8 +29,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 drivers/mtd/nand/nand_device_list.h
create mode 100644 drivers/mtd/nand/partition.h
-diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
-index 90ff447..5cafa39 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -510,4 +510,10 @@ config MTD_NAND_XWAY
@@ -44,20 +42,15 @@ index 90ff447..5cafa39 100644
+ select MTD_NAND_ECC
+
endif # MTD_NAND
-diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile
-index 542b568..c68c96c 100644
--- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile
-@@ -49,5 +49,6 @@ obj-$(CONFIG_MTD_NAND_JZ4740) += jz4740_nand.o
+@@ -49,5 +49,6 @@ obj-$(CONFIG_MTD_NAND_JZ4740) += jz4740
obj-$(CONFIG_MTD_NAND_GPMI_NAND) += gpmi-nand/
obj-$(CONFIG_MTD_NAND_XWAY) += xway_nand.o
obj-$(CONFIG_MTD_NAND_BCM47XXNFLASH) += bcm47xxnflash/
+obj-$(CONFIG_MTK_MTD_NAND) += mtk_nand.o bmt.o
nand-objs := nand_base.o nand_bbt.o
-diff --git a/drivers/mtd/nand/bmt.c b/drivers/mtd/nand/bmt.c
-new file mode 100644
-index 0000000..0462871
--- /dev/null
+++ b/drivers/mtd/nand/bmt.c
@@ -0,0 +1,750 @@
@@ -811,9 +804,6 @@ index 0000000..0462871
+MODULE_AUTHOR("MediaTek");
+MODULE_DESCRIPTION("Bad Block mapping management for MediaTek NAND Flash Driver");
+#endif
-diff --git a/drivers/mtd/nand/bmt.h b/drivers/mtd/nand/bmt.h
-new file mode 100644
-index 0000000..2d30ea9
--- /dev/null
+++ b/drivers/mtd/nand/bmt.h
@@ -0,0 +1,80 @@
@@ -897,9 +887,6 @@ index 0000000..2d30ea9
+unsigned short get_mapping_block_index(int index);
+
+#endif // #ifndef __BMT_H__
-diff --git a/drivers/mtd/nand/dev-nand.c b/drivers/mtd/nand/dev-nand.c
-new file mode 100644
-index 0000000..9fb5235
--- /dev/null
+++ b/drivers/mtd/nand/dev-nand.c
@@ -0,0 +1,63 @@
@@ -966,9 +953,6 @@ index 0000000..9fb5235
+ return retval;
+}
+arch_initcall(mtk_nand_register);
-diff --git a/drivers/mtd/nand/mt6575_typedefs.h b/drivers/mtd/nand/mt6575_typedefs.h
-new file mode 100644
-index 0000000..a7b9647
--- /dev/null
+++ b/drivers/mtd/nand/mt6575_typedefs.h
@@ -0,0 +1,340 @@
@@ -1312,9 +1296,6 @@ index 0000000..a7b9647
+
+#endif // _MT6575_TYPEDEFS_H
+
-diff --git a/drivers/mtd/nand/mtk_nand.c b/drivers/mtd/nand/mtk_nand.c
-new file mode 100644
-index 0000000..00e150c
--- /dev/null
+++ b/drivers/mtd/nand/mtk_nand.c
@@ -0,0 +1,2304 @@
@@ -3622,9 +3603,6 @@ index 0000000..00e150c
+module_init(mtk_nand_init);
+module_exit(mtk_nand_exit);
+MODULE_LICENSE("GPL");
-diff --git a/drivers/mtd/nand/mtk_nand.h b/drivers/mtd/nand/mtk_nand.h
-new file mode 100644
-index 0000000..6db88c4
--- /dev/null
+++ b/drivers/mtd/nand/mtk_nand.h
@@ -0,0 +1,452 @@
@@ -4080,11 +4058,9 @@ index 0000000..6db88c4
+extern u32 CFG_BLOCKSIZE;
+#endif
+#endif
-diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
-index 9715a7b..86e2a12 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
-@@ -92,7 +92,7 @@ static struct nand_ecclayout nand_oob_128 = {
+@@ -92,7 +92,7 @@ static struct nand_ecclayout nand_oob_12
.length = 78} }
};
@@ -4093,7 +4069,7 @@ index 9715a7b..86e2a12 100644
static int nand_do_write_oob(struct mtd_info *mtd, loff_t to,
struct mtd_oob_ops *ops);
-@@ -130,7 +130,7 @@ static int check_offs_len(struct mtd_info *mtd,
+@@ -130,7 +130,7 @@ static int check_offs_len(struct mtd_inf
*
* Release chip lock and wake up anyone waiting on the device.
*/
@@ -4102,7 +4078,7 @@ index 9715a7b..86e2a12 100644
{
struct nand_chip *chip = mtd->priv;
-@@ -783,7 +783,7 @@ static void panic_nand_get_device(struct nand_chip *chip,
+@@ -783,7 +783,7 @@ static void panic_nand_get_device(struct
*
* Get the device and lock it for exclusive access
*/
@@ -4111,11 +4087,9 @@ index 9715a7b..86e2a12 100644
nand_get_device(struct mtd_info *mtd, int new_state)
{
struct nand_chip *chip = mtd->priv;
-diff --git a/drivers/mtd/nand/nand_bbt.c b/drivers/mtd/nand/nand_bbt.c
-index c0615d1..b34cb41 100644
--- a/drivers/mtd/nand/nand_bbt.c
+++ b/drivers/mtd/nand/nand_bbt.c
-@@ -1360,4 +1360,23 @@ int nand_markbad_bbt(struct mtd_info *mtd, loff_t offs)
+@@ -1360,4 +1360,23 @@ int nand_markbad_bbt(struct mtd_info *mt
return ret;
}
@@ -4139,9 +4113,6 @@ index c0615d1..b34cb41 100644
+}
+
EXPORT_SYMBOL(nand_scan_bbt);
-diff --git a/drivers/mtd/nand/nand_def.h b/drivers/mtd/nand/nand_def.h
-new file mode 100644
-index 0000000..82e957d
--- /dev/null
+++ b/drivers/mtd/nand/nand_def.h
@@ -0,0 +1,123 @@
@@ -4268,9 +4239,6 @@ index 0000000..82e957d
+#include "mt6575_typedefs.h"
+
+#endif /* __NAND_DEF_H__ */
-diff --git a/drivers/mtd/nand/nand_device_list.h b/drivers/mtd/nand/nand_device_list.h
-new file mode 100644
-index 0000000..4c36b3a
--- /dev/null
+++ b/drivers/mtd/nand/nand_device_list.h
@@ -0,0 +1,55 @@
@@ -4329,9 +4297,6 @@ index 0000000..4c36b3a
+
+
+#endif
-diff --git a/drivers/mtd/nand/partition.h b/drivers/mtd/nand/partition.h
-new file mode 100644
-index 0000000..034e1af
--- /dev/null
+++ b/drivers/mtd/nand/partition.h
@@ -0,0 +1,115 @@
@@ -4450,6 +4415,3 @@ index 0000000..034e1af
+//#endif
+#undef RECONFIG_PARTITION_SIZE
+
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0046-DT-Add-documentation-for-gpio-ralink.patch b/target/linux/ramips/patches-3.14/0046-DT-Add-documentation-for-gpio-ralink.patch
index 36b56b4910..4c869eb858 100644
--- a/target/linux/ramips/patches-3.14/0046-DT-Add-documentation-for-gpio-ralink.patch
+++ b/target/linux/ramips/patches-3.14/0046-DT-Add-documentation-for-gpio-ralink.patch
@@ -14,9 +14,6 @@ Cc: linux-gpio@vger.kernel.org
1 file changed, 40 insertions(+)
create mode 100644 Documentation/devicetree/bindings/gpio/gpio-ralink.txt
-diff --git a/Documentation/devicetree/bindings/gpio/gpio-ralink.txt b/Documentation/devicetree/bindings/gpio/gpio-ralink.txt
-new file mode 100644
-index 0000000..b4acf02
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-ralink.txt
@@ -0,0 +1,40 @@
@@ -60,6 +57,3 @@ index 0000000..b4acf02
+ 30 34 ];
+
+ };
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0047-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch b/target/linux/ramips/patches-3.14/0047-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch
index bbdd522934..6518e5679e 100644
--- a/target/linux/ramips/patches-3.14/0047-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch
+++ b/target/linux/ramips/patches-3.14/0047-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch
@@ -18,9 +18,6 @@ Cc: linux-gpio@vger.kernel.org
create mode 100644 arch/mips/include/asm/mach-ralink/gpio.h
create mode 100644 drivers/gpio/gpio-ralink.c
-diff --git a/arch/mips/include/asm/mach-ralink/gpio.h b/arch/mips/include/asm/mach-ralink/gpio.h
-new file mode 100644
-index 0000000..f68ee16
--- /dev/null
+++ b/arch/mips/include/asm/mach-ralink/gpio.h
@@ -0,0 +1,24 @@
@@ -48,8 +45,6 @@ index 0000000..f68ee16
+#define gpio_to_irq __gpio_to_irq
+
+#endif /* __ASM_MACH_RALINK_GPIO_H */
-diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
-index 903f24d..2d75a68 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -260,6 +260,12 @@ config GPIO_SCH311X
@@ -65,11 +60,9 @@ index 903f24d..2d75a68 100644
config GPIO_SPEAR_SPICS
bool "ST SPEAr13xx SPI Chip Select as GPIO support"
depends on PLAT_SPEAR
-diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
-index 5d50179..2cbdbe6 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
-@@ -63,6 +63,7 @@ obj-$(CONFIG_GPIO_PCF857X) += gpio-pcf857x.o
+@@ -63,6 +63,7 @@ obj-$(CONFIG_GPIO_PCF857X) += gpio-pcf85
obj-$(CONFIG_GPIO_PCH) += gpio-pch.o
obj-$(CONFIG_GPIO_PL061) += gpio-pl061.o
obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o
@@ -77,9 +70,6 @@ index 5d50179..2cbdbe6 100644
obj-$(CONFIG_GPIO_RC5T583) += gpio-rc5t583.o
obj-$(CONFIG_GPIO_RDC321X) += gpio-rdc321x.o
obj-$(CONFIG_GPIO_RCAR) += gpio-rcar.o
-diff --git a/drivers/gpio/gpio-ralink.c b/drivers/gpio/gpio-ralink.c
-new file mode 100644
-index 0000000..7e5a2e9
--- /dev/null
+++ b/drivers/gpio/gpio-ralink.c
@@ -0,0 +1,345 @@
@@ -428,6 +418,3 @@ index 0000000..7e5a2e9
+}
+
+subsys_initcall(ralink_gpio_init);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0048-GPIO-ralink-add-mt7621-gpio-controller.patch b/target/linux/ramips/patches-3.14/0048-GPIO-ralink-add-mt7621-gpio-controller.patch
index 9aa03a0949..bdc68b205c 100644
--- a/target/linux/ramips/patches-3.14/0048-GPIO-ralink-add-mt7621-gpio-controller.patch
+++ b/target/linux/ramips/patches-3.14/0048-GPIO-ralink-add-mt7621-gpio-controller.patch
@@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
4 files changed, 187 insertions(+)
create mode 100644 drivers/gpio/gpio-mt7621.c
-diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
-index 4ac98ca..fd3bbb1 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -437,6 +437,9 @@ config RALINK
@@ -26,8 +24,6 @@ index 4ac98ca..fd3bbb1 100644
config SGI_IP22
bool "SGI IP22 (Indy/Indigo2)"
-diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
-index 2d75a68..5dff8d5 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -827,6 +827,12 @@ config GPIO_BCM_KONA
@@ -43,18 +39,13 @@ index 2d75a68..5dff8d5 100644
comment "USB GPIO expanders:"
config GPIO_VIPERBOARD
-diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
-index 2cbdbe6..2365e34 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
-@@ -100,3 +100,4 @@ obj-$(CONFIG_GPIO_WM8350) += gpio-wm8350.o
+@@ -100,3 +100,4 @@ obj-$(CONFIG_GPIO_WM8350) += gpio-wm8350
obj-$(CONFIG_GPIO_WM8994) += gpio-wm8994.o
obj-$(CONFIG_GPIO_XILINX) += gpio-xilinx.o
obj-$(CONFIG_GPIO_XTENSA) += gpio-xtensa.o
+obj-$(CONFIG_GPIO_MT7621) += gpio-mt7621.o
-diff --git a/drivers/gpio/gpio-mt7621.c b/drivers/gpio/gpio-mt7621.c
-new file mode 100644
-index 0000000..7ae7eb9
--- /dev/null
+++ b/drivers/gpio/gpio-mt7621.c
@@ -0,0 +1,177 @@
@@ -235,6 +226,3 @@ index 0000000..7ae7eb9
+}
+
+subsys_initcall(mediatek_gpio_init);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0049-DT-Add-documentation-for-spi-rt2880.patch b/target/linux/ramips/patches-3.14/0049-DT-Add-documentation-for-spi-rt2880.patch
index 902334e0fa..23a6b3eadc 100644
--- a/target/linux/ramips/patches-3.14/0049-DT-Add-documentation-for-spi-rt2880.patch
+++ b/target/linux/ramips/patches-3.14/0049-DT-Add-documentation-for-spi-rt2880.patch
@@ -11,9 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
1 file changed, 28 insertions(+)
create mode 100644 Documentation/devicetree/bindings/spi/spi-rt2880.txt
-diff --git a/Documentation/devicetree/bindings/spi/spi-rt2880.txt b/Documentation/devicetree/bindings/spi/spi-rt2880.txt
-new file mode 100644
-index 0000000..068bc90
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-rt2880.txt
@@ -0,0 +1,28 @@
@@ -45,6 +42,3 @@ index 0000000..068bc90
+ };
+ };
+
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0050-SPI-ralink-add-Ralink-SoC-spi-driver.patch b/target/linux/ramips/patches-3.14/0050-SPI-ralink-add-Ralink-SoC-spi-driver.patch
index f446689948..e7be1f594c 100644
--- a/target/linux/ramips/patches-3.14/0050-SPI-ralink-add-Ralink-SoC-spi-driver.patch
+++ b/target/linux/ramips/patches-3.14/0050-SPI-ralink-add-Ralink-SoC-spi-driver.patch
@@ -14,11 +14,9 @@ Acked-by: John Crispin <blogic@openwrt.org>
3 files changed, 439 insertions(+)
create mode 100644 drivers/spi/spi-rt2880.c
-diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index 581ee2a..009f8f3 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
-@@ -381,6 +381,12 @@ config SPI_RSPI
+@@ -390,6 +390,12 @@ config SPI_RSPI
help
SPI driver for Renesas RSPI and QSPI blocks.
@@ -31,11 +29,9 @@ index 581ee2a..009f8f3 100644
config SPI_S3C24XX
tristate "Samsung S3C24XX series SPI"
depends on ARCH_S3C24XX
-diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
-index 95af48d..1f647e5 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
-@@ -60,6 +60,7 @@ spi-pxa2xx-platform-$(CONFIG_SPI_PXA2XX_DMA) += spi-pxa2xx-dma.o
+@@ -61,6 +61,7 @@ spi-pxa2xx-platform-$(CONFIG_SPI_PXA2XX_
obj-$(CONFIG_SPI_PXA2XX) += spi-pxa2xx-platform.o
obj-$(CONFIG_SPI_PXA2XX_PCI) += spi-pxa2xx-pci.o
obj-$(CONFIG_SPI_RSPI) += spi-rspi.o
@@ -43,9 +39,6 @@ index 95af48d..1f647e5 100644
obj-$(CONFIG_SPI_S3C24XX) += spi-s3c24xx-hw.o
spi-s3c24xx-hw-y := spi-s3c24xx.o
spi-s3c24xx-hw-$(CONFIG_SPI_S3C24XX_FIQ) += spi-s3c24xx-fiq.o
-diff --git a/drivers/spi/spi-rt2880.c b/drivers/spi/spi-rt2880.c
-new file mode 100644
-index 0000000..ac9de67
--- /dev/null
+++ b/drivers/spi/spi-rt2880.c
@@ -0,0 +1,432 @@
@@ -481,6 +474,3 @@ index 0000000..ac9de67
+MODULE_AUTHOR("Sergiy <piratfm@gmail.com>");
+MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
+MODULE_LICENSE("GPL");
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0051-SPI-MIPS-ralink-add-mt7621-support.patch b/target/linux/ramips/patches-3.14/0051-SPI-MIPS-ralink-add-mt7621-support.patch
index 2c5a9c5e76..2cf147bec6 100644
--- a/target/linux/ramips/patches-3.14/0051-SPI-MIPS-ralink-add-mt7621-support.patch
+++ b/target/linux/ramips/patches-3.14/0051-SPI-MIPS-ralink-add-mt7621-support.patch
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/spi/spi-rt2880.c | 218 +++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 205 insertions(+), 13 deletions(-)
-diff --git a/drivers/spi/spi-rt2880.c b/drivers/spi/spi-rt2880.c
-index ac9de67..1c6b72d 100644
--- a/drivers/spi/spi-rt2880.c
+++ b/drivers/spi/spi-rt2880.c
@@ -21,8 +21,13 @@
@@ -61,7 +59,7 @@ index ac9de67..1c6b72d 100644
};
static inline struct rt2880_spi *spidev_to_rt2880_spi(struct spi_device *spi)
-@@ -149,6 +175,17 @@ static int rt2880_spi_baudrate_set(struct spi_device *spi, unsigned int speed)
+@@ -149,6 +175,17 @@ static int rt2880_spi_baudrate_set(struc
return 0;
}
@@ -79,7 +77,7 @@ index ac9de67..1c6b72d 100644
/*
* called only when no transfer is active on the bus
*/
-@@ -164,7 +201,7 @@ rt2880_spi_setup_transfer(struct spi_device *spi, struct spi_transfer *t)
+@@ -164,7 +201,7 @@ rt2880_spi_setup_transfer(struct spi_dev
if (rs->speed != speed) {
dev_dbg(&spi->dev, "speed_hz:%u\n", speed);
@@ -88,7 +86,7 @@ index ac9de67..1c6b72d 100644
if (rc)
return rc;
}
-@@ -180,6 +217,17 @@ static void rt2880_spi_set_cs(struct rt2880_spi *rs, int enable)
+@@ -180,6 +217,17 @@ static void rt2880_spi_set_cs(struct rt2
rt2880_spi_setbits(rs, RAMIPS_SPI_CTL, SPICTL_SPIENA);
}
@@ -106,7 +104,7 @@ index ac9de67..1c6b72d 100644
static inline int rt2880_spi_wait_till_ready(struct rt2880_spi *rs)
{
int i;
-@@ -198,8 +246,26 @@ static inline int rt2880_spi_wait_till_ready(struct rt2880_spi *rs)
+@@ -198,8 +246,26 @@ static inline int rt2880_spi_wait_till_r
return -ETIMEDOUT;
}
@@ -235,7 +233,7 @@ index ac9de67..1c6b72d 100644
static int rt2880_spi_transfer_one_message(struct spi_master *master,
struct spi_message *m)
{
-@@ -280,25 +440,25 @@ static int rt2880_spi_transfer_one_message(struct spi_master *master,
+@@ -280,25 +440,25 @@ static int rt2880_spi_transfer_one_messa
}
if (!cs_active) {
@@ -265,7 +263,7 @@ index ac9de67..1c6b72d 100644
m->status = status;
spi_finalize_current_message(master);
-@@ -334,8 +494,41 @@ static void rt2880_spi_reset(struct rt2880_spi *rs)
+@@ -334,8 +494,41 @@ static void rt2880_spi_reset(struct rt28
rt2880_spi_write(rs, RAMIPS_SPI_CTL, SPICTL_HIZSDO | SPICTL_SPIENA);
}
@@ -307,7 +305,7 @@ index ac9de67..1c6b72d 100644
struct spi_master *master;
struct rt2880_spi *rs;
unsigned long flags;
-@@ -344,6 +537,10 @@ static int rt2880_spi_probe(struct platform_device *pdev)
+@@ -344,6 +537,10 @@ static int rt2880_spi_probe(struct platf
int status = 0;
struct clk *clk;
@@ -318,7 +316,7 @@ index ac9de67..1c6b72d 100644
r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
base = devm_ioremap_resource(&pdev->dev, r);
if (IS_ERR(base))
-@@ -382,12 +579,13 @@ static int rt2880_spi_probe(struct platform_device *pdev)
+@@ -382,12 +579,13 @@ static int rt2880_spi_probe(struct platf
rs->clk = clk;
rs->master = master;
rs->sys_freq = clk_get_rate(rs->clk);
@@ -333,7 +331,7 @@ index ac9de67..1c6b72d 100644
return spi_register_master(master);
}
-@@ -408,12 +606,6 @@ static int rt2880_spi_remove(struct platform_device *pdev)
+@@ -408,12 +606,6 @@ static int rt2880_spi_remove(struct plat
MODULE_ALIAS("platform:" DRIVER_NAME);
@@ -346,6 +344,3 @@ index ac9de67..1c6b72d 100644
static struct platform_driver rt2880_spi_driver = {
.driver = {
.name = DRIVER_NAME,
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0052-i2c-MIPS-adds-ralink-I2C-driver.patch b/target/linux/ramips/patches-3.14/0052-i2c-MIPS-adds-ralink-I2C-driver.patch
index ad7d442eda..3522bda103 100644
--- a/target/linux/ramips/patches-3.14/0052-i2c-MIPS-adds-ralink-I2C-driver.patch
+++ b/target/linux/ramips/patches-3.14/0052-i2c-MIPS-adds-ralink-I2C-driver.patch
@@ -13,10 +13,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 Documentation/devicetree/bindings/i2c/i2c-ralink.txt
create mode 100644 drivers/i2c/busses/i2c-ralink.c
-Index: linux-3.14.16/Documentation/devicetree/bindings/i2c/i2c-ralink.txt
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/Documentation/devicetree/bindings/i2c/i2c-ralink.txt 2014-08-24 16:03:20.586671002 +0200
+--- /dev/null
++++ b/Documentation/devicetree/bindings/i2c/i2c-ralink.txt
@@ -0,0 +1,27 @@
+I2C for Ralink platforms
+
@@ -45,11 +43,9 @@ Index: linux-3.14.16/Documentation/devicetree/bindings/i2c/i2c-ralink.txt
+ };
+ };
+};
-Index: linux-3.14.16/drivers/i2c/busses/Kconfig
-===================================================================
---- linux-3.14.16.orig/drivers/i2c/busses/Kconfig 2014-08-08 01:50:59.000000000 +0200
-+++ linux-3.14.16/drivers/i2c/busses/Kconfig 2014-08-24 16:03:20.586671002 +0200
-@@ -659,6 +659,10 @@
+--- a/drivers/i2c/busses/Kconfig
++++ b/drivers/i2c/busses/Kconfig
+@@ -659,6 +659,10 @@ config I2C_RIIC
This driver can also be built as a module. If so, the module
will be called i2c-riic.
@@ -60,11 +56,9 @@ Index: linux-3.14.16/drivers/i2c/busses/Kconfig
config HAVE_S3C2410_I2C
bool
help
-Index: linux-3.14.16/drivers/i2c/busses/Makefile
-===================================================================
---- linux-3.14.16.orig/drivers/i2c/busses/Makefile 2014-08-08 01:50:59.000000000 +0200
-+++ linux-3.14.16/drivers/i2c/busses/Makefile 2014-08-24 16:03:20.586671002 +0200
-@@ -63,6 +63,7 @@
+--- a/drivers/i2c/busses/Makefile
++++ b/drivers/i2c/busses/Makefile
+@@ -63,6 +63,7 @@ obj-$(CONFIG_I2C_PNX) += i2c-pnx.o
obj-$(CONFIG_I2C_PUV3) += i2c-puv3.o
obj-$(CONFIG_I2C_PXA) += i2c-pxa.o
obj-$(CONFIG_I2C_PXA_PCI) += i2c-pxa-pci.o
@@ -72,10 +66,8 @@ Index: linux-3.14.16/drivers/i2c/busses/Makefile
obj-$(CONFIG_I2C_RIIC) += i2c-riic.o
obj-$(CONFIG_I2C_S3C2410) += i2c-s3c2410.o
obj-$(CONFIG_I2C_S6000) += i2c-s6000.o
-Index: linux-3.14.16/drivers/i2c/busses/i2c-ralink.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/i2c/busses/i2c-ralink.c 2014-08-27 23:07:01.318731261 +0200
+--- /dev/null
++++ b/drivers/i2c/busses/i2c-ralink.c
@@ -0,0 +1,271 @@
+/*
+ * drivers/i2c/busses/i2c-ralink.c
diff --git a/target/linux/ramips/patches-3.14/0053-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch b/target/linux/ramips/patches-3.14/0053-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch
index 8470dde873..85207145d4 100644
--- a/target/linux/ramips/patches-3.14/0053-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch
+++ b/target/linux/ramips/patches-3.14/0053-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch
@@ -13,8 +13,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 drivers/mmc/host/mt6575_sd.h
create mode 100644 drivers/mmc/host/sdhci-mt7620.c
-diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
-index 1384f67..09a14cb 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -283,6 +283,17 @@ config MMC_SDHCI_BCM2835
@@ -35,11 +33,9 @@ index 1384f67..09a14cb 100644
config MMC_OMAP
tristate "TI OMAP Multimedia Card Interface support"
depends on ARCH_OMAP
-diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
-index 3483b6b..430824f 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
-@@ -64,6 +64,7 @@ obj-$(CONFIG_MMC_SDHCI_OF_ESDHC) += sdhci-of-esdhc.o
+@@ -65,6 +65,7 @@ obj-$(CONFIG_MMC_SDHCI_OF_ESDHC) += sdhc
obj-$(CONFIG_MMC_SDHCI_OF_HLWD) += sdhci-of-hlwd.o
obj-$(CONFIG_MMC_SDHCI_BCM_KONA) += sdhci-bcm-kona.o
obj-$(CONFIG_MMC_SDHCI_BCM2835) += sdhci-bcm2835.o
@@ -47,9 +43,6 @@ index 3483b6b..430824f 100644
ifeq ($(CONFIG_CB710_DEBUG),y)
CFLAGS-cb710-mmc += -DDEBUG
-diff --git a/drivers/mmc/host/mt6575_sd.h b/drivers/mmc/host/mt6575_sd.h
-new file mode 100644
-index 0000000..406382c
--- /dev/null
+++ b/drivers/mmc/host/mt6575_sd.h
@@ -0,0 +1,1068 @@
@@ -1121,9 +1114,6 @@ index 0000000..406382c
+
+#endif
+
-diff --git a/drivers/mmc/host/sdhci-mt7620.c b/drivers/mmc/host/sdhci-mt7620.c
-new file mode 100644
-index 0000000..a3cb5e4
--- /dev/null
+++ b/drivers/mmc/host/sdhci-mt7620.c
@@ -0,0 +1,2314 @@
@@ -3441,6 +3431,3 @@ index 0000000..a3cb5e4
+MODULE_AUTHOR("Infinity Chen <infinity.chen@mediatek.com>");
+
+EXPORT_SYMBOL(msdc_6575_host);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0054-DMA-ralink-add-rt2880-dma-engine.patch b/target/linux/ramips/patches-3.14/0054-DMA-ralink-add-rt2880-dma-engine.patch
index 28dd8964b2..39a3e5d6fd 100644
--- a/target/linux/ramips/patches-3.14/0054-DMA-ralink-add-rt2880-dma-engine.patch
+++ b/target/linux/ramips/patches-3.14/0054-DMA-ralink-add-rt2880-dma-engine.patch
@@ -13,8 +13,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
5 files changed, 611 insertions(+)
create mode 100644 drivers/dma/ralink-gdma.c
-diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
-index 605b016..a9b31ff 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -351,6 +351,12 @@ config MOXART_DMA
@@ -30,8 +28,6 @@ index 605b016..a9b31ff 100644
config DMA_ENGINE
bool
-diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile
-index a029d0f4..419ccc2 100644
--- a/drivers/dma/Makefile
+++ b/drivers/dma/Makefile
@@ -44,3 +44,4 @@ obj-$(CONFIG_DMA_JZ4740) += dma-jz4740.o
@@ -39,11 +35,9 @@ index a029d0f4..419ccc2 100644
obj-$(CONFIG_K3_DMA) += k3dma.o
obj-$(CONFIG_MOXART_DMA) += moxart-dma.o
+obj-$(CONFIG_DMA_RALINK) += ralink-gdma.o
-diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c
-index ed610b4..cc11e0b 100644
--- a/drivers/dma/dmaengine.c
+++ b/drivers/dma/dmaengine.c
-@@ -564,6 +564,32 @@ struct dma_chan *dma_get_any_slave_channel(struct dma_device *device)
+@@ -564,6 +564,32 @@ struct dma_chan *dma_get_any_slave_chann
EXPORT_SYMBOL_GPL(dma_get_any_slave_channel);
/**
@@ -76,9 +70,6 @@ index ed610b4..cc11e0b 100644
* __dma_request_channel - try to allocate an exclusive channel
* @mask: capabilities that the channel must satisfy
* @fn: optional callback to disposition available channels
-diff --git a/drivers/dma/ralink-gdma.c b/drivers/dma/ralink-gdma.c
-new file mode 100644
-index 0000000..2c3cace
--- /dev/null
+++ b/drivers/dma/ralink-gdma.c
@@ -0,0 +1,577 @@
@@ -659,11 +650,9 @@ index 0000000..2c3cace
+MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
+MODULE_DESCRIPTION("GDMA4740 DMA driver");
+MODULE_LICENSE("GPLv2");
-diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
-index c5c92d5..482131e 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
-@@ -1072,6 +1072,7 @@ struct dma_chan *dma_request_slave_channel_reason(struct device *dev,
+@@ -1073,6 +1073,7 @@ struct dma_chan *dma_request_slave_chann
const char *name);
struct dma_chan *dma_request_slave_channel(struct device *dev, const char *name);
void dma_release_channel(struct dma_chan *chan);
@@ -671,6 +660,3 @@ index c5c92d5..482131e 100644
#else
static inline struct dma_chan *dma_find_channel(enum dma_transaction_type tx_type)
{
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0055-asoc-add-mt7620-support.patch b/target/linux/ramips/patches-3.14/0055-asoc-add-mt7620-support.patch
index c1cef33764..55a61b096e 100644
--- a/target/linux/ramips/patches-3.14/0055-asoc-add-mt7620-support.patch
+++ b/target/linux/ramips/patches-3.14/0055-asoc-add-mt7620-support.patch
@@ -19,8 +19,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 sound/soc/ralink/mt7620-i2s.c
create mode 100644 sound/soc/ralink/mt7620-wm8960.c
-diff --git a/arch/mips/ralink/of.c b/arch/mips/ralink/of.c
-index 405b79c..dfda6e6 100644
--- a/arch/mips/ralink/of.c
+++ b/arch/mips/ralink/of.c
@@ -15,6 +15,7 @@
@@ -39,8 +37,6 @@ index 405b79c..dfda6e6 100644
__iomem void *rt_memc_membase;
extern struct boot_param_header __dtb_start;
-diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig
-index d62ce48..de91f58 100644
--- a/sound/soc/Kconfig
+++ b/sound/soc/Kconfig
@@ -47,6 +47,7 @@ source "sound/soc/kirkwood/Kconfig"
@@ -51,8 +47,6 @@ index d62ce48..de91f58 100644
source "sound/soc/samsung/Kconfig"
source "sound/soc/s6000/Kconfig"
source "sound/soc/sh/Kconfig"
-diff --git a/sound/soc/Makefile b/sound/soc/Makefile
-index 62a1822..1d9398c 100644
--- a/sound/soc/Makefile
+++ b/sound/soc/Makefile
@@ -24,6 +24,7 @@ obj-$(CONFIG_SND_SOC) += nuc900/
@@ -63,9 +57,6 @@ index 62a1822..1d9398c 100644
obj-$(CONFIG_SND_SOC) += samsung/
obj-$(CONFIG_SND_SOC) += s6000/
obj-$(CONFIG_SND_SOC) += sh/
-diff --git a/sound/soc/ralink/Kconfig b/sound/soc/ralink/Kconfig
-new file mode 100644
-index 0000000..d462622
--- /dev/null
+++ b/sound/soc/ralink/Kconfig
@@ -0,0 +1,15 @@
@@ -84,9 +75,6 @@ index 0000000..d462622
+ help
+ Say Y if you want to add support for ASoC audio on the Qi LB60 board
+ a.k.a Qi Ben NanoNote.
-diff --git a/sound/soc/ralink/Makefile b/sound/soc/ralink/Makefile
-new file mode 100644
-index 0000000..3d79980
--- /dev/null
+++ b/sound/soc/ralink/Makefile
@@ -0,0 +1,11 @@
@@ -101,9 +89,6 @@ index 0000000..3d79980
+snd-soc-mt7620-wm8960-objs := mt7620-wm8960.o
+
+obj-$(CONFIG_SND_MT7620_SOC_WM8960) += snd-soc-mt7620-wm8960.o
-diff --git a/sound/soc/ralink/mt7620-i2s.c b/sound/soc/ralink/mt7620-i2s.c
-new file mode 100644
-index 0000000..846db03
--- /dev/null
+++ b/sound/soc/ralink/mt7620-i2s.c
@@ -0,0 +1,466 @@
@@ -573,9 +558,6 @@ index 0000000..846db03
+MODULE_DESCRIPTION("Ingenic JZ4740 SoC I2S driver");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:mt7620-i2s");
-diff --git a/sound/soc/ralink/mt7620-wm8960.c b/sound/soc/ralink/mt7620-wm8960.c
-new file mode 100644
-index 0000000..c0f6389
--- /dev/null
+++ b/sound/soc/ralink/mt7620-wm8960.c
@@ -0,0 +1,125 @@
@@ -704,8 +686,6 @@ index 0000000..c0f6389
+MODULE_DESCRIPTION("ALSA SoC QI LB60 Audio support");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:qi-lb60-audio");
-diff --git a/sound/soc/soc-io.c b/sound/soc/soc-io.c
-index aa886cc..3fdc8c8 100644
--- a/sound/soc/soc-io.c
+++ b/sound/soc/soc-io.c
@@ -19,7 +19,6 @@
@@ -716,7 +696,7 @@ index aa886cc..3fdc8c8 100644
static int hw_write(struct snd_soc_codec *codec, unsigned int reg,
unsigned int value)
{
-@@ -135,12 +134,3 @@ int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
+@@ -135,12 +134,3 @@ int snd_soc_codec_set_cache_io(struct sn
return PTR_ERR_OR_ZERO(codec->control_data);
}
EXPORT_SYMBOL_GPL(snd_soc_codec_set_cache_io);
@@ -729,6 +709,3 @@ index aa886cc..3fdc8c8 100644
-}
-EXPORT_SYMBOL_GPL(snd_soc_codec_set_cache_io);
-#endif
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0056-watchdog-add-MT7621-support.patch b/target/linux/ramips/patches-3.14/0056-watchdog-add-MT7621-support.patch
index 5ddbcd5e50..11f8a426b2 100644
--- a/target/linux/ramips/patches-3.14/0056-watchdog-add-MT7621-support.patch
+++ b/target/linux/ramips/patches-3.14/0056-watchdog-add-MT7621-support.patch
@@ -11,11 +11,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
3 files changed, 193 insertions(+)
create mode 100644 drivers/watchdog/mt7621_wdt.c
-diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
-index 79d2589..40f4e5d 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
-@@ -1193,6 +1193,13 @@ config RALINK_WDT
+@@ -1202,6 +1202,13 @@ config RALINK_WDT
help
Hardware driver for the Ralink SoC Watchdog Timer.
@@ -29,11 +27,9 @@ index 79d2589..40f4e5d 100644
# PARISC Architecture
# POWERPC Architecture
-diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
-index 985a66c..bbd5d0d 100644
--- a/drivers/watchdog/Makefile
+++ b/drivers/watchdog/Makefile
-@@ -138,6 +138,7 @@ obj-$(CONFIG_OCTEON_WDT) += octeon-wdt.o
+@@ -139,6 +139,7 @@ obj-$(CONFIG_OCTEON_WDT) += octeon-wdt.o
octeon-wdt-y := octeon-wdt-main.o octeon-wdt-nmi.o
obj-$(CONFIG_LANTIQ_WDT) += lantiq_wdt.o
obj-$(CONFIG_RALINK_WDT) += rt2880_wdt.o
@@ -41,9 +37,6 @@ index 985a66c..bbd5d0d 100644
# PARISC Architecture
-diff --git a/drivers/watchdog/mt7621_wdt.c b/drivers/watchdog/mt7621_wdt.c
-new file mode 100644
-index 0000000..29f55c2
--- /dev/null
+++ b/drivers/watchdog/mt7621_wdt.c
@@ -0,0 +1,185 @@
@@ -232,6 +225,3 @@ index 0000000..29f55c2
+MODULE_AUTHOR("John Crispin <blogic@openwrt.org");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0057-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-3.14/0057-uvc-add-iPassion-iP2970-support.patch
index 89e46b904d..43b2b33b5f 100644
--- a/target/linux/ramips/patches-3.14/0057-uvc-add-iPassion-iP2970-support.patch
+++ b/target/linux/ramips/patches-3.14/0057-uvc-add-iPassion-iP2970-support.patch
@@ -11,11 +11,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/media/usb/uvc/uvcvideo.h | 3 +
4 files changed, 166 insertions(+)
-diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
-index c3bb250..c6612d4 100644
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -2467,6 +2467,20 @@ static struct usb_device_id uvc_ids[] = {
+@@ -2467,6 +2467,20 @@ static struct usb_device_id uvc_ids[] =
.bInterfaceProtocol = 0,
.driver_info = UVC_QUIRK_PROBE_MINMAX
| UVC_QUIRK_IGNORE_SELECTOR_UNIT },
@@ -36,11 +34,9 @@ index c3bb250..c6612d4 100644
/* Generic USB Video Class */
{ USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, 0) },
{}
-diff --git a/drivers/media/usb/uvc/uvc_status.c b/drivers/media/usb/uvc/uvc_status.c
-index f552ab9..7132ad4 100644
--- a/drivers/media/usb/uvc/uvc_status.c
+++ b/drivers/media/usb/uvc/uvc_status.c
-@@ -139,6 +139,7 @@ static void uvc_status_complete(struct urb *urb)
+@@ -139,6 +139,7 @@ static void uvc_status_complete(struct u
switch (dev->status[0] & 0x0f) {
case UVC_STATUS_TYPE_CONTROL:
uvc_event_control(dev, dev->status, len);
@@ -48,7 +44,7 @@ index f552ab9..7132ad4 100644
break;
case UVC_STATUS_TYPE_STREAMING:
-@@ -182,6 +183,7 @@ int uvc_status_init(struct uvc_device *dev)
+@@ -182,6 +183,7 @@ int uvc_status_init(struct uvc_device *d
}
pipe = usb_rcvintpipe(dev->udev, ep->desc.bEndpointAddress);
@@ -56,8 +52,6 @@ index f552ab9..7132ad4 100644
/* For high-speed interrupt endpoints, the bInterval value is used as
* an exponent of two. Some developers forgot about it.
-diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c
-index 898c208..2e06163 100644
--- a/drivers/media/usb/uvc/uvc_video.c
+++ b/drivers/media/usb/uvc/uvc_video.c
@@ -21,6 +21,11 @@
@@ -72,7 +66,7 @@ index 898c208..2e06163 100644
#include <media/v4l2-common.h>
-@@ -1075,9 +1080,149 @@ static void uvc_video_decode_data(struct uvc_streaming *stream,
+@@ -1080,9 +1085,149 @@ static void uvc_video_decode_data(struct
}
}
@@ -222,7 +216,7 @@ index 898c208..2e06163 100644
/* Mark the buffer as done if the EOF marker is set. */
if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) {
uvc_trace(UVC_TRACE_FRAME, "Frame complete (EOF found).\n");
-@@ -1478,6 +1623,8 @@ static int uvc_init_video_isoc(struct uvc_streaming *stream,
+@@ -1483,6 +1628,8 @@ static int uvc_init_video_isoc(struct uv
if (npackets == 0)
return -ENOMEM;
@@ -231,8 +225,6 @@ index 898c208..2e06163 100644
size = npackets * psize;
for (i = 0; i < UVC_URBS; ++i) {
-diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h
-index 9e35982..3cacdfd 100644
--- a/drivers/media/usb/uvc/uvcvideo.h
+++ b/drivers/media/usb/uvc/uvcvideo.h
@@ -137,6 +137,8 @@
@@ -252,6 +244,3 @@ index 9e35982..3cacdfd 100644
};
enum uvc_handle_state {
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0058-GPIO-add-named-gpio-exports.patch b/target/linux/ramips/patches-3.14/0058-GPIO-add-named-gpio-exports.patch
index b712a6b2d9..9c2b39dc42 100644
--- a/target/linux/ramips/patches-3.14/0058-GPIO-add-named-gpio-exports.patch
+++ b/target/linux/ramips/patches-3.14/0058-GPIO-add-named-gpio-exports.patch
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
include/linux/gpio/consumer.h | 8 +++++
4 files changed, 90 insertions(+), 2 deletions(-)
-diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
-index e0a98f5..f16f271 100644
--- a/drivers/gpio/gpiolib-of.c
+++ b/drivers/gpio/gpiolib-of.c
@@ -21,6 +21,8 @@
@@ -24,7 +22,7 @@ index e0a98f5..f16f271 100644
struct gpio_desc;
-@@ -296,3 +298,69 @@ void of_gpiochip_remove(struct gpio_chip *chip)
+@@ -296,3 +298,69 @@ void of_gpiochip_remove(struct gpio_chip
if (chip->of_node)
of_node_put(chip->of_node);
}
@@ -94,8 +92,6 @@ index e0a98f5..f16f271 100644
+ return platform_driver_probe(&gpio_export_driver, of_gpio_export_probe);
+}
+device_initcall(of_gpio_export_init);
-diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
-index 50c4922..aece9f1 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -803,7 +803,7 @@ static struct class gpio_class = {
@@ -107,7 +103,7 @@ index 50c4922..aece9f1 100644
{
unsigned long flags;
int status;
-@@ -843,7 +843,8 @@ int gpiod_export(struct gpio_desc *desc, bool direction_may_change)
+@@ -843,7 +843,8 @@ int gpiod_export(struct gpio_desc *desc,
offset = gpio_chip_hwgpio(desc);
if (desc->chip->names && desc->chip->names[offset])
ioname = desc->chip->names[offset];
@@ -130,11 +126,9 @@ index 50c4922..aece9f1 100644
EXPORT_SYMBOL_GPL(gpiod_export);
static int match_export(struct device *dev, const void *data)
-diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h
-index a5f56a0..70a32ee 100644
--- a/include/asm-generic/gpio.h
+++ b/include/asm-generic/gpio.h
-@@ -126,6 +126,11 @@ static inline int gpio_export(unsigned gpio, bool direction_may_change)
+@@ -126,6 +126,11 @@ static inline int gpio_export(unsigned g
return gpiod_export(gpio_to_desc(gpio), direction_may_change);
}
@@ -146,11 +140,9 @@ index a5f56a0..70a32ee 100644
static inline int gpio_export_link(struct device *dev, const char *name,
unsigned gpio)
{
-diff --git a/include/linux/gpio/consumer.h b/include/linux/gpio/consumer.h
-index 7a8144f..085c31c 100644
--- a/include/linux/gpio/consumer.h
+++ b/include/linux/gpio/consumer.h
-@@ -219,6 +219,7 @@ static inline struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc)
+@@ -219,6 +219,7 @@ static inline struct gpio_chip *gpiod_to
#if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS)
@@ -158,7 +150,7 @@ index 7a8144f..085c31c 100644
int gpiod_export(struct gpio_desc *desc, bool direction_may_change);
int gpiod_export_link(struct device *dev, const char *name,
struct gpio_desc *desc);
-@@ -227,6 +228,13 @@ void gpiod_unexport(struct gpio_desc *desc);
+@@ -227,6 +228,13 @@ void gpiod_unexport(struct gpio_desc *de
#else /* CONFIG_GPIOLIB && CONFIG_GPIO_SYSFS */
@@ -172,6 +164,3 @@ index 7a8144f..085c31c 100644
static inline int gpiod_export(struct gpio_desc *desc,
bool direction_may_change)
{
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0059-USB-fix-dwc2.patch b/target/linux/ramips/patches-3.14/0059-USB-fix-dwc2.patch
index 745ed7690d..5504a2425a 100644
--- a/target/linux/ramips/patches-3.14/0059-USB-fix-dwc2.patch
+++ b/target/linux/ramips/patches-3.14/0059-USB-fix-dwc2.patch
@@ -1,7 +1,5 @@
-Index: linux-3.14.16/drivers/usb/dwc2/hcd.c
-===================================================================
---- linux-3.14.16.orig/drivers/usb/dwc2/hcd.c 2014-08-08 01:50:59.000000000 +0200
-+++ linux-3.14.16/drivers/usb/dwc2/hcd.c 2014-09-07 21:01:06.524023779 +0200
+--- a/drivers/usb/dwc2/hcd.c
++++ b/drivers/usb/dwc2/hcd.c
@@ -47,6 +47,7 @@
#include <linux/io.h>
#include <linux/slab.h>
@@ -10,7 +8,7 @@ Index: linux-3.14.16/drivers/usb/dwc2/hcd.c
#include <linux/usb/hcd.h>
#include <linux/usb/ch11.h>
-@@ -2764,6 +2765,8 @@
+@@ -2764,6 +2765,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hso
dev_dbg(hsotg->dev, "DWC OTG HCD INIT\n");
diff --git a/target/linux/ramips/patches-3.14/0100-mtd-split-remove-padding.patch b/target/linux/ramips/patches-3.14/0100-mtd-split-remove-padding.patch
index 9c5a728995..f7da13a6d8 100644
--- a/target/linux/ramips/patches-3.14/0100-mtd-split-remove-padding.patch
+++ b/target/linux/ramips/patches-3.14/0100-mtd-split-remove-padding.patch
@@ -1,6 +1,6 @@
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
-@@ -805,10 +805,6 @@ static void split_uimage(struct mtd_info
+@@ -807,10 +807,6 @@ static void split_uimage(struct mtd_info
return;
len = be32_to_cpu(hdr.size) + 0x40;
diff --git a/target/linux/ramips/patches-3.14/0101-mtd-add-rtn56u-support.patch b/target/linux/ramips/patches-3.14/0101-mtd-add-rtn56u-support.patch
index f48c7cbf97..b3f7d85662 100644
--- a/target/linux/ramips/patches-3.14/0101-mtd-add-rtn56u-support.patch
+++ b/target/linux/ramips/patches-3.14/0101-mtd-add-rtn56u-support.patch
@@ -1,6 +1,6 @@
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
-@@ -793,8 +793,11 @@ static void split_uimage(struct mtd_info
+@@ -795,8 +795,11 @@ static void split_uimage(struct mtd_info
{
struct {
__be32 magic;
@@ -13,7 +13,7 @@
} hdr;
size_t len;
-@@ -804,7 +807,11 @@ static void split_uimage(struct mtd_info
+@@ -806,7 +809,11 @@ static void split_uimage(struct mtd_info
if (len != sizeof(hdr) || hdr.magic != cpu_to_be32(UBOOT_MAGIC))
return;
diff --git a/target/linux/ramips/patches-3.14/0103-MIPS-OWRTDTB.patch b/target/linux/ramips/patches-3.14/0103-MIPS-OWRTDTB.patch
index 1a00dc2dd8..7fbfa9f69b 100644
--- a/target/linux/ramips/patches-3.14/0103-MIPS-OWRTDTB.patch
+++ b/target/linux/ramips/patches-3.14/0103-MIPS-OWRTDTB.patch
@@ -12,7 +12,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/arch/mips/kernel/head.S
+++ b/arch/mips/kernel/head.S
-@@ -146,6 +146,9 @@ EXPORT(__image_cmdline)
+@@ -107,6 +107,9 @@ EXPORT(__image_cmdline)
.fill 0x400
#endif /* CONFIG_IMAGE_CMDLINE_HACK */
@@ -32,7 +32,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+#obj-y += dts/
--- a/arch/mips/ralink/of.c
+++ b/arch/mips/ralink/of.c
-@@ -90,6 +90,8 @@ static int __init early_init_dt_find_mem
+@@ -91,6 +91,8 @@ static int __init early_init_dt_find_mem
return 0;
}
@@ -41,12 +41,12 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
void __init plat_mem_setup(void)
{
set_io_port_base(KSEG1);
-@@ -98,7 +100,7 @@ void __init plat_mem_setup(void)
+@@ -99,7 +101,7 @@ void __init plat_mem_setup(void)
* Load the builtin devicetree. This causes the chosen node to be
* parsed resulting in our memory appearing
*/
- __dt_setup_arch(&__dtb_start);
+ __dt_setup_arch(&__image_dtb);
- of_scan_flat_dt(early_init_dt_find_memory, NULL);
- if (memory_dtb)
+ strlcpy(arcs_cmdline, boot_command_line, COMMAND_LINE_SIZE);
+