diff options
Diffstat (limited to 'target/linux/lantiq/patches-3.14')
41 files changed, 139 insertions, 484 deletions
diff --git a/target/linux/lantiq/patches-3.14/0001-MIPS-lantiq-add-pcie-driver.patch b/target/linux/lantiq/patches-3.14/0001-MIPS-lantiq-add-pcie-driver.patch index 3b4ad037d0..35bc54879e 100644 --- a/target/linux/lantiq/patches-3.14/0001-MIPS-lantiq-add-pcie-driver.patch +++ b/target/linux/lantiq/patches-3.14/0001-MIPS-lantiq-add-pcie-driver.patch @@ -39,8 +39,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org> create mode 100644 arch/mips/pci/ifxmips_pcie_vr9.h create mode 100644 arch/mips/pci/pcie-lantiq.h -diff --git a/arch/mips/lantiq/Kconfig b/arch/mips/lantiq/Kconfig -index c002191..1621b1d 100644 --- a/arch/mips/lantiq/Kconfig +++ b/arch/mips/lantiq/Kconfig @@ -17,6 +17,7 @@ config SOC_XWAY @@ -67,8 +65,6 @@ index c002191..1621b1d 100644 config XRX200_PHY_FW bool "XRX200 PHY firmware loader" depends on SOC_XWAY -diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c -index 51804b1..510a387 100644 --- a/arch/mips/lantiq/xway/sysctrl.c +++ b/arch/mips/lantiq/xway/sysctrl.c @@ -377,6 +377,8 @@ void __init ltq_soc_init(void) @@ -80,11 +76,9 @@ index 51804b1..510a387 100644 } else if (of_machine_is_compatible("lantiq,ar9")) { clkdev_add_static(ltq_ar9_cpu_hz(), ltq_ar9_fpi_hz(), ltq_ar9_fpi_hz(), CLOCK_250M); -diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile -index 137f2a6..1e1726f 100644 --- a/arch/mips/pci/Makefile +++ b/arch/mips/pci/Makefile -@@ -42,6 +42,8 @@ obj-$(CONFIG_SNI_RM) += fixup-sni.o ops-sni.o +@@ -42,6 +42,8 @@ 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_RT3883) += pci-rt3883.o @@ -93,9 +87,6 @@ index 137f2a6..1e1726f 100644 obj-$(CONFIG_TANBAC_TB0219) += fixup-tb0219.o obj-$(CONFIG_TANBAC_TB0226) += fixup-tb0226.o obj-$(CONFIG_TANBAC_TB0287) += fixup-tb0287.o -diff --git a/arch/mips/pci/fixup-lantiq-pcie.c b/arch/mips/pci/fixup-lantiq-pcie.c -new file mode 100644 -index 0000000..3325e24 --- /dev/null +++ b/arch/mips/pci/fixup-lantiq-pcie.c @@ -0,0 +1,82 @@ @@ -181,8 +172,6 @@ index 0000000..3325e24 + +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LANTIQ, PCI_DEVICE_ID_LANTIQ_PCIE, + ifx_pcie_rc_class_early_fixup); -diff --git a/arch/mips/pci/fixup-lantiq.c b/arch/mips/pci/fixup-lantiq.c -index c2ce41e..c110c10 100644 --- a/arch/mips/pci/fixup-lantiq.c +++ b/arch/mips/pci/fixup-lantiq.c @@ -11,11 +11,12 @@ @@ -199,7 +188,7 @@ index c2ce41e..c110c10 100644 if (ltq_pci_plat_dev_init) return ltq_pci_plat_dev_init(dev); -@@ -25,5 +26,7 @@ int pcibios_plat_dev_init(struct pci_dev *dev) +@@ -25,5 +26,7 @@ int pcibios_plat_dev_init(struct pci_dev int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { @@ -207,9 +196,6 @@ index c2ce41e..c110c10 100644 + return ltq_pci_map_irq(dev, slot, pin); return of_irq_parse_and_map_pci(dev, slot, pin); } -diff --git a/arch/mips/pci/ifxmips_pci_common.h b/arch/mips/pci/ifxmips_pci_common.h -new file mode 100644 -index 0000000..46f4cb2 --- /dev/null +++ b/arch/mips/pci/ifxmips_pci_common.h @@ -0,0 +1,57 @@ @@ -270,9 +256,6 @@ index 0000000..46f4cb2 + +#endif /* IFXMIPS_PCI_COMMON_H */ + -diff --git a/arch/mips/pci/ifxmips_pcie.c b/arch/mips/pci/ifxmips_pcie.c -new file mode 100644 -index 0000000..4128898 --- /dev/null +++ b/arch/mips/pci/ifxmips_pcie.c @@ -0,0 +1,1099 @@ @@ -1375,9 +1358,6 @@ index 0000000..4128898 +MODULE_SUPPORTED_DEVICE("Infineon builtin PCIe RC module"); +MODULE_DESCRIPTION("Infineon builtin PCIe RC driver"); + -diff --git a/arch/mips/pci/ifxmips_pcie.h b/arch/mips/pci/ifxmips_pcie.h -new file mode 100644 -index 0000000..c6f92f5 --- /dev/null +++ b/arch/mips/pci/ifxmips_pcie.h @@ -0,0 +1,135 @@ @@ -1516,9 +1496,6 @@ index 0000000..c6f92f5 + +#endif /* IFXMIPS_PCIE_H */ + -diff --git a/arch/mips/pci/ifxmips_pcie_ar10.h b/arch/mips/pci/ifxmips_pcie_ar10.h -new file mode 100644 -index 0000000..99ff463 --- /dev/null +++ b/arch/mips/pci/ifxmips_pcie_ar10.h @@ -0,0 +1,290 @@ @@ -1812,9 +1789,6 @@ index 0000000..99ff463 +} + +#endif /* IFXMIPS_PCIE_AR10_H */ -diff --git a/arch/mips/pci/ifxmips_pcie_msi.c b/arch/mips/pci/ifxmips_pcie_msi.c -new file mode 100644 -index 0000000..bffd6fa --- /dev/null +++ b/arch/mips/pci/ifxmips_pcie_msi.c @@ -0,0 +1,392 @@ @@ -2210,9 +2184,6 @@ index 0000000..bffd6fa +MODULE_SUPPORTED_DEVICE("Infineon PCIe IP builtin MSI PIC module"); +MODULE_DESCRIPTION("Infineon PCIe IP builtin MSI PIC driver"); + -diff --git a/arch/mips/pci/ifxmips_pcie_phy.c b/arch/mips/pci/ifxmips_pcie_phy.c -new file mode 100644 -index 0000000..f5b0f13 --- /dev/null +++ b/arch/mips/pci/ifxmips_pcie_phy.c @@ -0,0 +1,478 @@ @@ -2694,9 +2665,6 @@ index 0000000..f5b0f13 +#endif +} + -diff --git a/arch/mips/pci/ifxmips_pcie_pm.c b/arch/mips/pci/ifxmips_pcie_pm.c -new file mode 100644 -index 0000000..a10ecad --- /dev/null +++ b/arch/mips/pci/ifxmips_pcie_pm.c @@ -0,0 +1,176 @@ @@ -2876,9 +2844,6 @@ index 0000000..a10ecad + ifx_pmcu_unregister(&pmcuUnRegister); +} + -diff --git a/arch/mips/pci/ifxmips_pcie_pm.h b/arch/mips/pci/ifxmips_pcie_pm.h -new file mode 100644 -index 0000000..6ece20d --- /dev/null +++ b/arch/mips/pci/ifxmips_pcie_pm.h @@ -0,0 +1,36 @@ @@ -2918,9 +2883,6 @@ index 0000000..6ece20d + +#endif /* IFXMIPS_PCIE_PM_H */ + -diff --git a/arch/mips/pci/ifxmips_pcie_reg.h b/arch/mips/pci/ifxmips_pcie_reg.h -new file mode 100644 -index 0000000..e7e4b6c --- /dev/null +++ b/arch/mips/pci/ifxmips_pcie_reg.h @@ -0,0 +1,1001 @@ @@ -3925,9 +3887,6 @@ index 0000000..e7e4b6c + +#endif /* IFXMIPS_PCIE_REG_H */ + -diff --git a/arch/mips/pci/ifxmips_pcie_vr9.h b/arch/mips/pci/ifxmips_pcie_vr9.h -new file mode 100644 -index 0000000..57d9368 --- /dev/null +++ b/arch/mips/pci/ifxmips_pcie_vr9.h @@ -0,0 +1,271 @@ @@ -4202,8 +4161,6 @@ index 0000000..57d9368 + +#endif /* IFXMIPS_PCIE_VR9_H */ + -diff --git a/arch/mips/pci/pci.c b/arch/mips/pci/pci.c -index 1bf60b1..31ee19b 100644 --- a/arch/mips/pci/pci.c +++ b/arch/mips/pci/pci.c @@ -251,6 +251,31 @@ static int __init pcibios_init(void) @@ -4238,9 +4195,6 @@ index 1bf60b1..31ee19b 100644 static int pcibios_enable_resources(struct pci_dev *dev, int mask) { u16 cmd, old_cmd; -diff --git a/arch/mips/pci/pcie-lantiq.h b/arch/mips/pci/pcie-lantiq.h -new file mode 100644 -index 0000000..d877c23 --- /dev/null +++ b/arch/mips/pci/pcie-lantiq.h @@ -0,0 +1,1305 @@ @@ -5549,8 +5503,6 @@ index 0000000..d877c23 + +#endif /* IFXMIPS_PCIE_VR9_H */ + -diff --git a/drivers/pci/pcie/aer/Kconfig b/drivers/pci/pcie/aer/Kconfig -index 50e94e0..4bf848f 100644 --- a/drivers/pci/pcie/aer/Kconfig +++ b/drivers/pci/pcie/aer/Kconfig @@ -5,7 +5,7 @@ @@ -5562,11 +5514,9 @@ index 50e94e0..4bf848f 100644 help This enables PCI Express Root Port Advanced Error Reporting (AER) driver support. Error reporting messages sent to Root -diff --git a/include/linux/pci.h b/include/linux/pci.h -index 33aa2ca..f5e4a13 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h -@@ -1120,6 +1120,8 @@ void pci_walk_bus(struct pci_bus *top, int (*cb)(struct pci_dev *, void *), +@@ -1121,6 +1121,8 @@ void pci_walk_bus(struct pci_bus *top, i void *userdata); int pci_cfg_space_size(struct pci_dev *dev); unsigned char pci_bus_max_busnr(struct pci_bus *bus); @@ -5575,8 +5525,6 @@ index 33aa2ca..f5e4a13 100644 void pci_setup_bridge(struct pci_bus *bus); resource_size_t pcibios_window_alignment(struct pci_bus *bus, unsigned long type); -diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h -index 97fbecd..cb3bde3 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -1045,6 +1045,12 @@ @@ -5592,6 +5540,3 @@ index 97fbecd..cb3bde3 100644 #define PCI_VENDOR_ID_WINBOND 0x10ad #define PCI_DEVICE_ID_WINBOND_82C105 0x0105 #define PCI_DEVICE_ID_WINBOND_83C553 0x0565 --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0002-MIPS-lantiq-dtb-image-hack.patch b/target/linux/lantiq/patches-3.14/0002-MIPS-lantiq-dtb-image-hack.patch index ce6c637131..287b04aa0e 100644 --- a/target/linux/lantiq/patches-3.14/0002-MIPS-lantiq-dtb-image-hack.patch +++ b/target/linux/lantiq/patches-3.14/0002-MIPS-lantiq-dtb-image-hack.patch @@ -9,8 +9,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org> arch/mips/lantiq/prom.c | 4 +++- 2 files changed, 3 insertions(+), 3 deletions(-) -diff --git a/arch/mips/lantiq/Makefile b/arch/mips/lantiq/Makefile -index d6bdc57..690257a 100644 --- a/arch/mips/lantiq/Makefile +++ b/arch/mips/lantiq/Makefile @@ -6,8 +6,6 @@ @@ -22,11 +20,9 @@ index d6bdc57..690257a 100644 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o obj-$(CONFIG_SOC_TYPE_XWAY) += xway/ -diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c -index 19686c5..202e118 100644 --- a/arch/mips/lantiq/prom.c +++ b/arch/mips/lantiq/prom.c -@@ -58,6 +58,8 @@ static void __init prom_init_cmdline(void) +@@ -58,6 +58,8 @@ static void __init prom_init_cmdline(voi } } @@ -44,6 +40,3 @@ index 19686c5..202e118 100644 } void __init device_tree_init(void) --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0003-MIPS-lantiq-handle-vmmc-memory-reservation.patch b/target/linux/lantiq/patches-3.14/0003-MIPS-lantiq-handle-vmmc-memory-reservation.patch index eb1e2004a1..cc281b6f8f 100644 --- a/target/linux/lantiq/patches-3.14/0003-MIPS-lantiq-handle-vmmc-memory-reservation.patch +++ b/target/linux/lantiq/patches-3.14/0003-MIPS-lantiq-handle-vmmc-memory-reservation.patch @@ -10,8 +10,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org> 2 files changed, 65 insertions(+) create mode 100644 arch/mips/lantiq/xway/vmmc.c -diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile -index 087497d..a2edc53 100644 --- a/arch/mips/lantiq/xway/Makefile +++ b/arch/mips/lantiq/xway/Makefile @@ -1,3 +1,5 @@ @@ -20,9 +18,6 @@ index 087497d..a2edc53 100644 +obj-y += vmmc.o + obj-$(CONFIG_XRX200_PHY_FW) += xrx200_phy_fw.o -diff --git a/arch/mips/lantiq/xway/vmmc.c b/arch/mips/lantiq/xway/vmmc.c -new file mode 100644 -index 0000000..cea0ff9 --- /dev/null +++ b/arch/mips/lantiq/xway/vmmc.c @@ -0,0 +1,63 @@ @@ -89,6 +84,3 @@ index 0000000..cea0ff9 +}; + +module_platform_driver(vmmc_driver); --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0004-MIPS-lantiq-add-atm-hack.patch b/target/linux/lantiq/patches-3.14/0004-MIPS-lantiq-add-atm-hack.patch index a01967f9c7..f954600b1d 100644 --- a/target/linux/lantiq/patches-3.14/0004-MIPS-lantiq-add-atm-hack.patch +++ b/target/linux/lantiq/patches-3.14/0004-MIPS-lantiq-add-atm-hack.patch @@ -16,9 +16,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org> create mode 100644 arch/mips/include/asm/mach-lantiq/lantiq_atm.h create mode 100644 arch/mips/include/asm/mach-lantiq/lantiq_ptm.h -diff --git a/arch/mips/include/asm/mach-lantiq/lantiq_atm.h b/arch/mips/include/asm/mach-lantiq/lantiq_atm.h -new file mode 100644 -index 0000000..bf045a9 --- /dev/null +++ b/arch/mips/include/asm/mach-lantiq/lantiq_atm.h @@ -0,0 +1,196 @@ @@ -218,9 +215,6 @@ index 0000000..bf045a9 + +#endif // IFX_ATM_H + -diff --git a/arch/mips/include/asm/mach-lantiq/lantiq_ptm.h b/arch/mips/include/asm/mach-lantiq/lantiq_ptm.h -new file mode 100644 -index 0000000..698e5c3 --- /dev/null +++ b/arch/mips/include/asm/mach-lantiq/lantiq_ptm.h @@ -0,0 +1,203 @@ @@ -427,8 +421,6 @@ index 0000000..698e5c3 + +#endif // IFX_PTM_H + -diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c -index 85685e1..6b94cc7 100644 --- a/arch/mips/lantiq/irq.c +++ b/arch/mips/lantiq/irq.c @@ -14,6 +14,7 @@ @@ -439,7 +431,7 @@ index 85685e1..6b94cc7 100644 #include <asm/bootinfo.h> #include <asm/irq_cpu.h> -@@ -99,6 +100,7 @@ void ltq_mask_and_ack_irq(struct irq_data *d) +@@ -99,6 +100,7 @@ void ltq_mask_and_ack_irq(struct irq_dat ltq_icu_w32(im, ltq_icu_r32(im, ier) & ~BIT(offset), ier); ltq_icu_w32(im, BIT(offset), isr); } @@ -447,11 +439,9 @@ index 85685e1..6b94cc7 100644 static void ltq_ack_irq(struct irq_data *d) { -diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c -index fde7e56..e5bd72f 100644 --- a/arch/mips/mm/cache.c +++ b/arch/mips/mm/cache.c -@@ -57,6 +57,8 @@ void (*_dma_cache_wback)(unsigned long start, unsigned long size); +@@ -58,6 +58,8 @@ void (*_dma_cache_wback)(unsigned long s void (*_dma_cache_inv)(unsigned long start, unsigned long size); EXPORT_SYMBOL(_dma_cache_wback_inv); @@ -460,8 +450,6 @@ index fde7e56..e5bd72f 100644 #endif /* CONFIG_DMA_NONCOHERENT */ -diff --git a/include/uapi/linux/atm.h b/include/uapi/linux/atm.h -index 88399db..78c8bbc 100644 --- a/include/uapi/linux/atm.h +++ b/include/uapi/linux/atm.h @@ -130,8 +130,14 @@ @@ -479,11 +467,9 @@ index 88399db..78c8bbc 100644 struct atm_trafprm { unsigned char traffic_class; /* traffic class (ATM_UBR, ...) */ int max_pcr; /* maximum PCR in cells per second */ -diff --git a/net/atm/common.c b/net/atm/common.c -index 7b49100..d2af929 100644 --- a/net/atm/common.c +++ b/net/atm/common.c -@@ -62,11 +62,17 @@ static void vcc_remove_socket(struct sock *sk) +@@ -62,11 +62,17 @@ static void vcc_remove_socket(struct soc write_unlock_irq(&vcc_sklist_lock); } @@ -501,11 +487,9 @@ index 7b49100..d2af929 100644 if (sk_wmem_alloc_get(sk) && !atm_may_send(vcc, size)) { pr_debug("Sorry: wmem_alloc = %d, size = %d, sndbuf = %d\n", sk_wmem_alloc_get(sk), size, sk->sk_sndbuf); -diff --git a/net/atm/proc.c b/net/atm/proc.c -index bbb6461..ecb584a 100644 --- a/net/atm/proc.c +++ b/net/atm/proc.c -@@ -154,7 +154,7 @@ static void *vcc_seq_next(struct seq_file *seq, void *v, loff_t *pos) +@@ -154,7 +154,7 @@ static void *vcc_seq_next(struct seq_fil static void pvc_info(struct seq_file *seq, struct atm_vcc *vcc) { static const char *const class_name[] = { @@ -514,6 +498,3 @@ index bbb6461..ecb584a 100644 static const char *const aal_name[] = { "---", "1", "2", "3/4", /* 0- 3 */ "???", "5", "???", "???", /* 4- 7 */ --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0005-MIPS-lantiq-add-reset-controller-api-support.patch b/target/linux/lantiq/patches-3.14/0005-MIPS-lantiq-add-reset-controller-api-support.patch index c4540c9306..31290195b8 100644 --- a/target/linux/lantiq/patches-3.14/0005-MIPS-lantiq-add-reset-controller-api-support.patch +++ b/target/linux/lantiq/patches-3.14/0005-MIPS-lantiq-add-reset-controller-api-support.patch @@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org> arch/mips/lantiq/xway/reset.c | 61 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) -diff --git a/arch/mips/lantiq/xway/reset.c b/arch/mips/lantiq/xway/reset.c -index 1fa0f17..a1e06b7 100644 --- a/arch/mips/lantiq/xway/reset.c +++ b/arch/mips/lantiq/xway/reset.c @@ -14,6 +14,7 @@ @@ -23,7 +21,7 @@ index 1fa0f17..a1e06b7 100644 #include <asm/reboot.h> -@@ -113,6 +114,66 @@ void ltq_reset_once(unsigned int module, ulong u) +@@ -113,6 +114,66 @@ void ltq_reset_once(unsigned int module, ltq_rcu_w32(ltq_rcu_r32(RCU_RST_REQ) & ~module, RCU_RST_REQ); } @@ -90,6 +88,3 @@ index 1fa0f17..a1e06b7 100644 static void ltq_machine_restart(char *command) { local_irq_disable(); --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0006-MIPS-lantiq-reboot-gphy-on-restart.patch b/target/linux/lantiq/patches-3.14/0006-MIPS-lantiq-reboot-gphy-on-restart.patch index 42acac21f2..1af4fa7b22 100644 --- a/target/linux/lantiq/patches-3.14/0006-MIPS-lantiq-reboot-gphy-on-restart.patch +++ b/target/linux/lantiq/patches-3.14/0006-MIPS-lantiq-reboot-gphy-on-restart.patch @@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org> arch/mips/lantiq/xway/reset.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) -diff --git a/arch/mips/lantiq/xway/reset.c b/arch/mips/lantiq/xway/reset.c -index a1e06b7..fe68f9a 100644 --- a/arch/mips/lantiq/xway/reset.c +++ b/arch/mips/lantiq/xway/reset.c @@ -176,8 +176,15 @@ void ltq_rst_init(void) @@ -29,6 +27,3 @@ index a1e06b7..fe68f9a 100644 unreachable(); } --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0007-MIPS-lantiq-add-basic-tffs-driver.patch b/target/linux/lantiq/patches-3.14/0007-MIPS-lantiq-add-basic-tffs-driver.patch index a41d48ed32..70813738cc 100644 --- a/target/linux/lantiq/patches-3.14/0007-MIPS-lantiq-add-basic-tffs-driver.patch +++ b/target/linux/lantiq/patches-3.14/0007-MIPS-lantiq-add-basic-tffs-driver.patch @@ -10,8 +10,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org> 2 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 arch/mips/lantiq/xway/tffs.c -diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile -index a2edc53..c73d3f2 100644 --- a/arch/mips/lantiq/xway/Makefile +++ b/arch/mips/lantiq/xway/Makefile @@ -1,5 +1,5 @@ @@ -21,9 +19,6 @@ index a2edc53..c73d3f2 100644 +obj-y += vmmc.o tffs.o obj-$(CONFIG_XRX200_PHY_FW) += xrx200_phy_fw.o -diff --git a/arch/mips/lantiq/xway/tffs.c b/arch/mips/lantiq/xway/tffs.c -new file mode 100644 -index 0000000..c9c6e19 --- /dev/null +++ b/arch/mips/lantiq/xway/tffs.c @@ -0,0 +1,87 @@ @@ -114,6 +109,3 @@ index 0000000..c9c6e19 +} +late_initcall(tffs_init); + --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0008-MIPS-lantiq-backport-old-timer-code.patch b/target/linux/lantiq/patches-3.14/0008-MIPS-lantiq-backport-old-timer-code.patch index d946e560a4..55255037fa 100644 --- a/target/linux/lantiq/patches-3.14/0008-MIPS-lantiq-backport-old-timer-code.patch +++ b/target/linux/lantiq/patches-3.14/0008-MIPS-lantiq-backport-old-timer-code.patch @@ -12,9 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org> create mode 100644 arch/mips/include/asm/mach-lantiq/lantiq_timer.h create mode 100644 arch/mips/lantiq/xway/timer.c -diff --git a/arch/mips/include/asm/mach-lantiq/lantiq_timer.h b/arch/mips/include/asm/mach-lantiq/lantiq_timer.h -new file mode 100644 -index 0000000..ef564ab --- /dev/null +++ b/arch/mips/include/asm/mach-lantiq/lantiq_timer.h @@ -0,0 +1,155 @@ @@ -173,8 +170,6 @@ index 0000000..ef564ab + u32 reload, unsigned long arg1, unsigned long arg2); + +#endif /* __DANUBE_GPTU_DEV_H__2005_07_26__10_19__ */ -diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile -index c73d3f2..2dd442c 100644 --- a/arch/mips/lantiq/xway/Makefile +++ b/arch/mips/lantiq/xway/Makefile @@ -1,4 +1,4 @@ @@ -183,9 +178,6 @@ index c73d3f2..2dd442c 100644 obj-y += vmmc.o tffs.o -diff --git a/arch/mips/lantiq/xway/timer.c b/arch/mips/lantiq/xway/timer.c -new file mode 100644 -index 0000000..1c0fdb8 --- /dev/null +++ b/arch/mips/lantiq/xway/timer.c @@ -0,0 +1,845 @@ @@ -1034,6 +1026,3 @@ index 0000000..1c0fdb8 +module_exit(lq_gptu_exit); + +#endif --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0009-MIPS-lantiq-command-line-work-around.patch b/target/linux/lantiq/patches-3.14/0009-MIPS-lantiq-command-line-work-around.patch index 2536745095..88bcbc4b5c 100644 --- a/target/linux/lantiq/patches-3.14/0009-MIPS-lantiq-command-line-work-around.patch +++ b/target/linux/lantiq/patches-3.14/0009-MIPS-lantiq-command-line-work-around.patch @@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org> arch/mips/lantiq/prom.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c -index 202e118..227feed 100644 --- a/arch/mips/lantiq/prom.c +++ b/arch/mips/lantiq/prom.c @@ -74,6 +74,8 @@ void __init plat_mem_setup(void) @@ -21,6 +19,3 @@ index 202e118..227feed 100644 } void __init device_tree_init(void) --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0010-MIPS-lantiq-export-soc-type.patch b/target/linux/lantiq/patches-3.14/0010-MIPS-lantiq-export-soc-type.patch index de1cd52873..f4cfacf4e9 100644 --- a/target/linux/lantiq/patches-3.14/0010-MIPS-lantiq-export-soc-type.patch +++ b/target/linux/lantiq/patches-3.14/0010-MIPS-lantiq-export-soc-type.patch @@ -12,8 +12,6 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> arch/mips/lantiq/prom.c | 5 +++++ 2 files changed, 7 insertions(+) -diff --git a/arch/mips/include/asm/mach-lantiq/lantiq.h b/arch/mips/include/asm/mach-lantiq/lantiq.h -index f196cce..4e5ae65 100644 --- a/arch/mips/include/asm/mach-lantiq/lantiq.h +++ b/arch/mips/include/asm/mach-lantiq/lantiq.h @@ -48,6 +48,8 @@ extern struct clk *clk_get_ppe(void); @@ -25,8 +23,6 @@ index f196cce..4e5ae65 100644 #define IOPORT_RESOURCE_START 0x10000000 #define IOPORT_RESOURCE_END 0xffffffff -diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c -index 227feed..4c652c6 100644 --- a/arch/mips/lantiq/prom.c +++ b/arch/mips/lantiq/prom.c @@ -36,6 +36,11 @@ const char *get_system_type(void) @@ -41,6 +37,3 @@ index 227feed..4c652c6 100644 void prom_free_prom_memory(void) { } --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0011-lantiq-add-support-for-xrx200-firmware-depending-on-.patch b/target/linux/lantiq/patches-3.14/0011-lantiq-add-support-for-xrx200-firmware-depending-on-.patch index 36d03b19c9..55d8824999 100644 --- a/target/linux/lantiq/patches-3.14/0011-lantiq-add-support-for-xrx200-firmware-depending-on-.patch +++ b/target/linux/lantiq/patches-3.14/0011-lantiq-add-support-for-xrx200-firmware-depending-on-.patch @@ -12,11 +12,9 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> arch/mips/lantiq/xway/xrx200_phy_fw.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) -diff --git a/arch/mips/lantiq/xway/xrx200_phy_fw.c b/arch/mips/lantiq/xway/xrx200_phy_fw.c -index d4d9d31..3479b77 100644 --- a/arch/mips/lantiq/xway/xrx200_phy_fw.c +++ b/arch/mips/lantiq/xway/xrx200_phy_fw.c -@@ -24,7 +24,23 @@ static dma_addr_t xway_gphy_load(struct platform_device *pdev) +@@ -24,7 +24,23 @@ static dma_addr_t xway_gphy_load(struct void *fw_addr; size_t size; @@ -41,6 +39,3 @@ index d4d9d31..3479b77 100644 dev_err(&pdev->dev, "failed to load firmware filename\n"); return 0; } --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0012-pinctrl-lantiq-fix-up-pinmux.patch b/target/linux/lantiq/patches-3.14/0012-pinctrl-lantiq-fix-up-pinmux.patch index 9b45bf7913..6a5a260742 100644 --- a/target/linux/lantiq/patches-3.14/0012-pinctrl-lantiq-fix-up-pinmux.patch +++ b/target/linux/lantiq/patches-3.14/0012-pinctrl-lantiq-fix-up-pinmux.patch @@ -10,11 +10,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org> drivers/pinctrl/pinctrl-xway.c | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) -diff --git a/drivers/pinctrl/pinctrl-xway.c b/drivers/pinctrl/pinctrl-xway.c -index e66f4ca..b5f43c8 100644 --- a/drivers/pinctrl/pinctrl-xway.c +++ b/drivers/pinctrl/pinctrl-xway.c -@@ -609,10 +609,9 @@ static struct pinctrl_desc xway_pctrl_desc = { +@@ -609,10 +609,9 @@ static struct pinctrl_desc xway_pctrl_de .confops = &xway_pinconf_ops, }; @@ -26,7 +24,7 @@ index e66f4ca..b5f43c8 100644 int port = PORT(pin); u32 alt1_reg = GPIO_ALT1(pin); -@@ -632,6 +631,14 @@ static inline int xway_mux_apply(struct pinctrl_dev *pctrldev, +@@ -632,6 +631,14 @@ static inline int xway_mux_apply(struct return 0; } @@ -41,7 +39,7 @@ index e66f4ca..b5f43c8 100644 static const struct ltq_cfg_param xway_cfg_params[] = { {"lantiq,pull", LTQ_PINCONF_PARAM_PULL}, {"lantiq,open-drain", LTQ_PINCONF_PARAM_OPEN_DRAIN}, -@@ -676,6 +683,10 @@ static int xway_gpio_dir_out(struct gpio_chip *chip, unsigned int pin, int val) +@@ -676,6 +683,10 @@ static int xway_gpio_dir_out(struct gpio { struct ltq_pinmux_info *info = dev_get_drvdata(chip->dev); @@ -52,7 +50,7 @@ index e66f4ca..b5f43c8 100644 gpio_setbit(info->membase[0], GPIO_DIR(pin), PORT_PIN(pin)); xway_gpio_set(chip, pin, val); -@@ -696,6 +707,18 @@ static void xway_gpio_free(struct gpio_chip *chip, unsigned offset) +@@ -696,6 +707,18 @@ static void xway_gpio_free(struct gpio_c pinctrl_free_gpio(gpio); } @@ -79,6 +77,3 @@ index e66f4ca..b5f43c8 100644 .base = -1, }; --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0013-MTD-lantiq-xway-fix-invalid-operator.patch b/target/linux/lantiq/patches-3.14/0013-MTD-lantiq-xway-fix-invalid-operator.patch index 7d900fac79..c6d3819c2f 100644 --- a/target/linux/lantiq/patches-3.14/0013-MTD-lantiq-xway-fix-invalid-operator.patch +++ b/target/linux/lantiq/patches-3.14/0013-MTD-lantiq-xway-fix-invalid-operator.patch @@ -11,11 +11,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org> drivers/mtd/nand/xway_nand.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/mtd/nand/xway_nand.c b/drivers/mtd/nand/xway_nand.c -index 3f81dc8..169a91d 100644 --- a/drivers/mtd/nand/xway_nand.c +++ b/drivers/mtd/nand/xway_nand.c -@@ -124,7 +124,7 @@ static unsigned char xway_read_byte(struct mtd_info *mtd) +@@ -124,7 +124,7 @@ static unsigned char xway_read_byte(stru int ret; spin_lock_irqsave(&ebu_lock, flags); @@ -24,6 +22,3 @@ index 3f81dc8..169a91d 100644 spin_unlock_irqrestore(&ebu_lock, flags); return ret; --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0014-MTD-lantiq-xway-the-latched-command-should-be-persis.patch b/target/linux/lantiq/patches-3.14/0014-MTD-lantiq-xway-the-latched-command-should-be-persis.patch index d3c197ef7e..6a7785b016 100644 --- a/target/linux/lantiq/patches-3.14/0014-MTD-lantiq-xway-the-latched-command-should-be-persis.patch +++ b/target/linux/lantiq/patches-3.14/0014-MTD-lantiq-xway-the-latched-command-should-be-persis.patch @@ -9,8 +9,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org> drivers/mtd/nand/xway_nand.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) -diff --git a/drivers/mtd/nand/xway_nand.c b/drivers/mtd/nand/xway_nand.c -index 169a91d..7f2bdd1 100644 --- a/drivers/mtd/nand/xway_nand.c +++ b/drivers/mtd/nand/xway_nand.c @@ -54,6 +54,8 @@ @@ -22,7 +20,7 @@ index 169a91d..7f2bdd1 100644 static void xway_reset_chip(struct nand_chip *chip) { unsigned long nandaddr = (unsigned long) chip->IO_ADDR_W; -@@ -94,17 +96,15 @@ static void xway_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) +@@ -94,17 +96,15 @@ static void xway_cmd_ctrl(struct mtd_inf unsigned long flags; if (ctrl & NAND_CTRL_CHANGE) { @@ -44,6 +42,3 @@ index 169a91d..7f2bdd1 100644 while ((ltq_ebu_r32(EBU_NAND_WAIT) & NAND_WAIT_WR_C) == 0) ; spin_unlock_irqrestore(&ebu_lock, flags); --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0015-MTD-lantiq-xway-remove-endless-loop.patch b/target/linux/lantiq/patches-3.14/0015-MTD-lantiq-xway-remove-endless-loop.patch index 910fc148ff..4bd166863b 100644 --- a/target/linux/lantiq/patches-3.14/0015-MTD-lantiq-xway-remove-endless-loop.patch +++ b/target/linux/lantiq/patches-3.14/0015-MTD-lantiq-xway-remove-endless-loop.patch @@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org> drivers/mtd/nand/xway_nand.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) -diff --git a/drivers/mtd/nand/xway_nand.c b/drivers/mtd/nand/xway_nand.c -index 7f2bdd1..8d14f1b 100644 --- a/drivers/mtd/nand/xway_nand.c +++ b/drivers/mtd/nand/xway_nand.c @@ -59,16 +59,22 @@ static u32 xway_latchcmd; @@ -41,6 +39,3 @@ index 7f2bdd1..8d14f1b 100644 spin_unlock_irqrestore(&ebu_lock, flags); } --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0016-MTD-lantiq-xway-add-missing-write_buf-and-read_buf-t.patch b/target/linux/lantiq/patches-3.14/0016-MTD-lantiq-xway-add-missing-write_buf-and-read_buf-t.patch index 8d07654d47..c83a79e873 100644 --- a/target/linux/lantiq/patches-3.14/0016-MTD-lantiq-xway-add-missing-write_buf-and-read_buf-t.patch +++ b/target/linux/lantiq/patches-3.14/0016-MTD-lantiq-xway-add-missing-write_buf-and-read_buf-t.patch @@ -9,11 +9,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org> drivers/mtd/nand/xway_nand.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) -diff --git a/drivers/mtd/nand/xway_nand.c b/drivers/mtd/nand/xway_nand.c -index 8d14f1b..f813a55 100644 --- a/drivers/mtd/nand/xway_nand.c +++ b/drivers/mtd/nand/xway_nand.c -@@ -136,6 +136,32 @@ static unsigned char xway_read_byte(struct mtd_info *mtd) +@@ -136,6 +136,32 @@ static unsigned char xway_read_byte(stru return ret; } @@ -46,7 +44,7 @@ index 8d14f1b..f813a55 100644 static int xway_nand_probe(struct platform_device *pdev) { struct nand_chip *this = platform_get_drvdata(pdev); -@@ -181,6 +207,8 @@ static struct platform_nand_data xway_nand_data = { +@@ -181,6 +207,8 @@ static struct platform_nand_data xway_na .dev_ready = xway_dev_ready, .select_chip = xway_select_chip, .read_byte = xway_read_byte, @@ -55,6 +53,3 @@ index 8d14f1b..f813a55 100644 } }; --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0017-MTD-xway-fix-nand-locking.patch b/target/linux/lantiq/patches-3.14/0017-MTD-xway-fix-nand-locking.patch index 882a405f0a..1b0c01a9d6 100644 --- a/target/linux/lantiq/patches-3.14/0017-MTD-xway-fix-nand-locking.patch +++ b/target/linux/lantiq/patches-3.14/0017-MTD-xway-fix-nand-locking.patch @@ -8,11 +8,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org> drivers/mtd/nand/xway_nand.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) -diff --git a/drivers/mtd/nand/xway_nand.c b/drivers/mtd/nand/xway_nand.c -index f813a55..e430f2d 100644 --- a/drivers/mtd/nand/xway_nand.c +++ b/drivers/mtd/nand/xway_nand.c -@@ -80,13 +80,16 @@ static void xway_reset_chip(struct nand_chip *chip) +@@ -80,13 +80,16 @@ static void xway_reset_chip(struct nand_ static void xway_select_chip(struct mtd_info *mtd, int chip) { @@ -29,7 +27,7 @@ index f813a55..e430f2d 100644 ltq_ebu_w32_mask(0, NAND_CON_NANDM, EBU_NAND_CON); ltq_ebu_w32_mask(0, NAND_CON_CE, EBU_NAND_CON); break; -@@ -99,7 +102,6 @@ static void xway_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) +@@ -99,7 +102,6 @@ static void xway_cmd_ctrl(struct mtd_inf { struct nand_chip *this = mtd->priv; unsigned long nandaddr = (unsigned long) this->IO_ADDR_W; @@ -37,7 +35,7 @@ index f813a55..e430f2d 100644 if (ctrl & NAND_CTRL_CHANGE) { if (ctrl & NAND_CLE) -@@ -109,11 +111,9 @@ static void xway_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) +@@ -109,11 +111,9 @@ static void xway_cmd_ctrl(struct mtd_inf } if (cmd != NAND_CMD_NONE) { @@ -49,7 +47,7 @@ index f813a55..e430f2d 100644 } } -@@ -126,12 +126,9 @@ static unsigned char xway_read_byte(struct mtd_info *mtd) +@@ -126,12 +126,9 @@ static unsigned char xway_read_byte(stru { struct nand_chip *this = mtd->priv; unsigned long nandaddr = (unsigned long) this->IO_ADDR_R; @@ -62,7 +60,7 @@ index f813a55..e430f2d 100644 return ret; } -@@ -140,26 +137,20 @@ static void xway_read_buf(struct mtd_info *mtd, u_char *buf, int len) +@@ -140,26 +137,20 @@ static void xway_read_buf(struct mtd_inf { struct nand_chip *this = mtd->priv; unsigned long nandaddr = (unsigned long) this->IO_ADDR_R; @@ -89,6 +87,3 @@ index f813a55..e430f2d 100644 } static int xway_nand_probe(struct platform_device *pdev) --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0018-MTD-nand-lots-of-xrx200-fixes.patch b/target/linux/lantiq/patches-3.14/0018-MTD-nand-lots-of-xrx200-fixes.patch index 1e1f299766..5500861c22 100644 --- a/target/linux/lantiq/patches-3.14/0018-MTD-nand-lots-of-xrx200-fixes.patch +++ b/target/linux/lantiq/patches-3.14/0018-MTD-nand-lots-of-xrx200-fixes.patch @@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org> drivers/mtd/nand/xway_nand.c | 63 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) -diff --git a/drivers/mtd/nand/xway_nand.c b/drivers/mtd/nand/xway_nand.c -index e430f2d..fedf2c4 100644 --- a/drivers/mtd/nand/xway_nand.c +++ b/drivers/mtd/nand/xway_nand.c @@ -54,8 +54,27 @@ @@ -40,7 +38,7 @@ index e430f2d..fedf2c4 100644 static void xway_reset_chip(struct nand_chip *chip) { unsigned long nandaddr = (unsigned long) chip->IO_ADDR_W; -@@ -86,12 +105,24 @@ static void xway_select_chip(struct mtd_info *mtd, int chip) +@@ -86,12 +105,24 @@ static void xway_select_chip(struct mtd_ case -1: ltq_ebu_w32_mask(NAND_CON_CE, 0, EBU_NAND_CON); ltq_ebu_w32_mask(NAND_CON_NANDM, 0, EBU_NAND_CON); @@ -65,7 +63,7 @@ index e430f2d..fedf2c4 100644 break; default: BUG(); -@@ -103,6 +134,12 @@ static void xway_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) +@@ -103,6 +134,12 @@ static void xway_cmd_ctrl(struct mtd_inf struct nand_chip *this = mtd->priv; unsigned long nandaddr = (unsigned long) this->IO_ADDR_W; @@ -78,7 +76,7 @@ index e430f2d..fedf2c4 100644 if (ctrl & NAND_CTRL_CHANGE) { if (ctrl & NAND_CLE) xway_latchcmd = NAND_WRITE_CMD; -@@ -115,6 +152,24 @@ static void xway_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) +@@ -115,6 +152,24 @@ static void xway_cmd_ctrl(struct mtd_inf while ((ltq_ebu_r32(EBU_NAND_WAIT) & NAND_WAIT_WR_C) == 0) ; } @@ -103,7 +101,7 @@ index e430f2d..fedf2c4 100644 } static int xway_dev_ready(struct mtd_info *mtd) -@@ -157,6 +212,8 @@ static int xway_nand_probe(struct platform_device *pdev) +@@ -157,6 +212,8 @@ static int xway_nand_probe(struct platfo { struct nand_chip *this = platform_get_drvdata(pdev); unsigned long nandaddr = (unsigned long) this->IO_ADDR_W; @@ -112,7 +110,7 @@ index e430f2d..fedf2c4 100644 const __be32 *cs = of_get_property(pdev->dev.of_node, "lantiq,cs", NULL); u32 cs_flag = 0; -@@ -165,6 +222,12 @@ static int xway_nand_probe(struct platform_device *pdev) +@@ -165,6 +222,12 @@ static int xway_nand_probe(struct platfo if (cs && (*cs == 1)) cs_flag = NAND_CON_IN_CS1 | NAND_CON_OUT_CS1; @@ -125,6 +123,3 @@ index e430f2d..fedf2c4 100644 /* setup the EBU to run in NAND mode on our base addr */ ltq_ebu_w32(CPHYSADDR(nandaddr) | ADDSEL1_MASK(3) | ADDSEL1_REGEN, EBU_ADDSEL1); --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0019-MTD-lantiq-Add-NAND-support-on-Lantiq-Falcon-SoC.patch b/target/linux/lantiq/patches-3.14/0019-MTD-lantiq-Add-NAND-support-on-Lantiq-Falcon-SoC.patch index ad1c2cf540..b6dce76d1c 100644 --- a/target/linux/lantiq/patches-3.14/0019-MTD-lantiq-Add-NAND-support-on-Lantiq-Falcon-SoC.patch +++ b/target/linux/lantiq/patches-3.14/0019-MTD-lantiq-Add-NAND-support-on-Lantiq-Falcon-SoC.patch @@ -16,8 +16,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org> 3 files changed, 92 insertions(+) create mode 100644 drivers/mtd/nand/falcon_nand.c -diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig -index 90ff447..7064f0e 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -510,4 +510,12 @@ config MTD_NAND_XWAY @@ -33,20 +31,15 @@ index 90ff447..7064f0e 100644 + attached to the External Bus Unit (EBU). + endif # MTD_NAND -diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile -index 542b568..78a1cd2 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_MTD_NAND_FALCON) += falcon_nand.o nand-objs := nand_base.o nand_bbt.o -diff --git a/drivers/mtd/nand/falcon_nand.c b/drivers/mtd/nand/falcon_nand.c -new file mode 100644 -index 0000000..13458d3 --- /dev/null +++ b/drivers/mtd/nand/falcon_nand.c @@ -0,0 +1,83 @@ @@ -133,6 +126,3 @@ index 0000000..13458d3 +} + +arch_initcall(falcon_register_nand); --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0020-MTD-lantiq-handle-NO_XIP-on-cfi0001-flash.patch b/target/linux/lantiq/patches-3.14/0020-MTD-lantiq-handle-NO_XIP-on-cfi0001-flash.patch index 4a2317030c..c810286dac 100644 --- a/target/linux/lantiq/patches-3.14/0020-MTD-lantiq-handle-NO_XIP-on-cfi0001-flash.patch +++ b/target/linux/lantiq/patches-3.14/0020-MTD-lantiq-handle-NO_XIP-on-cfi0001-flash.patch @@ -8,11 +8,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org> drivers/mtd/maps/lantiq-flash.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) -diff --git a/drivers/mtd/maps/lantiq-flash.c b/drivers/mtd/maps/lantiq-flash.c -index 93c507a..710d699 100644 --- a/drivers/mtd/maps/lantiq-flash.c +++ b/drivers/mtd/maps/lantiq-flash.c -@@ -140,7 +140,11 @@ ltq_mtd_probe(struct platform_device *pdev) +@@ -140,7 +140,11 @@ ltq_mtd_probe(struct platform_device *pd if (!ltq_mtd->map) return -ENOMEM; @@ -25,6 +23,3 @@ index 93c507a..710d699 100644 ltq_mtd->map->size = resource_size(ltq_mtd->res); ltq_mtd->map->virt = devm_ioremap_resource(&pdev->dev, ltq_mtd->res); if (IS_ERR(ltq_mtd->map->virt)) --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0021-MTD-lantiq-Makes-the-Lantiq-flash-driver-try-jedec-p.patch b/target/linux/lantiq/patches-3.14/0021-MTD-lantiq-Makes-the-Lantiq-flash-driver-try-jedec-p.patch index 00a2c8e1d3..33c3616ea5 100644 --- a/target/linux/lantiq/patches-3.14/0021-MTD-lantiq-Makes-the-Lantiq-flash-driver-try-jedec-p.patch +++ b/target/linux/lantiq/patches-3.14/0021-MTD-lantiq-Makes-the-Lantiq-flash-driver-try-jedec-p.patch @@ -13,11 +13,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org> drivers/mtd/maps/lantiq-flash.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) -diff --git a/drivers/mtd/maps/lantiq-flash.c b/drivers/mtd/maps/lantiq-flash.c -index 710d699..dd1e853 100644 --- a/drivers/mtd/maps/lantiq-flash.c +++ b/drivers/mtd/maps/lantiq-flash.c -@@ -117,6 +117,11 @@ ltq_mtd_probe(struct platform_device *pdev) +@@ -117,6 +117,11 @@ ltq_mtd_probe(struct platform_device *pd struct cfi_private *cfi; int err; @@ -29,7 +27,7 @@ index 710d699..dd1e853 100644 if (of_machine_is_compatible("lantiq,falcon") && (ltq_boot_select() != BS_FLASH)) { dev_err(&pdev->dev, "invalid bootstrap options\n"); -@@ -158,7 +163,10 @@ ltq_mtd_probe(struct platform_device *pdev) +@@ -158,7 +163,10 @@ ltq_mtd_probe(struct platform_device *pd ltq_mtd->map->copy_to = ltq_copy_to; ltq_mtd->map->map_priv_1 = LTQ_NOR_PROBING; @@ -41,6 +39,3 @@ index 710d699..dd1e853 100644 ltq_mtd->map->map_priv_1 = LTQ_NOR_NORMAL; if (!ltq_mtd->mtd) { --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0022-MTD-m25p80-allow-loading-mtd-name-from-OF.patch b/target/linux/lantiq/patches-3.14/0022-MTD-m25p80-allow-loading-mtd-name-from-OF.patch index 44970a5466..8ebdc99878 100644 --- a/target/linux/lantiq/patches-3.14/0022-MTD-m25p80-allow-loading-mtd-name-from-OF.patch +++ b/target/linux/lantiq/patches-3.14/0022-MTD-m25p80-allow-loading-mtd-name-from-OF.patch @@ -12,11 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org> drivers/mtd/devices/m25p80.c | 6 ++++++ 1 file changed, 6 insertions(+) -diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c -index ad19139..9f7b35a 100644 --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c -@@ -1097,6 +1097,10 @@ static int m25p_probe(struct spi_device *spi) +@@ -1105,6 +1105,10 @@ static int m25p_probe(struct spi_device struct mtd_part_parser_data ppdata; struct device_node *np = spi->dev.of_node; int ret; @@ -27,7 +25,7 @@ index ad19139..9f7b35a 100644 /* Platform data helps sort out which chip type we have, as * well as how this board partitions it. If we don't have -@@ -1169,6 +1173,8 @@ static int m25p_probe(struct spi_device *spi) +@@ -1177,6 +1181,8 @@ static int m25p_probe(struct spi_device if (data && data->name) flash->mtd.name = data->name; @@ -36,6 +34,3 @@ index ad19139..9f7b35a 100644 else flash->mtd.name = dev_name(&spi->dev); --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0023-NET-PHY-adds-driver-for-lantiq-PHY11G.patch b/target/linux/lantiq/patches-3.14/0023-NET-PHY-adds-driver-for-lantiq-PHY11G.patch index bd769e7ff7..3f53bf808f 100644 --- a/target/linux/lantiq/patches-3.14/0023-NET-PHY-adds-driver-for-lantiq-PHY11G.patch +++ b/target/linux/lantiq/patches-3.14/0023-NET-PHY-adds-driver-for-lantiq-PHY11G.patch @@ -11,13 +11,11 @@ Signed-off-by: John Crispin <blogic@openwrt.org> 3 files changed, 237 insertions(+) create mode 100644 drivers/net/phy/lantiq.c -diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig -index 9b5d46c..f3724b1 100644 --- a/drivers/net/phy/Kconfig +++ b/drivers/net/phy/Kconfig -@@ -106,6 +106,11 @@ config MICREL_PHY +@@ -157,6 +157,11 @@ config MICREL_PHY ---help--- - Supports the KSZ9021, VSC8201, KS8001 PHYs. + Currently has a driver for the KSZ8041 +config LANTIQ_PHY + tristate "Driver for Lantiq PHYs" @@ -27,11 +25,9 @@ index 9b5d46c..f3724b1 100644 config FIXED_PHY bool "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs" depends on PHYLIB=y -diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile -index 9013dfa..b5e030f 100644 --- a/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile -@@ -23,6 +23,7 @@ obj-$(CONFIG_NATIONAL_PHY) += national.o +@@ -40,6 +40,7 @@ obj-$(CONFIG_NATIONAL_PHY) += national.o obj-$(CONFIG_DP83640_PHY) += dp83640.o obj-$(CONFIG_STE10XP) += ste10Xp.o obj-$(CONFIG_MICREL_PHY) += micrel.o @@ -39,9 +35,6 @@ index 9013dfa..b5e030f 100644 obj-$(CONFIG_MDIO_OCTEON) += mdio-octeon.o obj-$(CONFIG_MICREL_KS8995MA) += spi_ks8995.o obj-$(CONFIG_AT803X_PHY) += at803x.o -diff --git a/drivers/net/phy/lantiq.c b/drivers/net/phy/lantiq.c -new file mode 100644 -index 0000000..f109bb9 --- /dev/null +++ b/drivers/net/phy/lantiq.c @@ -0,0 +1,231 @@ @@ -276,6 +269,3 @@ index 0000000..f109bb9 +MODULE_DESCRIPTION("Lantiq PHY drivers"); +MODULE_AUTHOR("Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>"); +MODULE_LICENSE("GPL"); --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0024-NET-lantiq-adds-PHY11G-firmware-blobs.patch b/target/linux/lantiq/patches-3.14/0024-NET-lantiq-adds-PHY11G-firmware-blobs.patch index e4c221c5bb..b69b2a900f 100644 --- a/target/linux/lantiq/patches-3.14/0024-NET-lantiq-adds-PHY11G-firmware-blobs.patch +++ b/target/linux/lantiq/patches-3.14/0024-NET-lantiq-adds-PHY11G-firmware-blobs.patch @@ -12,11 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org> create mode 100644 firmware/lantiq/COPYING create mode 100644 firmware/lantiq/README -diff --git a/firmware/Makefile b/firmware/Makefile -index cbb09ce..171ebab 100644 --- a/firmware/Makefile +++ b/firmware/Makefile -@@ -134,6 +134,10 @@ fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw +@@ -134,6 +134,10 @@ fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_P fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw fw-shipped-$(CONFIG_USB_VICAM) += vicam/firmware.fw fw-shipped-$(CONFIG_VIDEO_CPIA2) += cpia2/stv0672_vp4.bin @@ -27,9 +25,6 @@ index cbb09ce..171ebab 100644 fw-shipped-$(CONFIG_YAM) += yam/1200.bin yam/9600.bin fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-) -diff --git a/firmware/lantiq/COPYING b/firmware/lantiq/COPYING -new file mode 100644 -index 0000000..5ec70b2 --- /dev/null +++ b/firmware/lantiq/COPYING @@ -0,0 +1,286 @@ @@ -319,9 +314,6 @@ index 0000000..5ec70b2 +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS -diff --git a/firmware/lantiq/README b/firmware/lantiq/README -new file mode 100644 -index 0000000..1b666d4 --- /dev/null +++ b/firmware/lantiq/README @@ -0,0 +1,45 @@ @@ -370,6 +362,3 @@ index 0000000..1b666d4 +# GPHY core on Lantiq XWAY VR9 v1.2 +lantiq/vr9_phy11g_a2x.bin +lantiq/vr9_phy22f_a2x.bin --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0025-NET-MIPS-lantiq-adds-xrx200-net.patch b/target/linux/lantiq/patches-3.14/0025-NET-MIPS-lantiq-adds-xrx200-net.patch index 963b4a5365..673c9f85b4 100644 --- a/target/linux/lantiq/patches-3.14/0025-NET-MIPS-lantiq-adds-xrx200-net.patch +++ b/target/linux/lantiq/patches-3.14/0025-NET-MIPS-lantiq-adds-xrx200-net.patch @@ -14,11 +14,9 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net create mode 100644 drivers/net/ethernet/lantiq_xrx200.c create mode 100644 drivers/net/ethernet/lantiq_xrx200_sw.h -Index: linux-3.14.18/drivers/net/ethernet/Kconfig -=================================================================== ---- linux-3.14.18.orig/drivers/net/ethernet/Kconfig 2014-09-06 01:34:59.000000000 +0200 -+++ linux-3.14.18/drivers/net/ethernet/Kconfig 2014-09-13 05:02:42.601066602 +0200 -@@ -84,7 +84,13 @@ +--- a/drivers/net/ethernet/Kconfig ++++ b/drivers/net/ethernet/Kconfig +@@ -84,7 +84,13 @@ config LANTIQ_ETOP tristate "Lantiq SoC ETOP driver" depends on SOC_TYPE_XWAY ---help--- @@ -33,11 +31,9 @@ Index: linux-3.14.18/drivers/net/ethernet/Kconfig source "drivers/net/ethernet/marvell/Kconfig" source "drivers/net/ethernet/mellanox/Kconfig" -Index: linux-3.14.18/drivers/net/ethernet/Makefile -=================================================================== ---- linux-3.14.18.orig/drivers/net/ethernet/Makefile 2014-09-06 01:34:59.000000000 +0200 -+++ linux-3.14.18/drivers/net/ethernet/Makefile 2014-09-13 05:02:42.601066602 +0200 -@@ -38,6 +38,7 @@ +--- a/drivers/net/ethernet/Makefile ++++ b/drivers/net/ethernet/Makefile +@@ -38,6 +38,7 @@ obj-$(CONFIG_IP1000) += icplus/ obj-$(CONFIG_JME) += jme.o obj-$(CONFIG_KORINA) += korina.o obj-$(CONFIG_LANTIQ_ETOP) += lantiq_etop.o @@ -45,10 +41,8 @@ Index: linux-3.14.18/drivers/net/ethernet/Makefile obj-$(CONFIG_NET_VENDOR_MARVELL) += marvell/ obj-$(CONFIG_NET_VENDOR_MELLANOX) += mellanox/ obj-$(CONFIG_NET_VENDOR_MICREL) += micrel/ -Index: linux-3.14.18/drivers/net/ethernet/lantiq_pce.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.14.18/drivers/net/ethernet/lantiq_pce.h 2014-09-13 05:02:42.601066602 +0200 +--- /dev/null ++++ b/drivers/net/ethernet/lantiq_pce.h @@ -0,0 +1,163 @@ +/* + * This program is free software; you can redistribute it and/or modify it @@ -213,10 +207,8 @@ Index: linux-3.14.18/drivers/net/ethernet/lantiq_pce.h + MC_ENTRY(0x0000, 0x0000, 39, OUT_NONE, 0, INSTR, FLAG_END, 0), + MC_ENTRY(0x0000, 0x0000, 39, OUT_NONE, 0, INSTR, FLAG_END, 0), +}; -Index: linux-3.14.18/drivers/net/ethernet/lantiq_xrx200.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.14.18/drivers/net/ethernet/lantiq_xrx200.c 2014-09-13 05:04:05.185068633 +0200 +--- /dev/null ++++ b/drivers/net/ethernet/lantiq_xrx200.c @@ -0,0 +1,1796 @@ +/* + * This program is free software; you can redistribute it and/or modify it @@ -2014,10 +2006,8 @@ Index: linux-3.14.18/drivers/net/ethernet/lantiq_xrx200.c +MODULE_AUTHOR("John Crispin <blogic@openwrt.org>"); +MODULE_DESCRIPTION("Lantiq SoC XRX200 ethernet"); +MODULE_LICENSE("GPL"); -Index: linux-3.14.18/drivers/net/ethernet/lantiq_xrx200_sw.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.14.18/drivers/net/ethernet/lantiq_xrx200_sw.h 2014-09-13 05:02:42.605066602 +0200 +--- /dev/null ++++ b/drivers/net/ethernet/lantiq_xrx200_sw.h @@ -0,0 +1,1328 @@ +/* + * This program is free software; you can redistribute it and/or modify it diff --git a/target/linux/lantiq/patches-3.14/0026-NET-multi-phy-support.patch b/target/linux/lantiq/patches-3.14/0026-NET-multi-phy-support.patch index 9ffc6805a2..3bd2419daf 100644 --- a/target/linux/lantiq/patches-3.14/0026-NET-multi-phy-support.patch +++ b/target/linux/lantiq/patches-3.14/0026-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/lantiq/patches-3.14/0027-NET-add-of_get_mac_address_mtd.patch b/target/linux/lantiq/patches-3.14/0027-NET-add-of_get_mac_address_mtd.patch index 53489ed5a6..e8ae26d085 100644 --- a/target/linux/lantiq/patches-3.14/0027-NET-add-of_get_mac_address_mtd.patch +++ b/target/linux/lantiq/patches-3.14/0027-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/lantiq/patches-3.14/0028-NET-lantiq-various-etop-fixes.patch b/target/linux/lantiq/patches-3.14/0028-NET-lantiq-various-etop-fixes.patch index 1c8821c88a..7f737fab1a 100644 --- a/target/linux/lantiq/patches-3.14/0028-NET-lantiq-various-etop-fixes.patch +++ b/target/linux/lantiq/patches-3.14/0028-NET-lantiq-various-etop-fixes.patch @@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org> drivers/net/ethernet/lantiq_etop.c | 555 +++++++++++++++++++++++++----------- 1 file changed, 389 insertions(+), 166 deletions(-) -diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c -index fd4b6ae..1712382 100644 --- a/drivers/net/ethernet/lantiq_etop.c +++ b/drivers/net/ethernet/lantiq_etop.c @@ -11,7 +11,7 @@ @@ -82,15 +80,13 @@ index fd4b6ae..1712382 100644 -#define ETOP_MII_REVERSE 0xe #define ETOP_PLEN_UNDER 0x40 -#define ETOP_CGEN 0x800 -- ++#define ETOP_CFG_MII0 0x01 + -/* use 2 static channels for TX/RX */ -#define LTQ_ETOP_TX_CHANNEL 1 -#define LTQ_ETOP_RX_CHANNEL 6 -#define IS_TX(x) (x == LTQ_ETOP_TX_CHANNEL) -#define IS_RX(x) (x == LTQ_ETOP_RX_CHANNEL) -- -+#define ETOP_CFG_MII0 0x01 -+ +#define ETOP_CFG_MASK 0xfff +#define ETOP_CFG_FEN0 (1 << 8) +#define ETOP_CFG_SEN0 (1 << 6) @@ -128,7 +124,7 @@ index fd4b6ae..1712382 100644 +#define MDIO_XR9_REG_OFFSET 0 +#define MDIO_XR9_ADDR_OFFSET 5 +#define MDIO_XR9_WR_OFFSET 16 -+ + +#define LTQ_DMA_ETOP ((of_machine_is_compatible("lantiq,ase")) ? \ + (INT_NUM_IM3_IRL0) : (INT_NUM_IM2_IRL0)) + @@ -196,7 +192,7 @@ index fd4b6ae..1712382 100644 if (!ch->skb[ch->dma.desc]) return -ENOMEM; ch->dma.desc_base[ch->dma.desc].addr = dma_map_single(NULL, -@@ -148,8 +213,11 @@ ltq_etop_hw_receive(struct ltq_etop_chan *ch) +@@ -148,8 +213,11 @@ ltq_etop_hw_receive(struct ltq_etop_chan spin_unlock_irqrestore(&priv->lock, flags); skb_put(skb, len); @@ -208,7 +204,7 @@ index fd4b6ae..1712382 100644 } static int -@@ -157,8 +225,10 @@ ltq_etop_poll_rx(struct napi_struct *napi, int budget) +@@ -157,8 +225,10 @@ ltq_etop_poll_rx(struct napi_struct *nap { struct ltq_etop_chan *ch = container_of(napi, struct ltq_etop_chan, napi); @@ -219,7 +215,7 @@ index fd4b6ae..1712382 100644 while ((rx < budget) && !complete) { struct ltq_dma_desc *desc = &ch->dma.desc_base[ch->dma.desc]; -@@ -172,7 +242,9 @@ ltq_etop_poll_rx(struct napi_struct *napi, int budget) +@@ -172,7 +242,9 @@ ltq_etop_poll_rx(struct napi_struct *nap } if (complete || !rx) { napi_complete(&ch->napi); @@ -229,7 +225,7 @@ index fd4b6ae..1712382 100644 } return rx; } -@@ -184,12 +256,14 @@ ltq_etop_poll_tx(struct napi_struct *napi, int budget) +@@ -184,12 +256,14 @@ ltq_etop_poll_tx(struct napi_struct *nap container_of(napi, struct ltq_etop_chan, napi); struct ltq_etop_priv *priv = netdev_priv(ch->netdev); struct netdev_queue *txq = @@ -245,7 +241,7 @@ index fd4b6ae..1712382 100644 dev_kfree_skb_any(ch->skb[ch->tx_free]); ch->skb[ch->tx_free] = NULL; memset(&ch->dma.desc_base[ch->tx_free], 0, -@@ -202,7 +276,9 @@ ltq_etop_poll_tx(struct napi_struct *napi, int budget) +@@ -202,7 +276,9 @@ ltq_etop_poll_tx(struct napi_struct *nap if (netif_tx_queue_stopped(txq)) netif_tx_start_queue(txq); napi_complete(&ch->napi); @@ -269,7 +265,7 @@ index fd4b6ae..1712382 100644 return IRQ_HANDLED; } -@@ -224,7 +301,7 @@ ltq_etop_free_channel(struct net_device *dev, struct ltq_etop_chan *ch) +@@ -224,7 +301,7 @@ ltq_etop_free_channel(struct net_device ltq_dma_free(&ch->dma); if (ch->dma.irq) free_irq(ch->dma.irq, priv); @@ -334,10 +330,10 @@ index fd4b6ae..1712382 100644 struct ltq_etop_priv *priv = netdev_priv(dev); - int i; + int mii_mode = priv->mii_mode; -+ -+ clk_enable(priv->clk_ppe); - ltq_pmu_enable(PMU_PPE); ++ clk_enable(priv->clk_ppe); ++ + if (of_machine_is_compatible("lantiq,ar9")) { + ltq_etop_gbit_init(dev); + /* force the etops link to the gbit to MII */ @@ -446,7 +442,7 @@ index fd4b6ae..1712382 100644 } static void -@@ -309,7 +454,10 @@ ltq_etop_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) +@@ -309,7 +454,10 @@ ltq_etop_get_settings(struct net_device { struct ltq_etop_priv *priv = netdev_priv(dev); @@ -458,7 +454,7 @@ index fd4b6ae..1712382 100644 } static int -@@ -317,7 +465,10 @@ ltq_etop_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) +@@ -317,7 +465,10 @@ ltq_etop_set_settings(struct net_device { struct ltq_etop_priv *priv = netdev_priv(dev); @@ -470,7 +466,7 @@ index fd4b6ae..1712382 100644 } static int -@@ -325,7 +476,10 @@ ltq_etop_nway_reset(struct net_device *dev) +@@ -325,7 +476,10 @@ ltq_etop_nway_reset(struct net_device *d { struct ltq_etop_priv *priv = netdev_priv(dev); @@ -482,7 +478,7 @@ index fd4b6ae..1712382 100644 } static const struct ethtool_ops ltq_etop_ethtool_ops = { -@@ -336,6 +490,39 @@ static const struct ethtool_ops ltq_etop_ethtool_ops = { +@@ -336,6 +490,39 @@ static const struct ethtool_ops ltq_etop }; static int @@ -522,7 +518,7 @@ index fd4b6ae..1712382 100644 ltq_etop_mdio_wr(struct mii_bus *bus, int phy_addr, int phy_reg, u16 phy_data) { u32 val = MDIO_REQUEST | -@@ -343,9 +530,9 @@ ltq_etop_mdio_wr(struct mii_bus *bus, int phy_addr, int phy_reg, u16 phy_data) +@@ -343,9 +530,9 @@ ltq_etop_mdio_wr(struct mii_bus *bus, in ((phy_reg & MDIO_REG_MASK) << MDIO_REG_OFFSET) | phy_data; @@ -534,7 +530,7 @@ index fd4b6ae..1712382 100644 return 0; } -@@ -356,12 +543,12 @@ ltq_etop_mdio_rd(struct mii_bus *bus, int phy_addr, int phy_reg) +@@ -356,12 +543,12 @@ ltq_etop_mdio_rd(struct mii_bus *bus, in ((phy_addr & MDIO_ADDR_MASK) << MDIO_ADDR_OFFSET) | ((phy_reg & MDIO_REG_MASK) << MDIO_REG_OFFSET); @@ -551,18 +547,11 @@ index fd4b6ae..1712382 100644 return val; } -@@ -376,14 +563,18 @@ ltq_etop_mdio_probe(struct net_device *dev) +@@ -376,14 +563,18 @@ ltq_etop_mdio_probe(struct net_device *d { struct ltq_etop_priv *priv = netdev_priv(dev); struct phy_device *phydev = NULL; - int phy_addr; -- -- for (phy_addr = 0; phy_addr < PHY_MAX_ADDR; phy_addr++) { -- if (priv->mii_bus->phy_map[phy_addr]) { -- phydev = priv->mii_bus->phy_map[phy_addr]; -- break; -- } -- } + u32 phy_supported = (SUPPORTED_10baseT_Half + | SUPPORTED_10baseT_Full + | SUPPORTED_100baseT_Half @@ -570,7 +559,13 @@ index fd4b6ae..1712382 100644 + | SUPPORTED_Autoneg + | SUPPORTED_MII + | SUPPORTED_TP); -+ + +- for (phy_addr = 0; phy_addr < PHY_MAX_ADDR; phy_addr++) { +- if (priv->mii_bus->phy_map[phy_addr]) { +- phydev = priv->mii_bus->phy_map[phy_addr]; +- break; +- } +- } + if (of_machine_is_compatible("lantiq,ase")) + phydev = priv->mii_bus->phy_map[8]; + else @@ -578,7 +573,7 @@ index fd4b6ae..1712382 100644 if (!phydev) { netdev_err(dev, "no PHY found\n"); -@@ -391,21 +582,18 @@ ltq_etop_mdio_probe(struct net_device *dev) +@@ -391,21 +582,18 @@ ltq_etop_mdio_probe(struct net_device *d } phydev = phy_connect(dev, dev_name(&phydev->dev), @@ -605,7 +600,7 @@ index fd4b6ae..1712382 100644 phydev->advertising = phydev->supported; priv->phydev = phydev; pr_info("%s: attached PHY [%s] (phy_addr=%s, irq=%d)\n", -@@ -430,8 +618,13 @@ ltq_etop_mdio_init(struct net_device *dev) +@@ -430,8 +618,13 @@ ltq_etop_mdio_init(struct net_device *de } priv->mii_bus->priv = dev; @@ -661,6 +656,12 @@ index fd4b6ae..1712382 100644 - phy_stop(priv->phydev); - for (i = 0; i < MAX_DMA_CHAN; i++) { - struct ltq_etop_chan *ch = &priv->ch[i]; +- +- if (!IS_RX(i) && !IS_TX(i)) +- continue; +- napi_disable(&ch->napi); +- ltq_dma_close(&ch->dma); +- } + if (priv->phydev) + phy_stop(priv->phydev); + napi_disable(&priv->txch.napi); @@ -670,16 +671,11 @@ index fd4b6ae..1712382 100644 + ltq_dma_close(&priv->txch.dma); + ltq_dma_close(&priv->rxch.dma); + spin_unlock_irqrestore(&priv->lock, flags); - -- if (!IS_RX(i) && !IS_TX(i)) -- continue; -- napi_disable(&ch->napi); -- ltq_dma_close(&ch->dma); -- } ++ return 0; } -@@ -520,16 +716,16 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev) +@@ -520,16 +716,16 @@ ltq_etop_tx(struct sk_buff *skb, struct int queue = skb_get_queue_mapping(skb); struct netdev_queue *txq = netdev_get_tx_queue(dev, queue); struct ltq_etop_priv *priv = netdev_priv(dev); @@ -701,7 +697,7 @@ index fd4b6ae..1712382 100644 netdev_err(dev, "tx ring full\n"); netif_tx_stop_queue(txq); return NETDEV_TX_BUSY; -@@ -537,7 +733,7 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev) +@@ -537,7 +733,7 @@ ltq_etop_tx(struct sk_buff *skb, struct /* dma needs to start on a 16 byte aligned address */ byte_offset = CPHYSADDR(skb->data) % 16; @@ -710,7 +706,7 @@ index fd4b6ae..1712382 100644 dev->trans_start = jiffies; -@@ -547,11 +743,11 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev) +@@ -547,11 +743,11 @@ ltq_etop_tx(struct sk_buff *skb, struct wmb(); desc->ctl = LTQ_DMA_OWN | LTQ_DMA_SOP | LTQ_DMA_EOP | LTQ_DMA_TX_OFFSET(byte_offset) | (len & LTQ_DMA_SIZE_MASK); @@ -725,7 +721,7 @@ index fd4b6ae..1712382 100644 netif_tx_stop_queue(txq); return NETDEV_TX_OK; -@@ -566,8 +762,10 @@ ltq_etop_change_mtu(struct net_device *dev, int new_mtu) +@@ -566,8 +762,10 @@ ltq_etop_change_mtu(struct net_device *d struct ltq_etop_priv *priv = netdev_priv(dev); unsigned long flags; @@ -783,7 +779,7 @@ index fd4b6ae..1712382 100644 return 0; err_netdev: -@@ -678,6 +875,9 @@ ltq_etop_tx_timeout(struct net_device *dev) +@@ -678,6 +875,9 @@ ltq_etop_tx_timeout(struct net_device *d err = ltq_etop_hw_init(dev); if (err) goto err_hw; @@ -793,7 +789,7 @@ index fd4b6ae..1712382 100644 dev->trans_start = jiffies; netif_wake_queue(dev); return; -@@ -701,14 +901,18 @@ static const struct net_device_ops ltq_eth_netdev_ops = { +@@ -701,14 +901,18 @@ static const struct net_device_ops ltq_e .ndo_tx_timeout = ltq_etop_tx_timeout, }; @@ -816,7 +812,7 @@ index fd4b6ae..1712382 100644 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) { -@@ -734,30 +938,58 @@ ltq_etop_probe(struct platform_device *pdev) +@@ -734,30 +938,58 @@ ltq_etop_probe(struct platform_device *p goto err_out; } @@ -890,7 +886,7 @@ index fd4b6ae..1712382 100644 err = register_netdev(dev); if (err) -@@ -786,32 +1018,23 @@ ltq_etop_remove(struct platform_device *pdev) +@@ -786,32 +1018,23 @@ ltq_etop_remove(struct platform_device * return 0; } @@ -932,6 +928,3 @@ index fd4b6ae..1712382 100644 MODULE_AUTHOR("John Crispin <blogic@openwrt.org>"); MODULE_DESCRIPTION("Lantiq SoC ETOP"); --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0029-GPIO-MIPS-lantiq-add-gpio-driver-for-falcon-SoC.patch b/target/linux/lantiq/patches-3.14/0029-GPIO-MIPS-lantiq-add-gpio-driver-for-falcon-SoC.patch index a9be6fce0d..ca671f719f 100644 --- a/target/linux/lantiq/patches-3.14/0029-GPIO-MIPS-lantiq-add-gpio-driver-for-falcon-SoC.patch +++ b/target/linux/lantiq/patches-3.14/0029-GPIO-MIPS-lantiq-add-gpio-driver-for-falcon-SoC.patch @@ -17,8 +17,6 @@ Cc: linux-gpio@vger.kernel.org 3 files changed, 354 insertions(+) create mode 100644 drivers/gpio/gpio-falcon.c -diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig -index 903f24d..670c064 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -145,6 +145,11 @@ config GPIO_EP93XX @@ -33,11 +31,9 @@ index 903f24d..670c064 100644 config GPIO_MM_LANTIQ bool "Lantiq Memory mapped GPIOs" depends on LANTIQ && SOC_XWAY -diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile -index 5d50179..c92db39 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -26,6 +26,7 @@ obj-$(CONFIG_GPIO_DAVINCI) += gpio-davinci.o +@@ -26,6 +26,7 @@ obj-$(CONFIG_GPIO_DAVINCI) += gpio-davin obj-$(CONFIG_GPIO_EM) += gpio-em.o obj-$(CONFIG_GPIO_EP93XX) += gpio-ep93xx.o obj-$(CONFIG_GPIO_F7188X) += gpio-f7188x.o @@ -45,9 +41,6 @@ index 5d50179..c92db39 100644 obj-$(CONFIG_GPIO_GE_FPGA) += gpio-ge.o obj-$(CONFIG_GPIO_GRGPIO) += gpio-grgpio.o obj-$(CONFIG_GPIO_ICH) += gpio-ich.o -diff --git a/drivers/gpio/gpio-falcon.c b/drivers/gpio/gpio-falcon.c -new file mode 100644 -index 0000000..ae3bdfb --- /dev/null +++ b/drivers/gpio/gpio-falcon.c @@ -0,0 +1,348 @@ @@ -399,6 +392,3 @@ index 0000000..ae3bdfb +} + +subsys_initcall(falcon_gpio_init); --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0030-GPIO-add-named-gpio-exports.patch b/target/linux/lantiq/patches-3.14/0030-GPIO-add-named-gpio-exports.patch index 0a1064208c..da71d0b539 100644 --- a/target/linux/lantiq/patches-3.14/0030-GPIO-add-named-gpio-exports.patch +++ b/target/linux/lantiq/patches-3.14/0030-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/lantiq/patches-3.14/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch b/target/linux/lantiq/patches-3.14/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch index 713c2aa533..ddc89ddb94 100644 --- a/target/linux/lantiq/patches-3.14/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch +++ b/target/linux/lantiq/patches-3.14/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch @@ -16,11 +16,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org> create mode 100644 drivers/i2c/busses/i2c-lantiq.c create mode 100644 drivers/i2c/busses/i2c-lantiq.h -diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig -index de17c55..3e003c4 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig -@@ -514,6 +514,16 @@ config I2C_KEMPLD +@@ -515,6 +515,16 @@ config I2C_KEMPLD This driver can also be built as a module. If so, the module will be called i2c-kempld. @@ -37,11 +35,9 @@ index de17c55..3e003c4 100644 config I2C_MPC tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx" depends on PPC -diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile -index a08931f..4417097 100644 --- a/drivers/i2c/busses/Makefile +++ b/drivers/i2c/busses/Makefile -@@ -49,6 +49,7 @@ obj-$(CONFIG_I2C_IBM_IIC) += i2c-ibm_iic.o +@@ -49,6 +49,7 @@ obj-$(CONFIG_I2C_IBM_IIC) += i2c-ibm_iic obj-$(CONFIG_I2C_IMX) += i2c-imx.o obj-$(CONFIG_I2C_IOP3XX) += i2c-iop3xx.o obj-$(CONFIG_I2C_KEMPLD) += i2c-kempld.o @@ -49,9 +45,6 @@ index a08931f..4417097 100644 obj-$(CONFIG_I2C_MPC) += i2c-mpc.o obj-$(CONFIG_I2C_MV64XXX) += i2c-mv64xxx.o obj-$(CONFIG_I2C_MXS) += i2c-mxs.o -diff --git a/drivers/i2c/busses/i2c-lantiq.c b/drivers/i2c/busses/i2c-lantiq.c -new file mode 100644 -index 0000000..9a5f58b --- /dev/null +++ b/drivers/i2c/busses/i2c-lantiq.c @@ -0,0 +1,747 @@ @@ -802,9 +795,6 @@ index 0000000..9a5f58b +MODULE_ALIAS("platform:" DRV_NAME); +MODULE_LICENSE("GPL"); +MODULE_VERSION(DRV_VERSION); -diff --git a/drivers/i2c/busses/i2c-lantiq.h b/drivers/i2c/busses/i2c-lantiq.h -new file mode 100644 -index 0000000..7a86b89 --- /dev/null +++ b/drivers/i2c/busses/i2c-lantiq.h @@ -0,0 +1,234 @@ @@ -1042,6 +1032,3 @@ index 0000000..7a86b89 + + +#endif /* I2C_LANTIQ_H */ --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0032-USB-fix-roothub-for-IFXHCD.patch b/target/linux/lantiq/patches-3.14/0032-USB-fix-roothub-for-IFXHCD.patch index 620942665d..a2330597fb 100644 --- a/target/linux/lantiq/patches-3.14/0032-USB-fix-roothub-for-IFXHCD.patch +++ b/target/linux/lantiq/patches-3.14/0032-USB-fix-roothub-for-IFXHCD.patch @@ -8,8 +8,6 @@ Subject: [PATCH 32/36] USB: fix roothub for IFXHCD drivers/usb/core/hub.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -diff --git a/arch/mips/lantiq/Kconfig b/arch/mips/lantiq/Kconfig -index 1621b1d..4c9a241 100644 --- a/arch/mips/lantiq/Kconfig +++ b/arch/mips/lantiq/Kconfig @@ -3,6 +3,7 @@ if LANTIQ @@ -20,11 +18,9 @@ index 1621b1d..4c9a241 100644 default n choice -diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 64ea219..30f4bdf 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -4077,7 +4077,7 @@ hub_port_init (struct usb_hub *hub, struct usb_device *udev, int port1, +@@ -4156,7 +4156,7 @@ hub_port_init (struct usb_hub *hub, stru udev->ttport = hdev->ttport; } else if (udev->speed != USB_SPEED_HIGH && hdev->speed == USB_SPEED_HIGH) { @@ -33,6 +29,3 @@ index 64ea219..30f4bdf 100644 dev_err(&udev->dev, "parent hub has no TT\n"); retval = -EINVAL; goto fail; --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0033-SPI-MIPS-lantiq-adds-spi-xway.patch b/target/linux/lantiq/patches-3.14/0033-SPI-MIPS-lantiq-adds-spi-xway.patch index 3a57416841..fd17b2c0f1 100644 --- a/target/linux/lantiq/patches-3.14/0033-SPI-MIPS-lantiq-adds-spi-xway.patch +++ b/target/linux/lantiq/patches-3.14/0033-SPI-MIPS-lantiq-adds-spi-xway.patch @@ -16,11 +16,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org> 3 files changed, 986 insertions(+) create mode 100644 drivers/spi/spi-xway.c -diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig -index 581ee2a..b2cd93c 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig -@@ -527,6 +527,14 @@ config SPI_NUC900 +@@ -536,6 +536,14 @@ config SPI_NUC900 help SPI driver for Nuvoton NUC900 series ARM SoCs @@ -35,18 +33,13 @@ index 581ee2a..b2cd93c 100644 # # Add new SPI master controllers in alphabetical order above this line # -diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile -index 95af48d..82d3799 100644 --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile -@@ -79,3 +79,4 @@ obj-$(CONFIG_SPI_TOPCLIFF_PCH) += spi-topcliff-pch.o +@@ -80,3 +80,4 @@ obj-$(CONFIG_SPI_TOPCLIFF_PCH) += spi-t obj-$(CONFIG_SPI_TXX9) += spi-txx9.o obj-$(CONFIG_SPI_XCOMM) += spi-xcomm.o obj-$(CONFIG_SPI_XILINX) += spi-xilinx.o +obj-$(CONFIG_SPI_XWAY) += spi-xway.o -diff --git a/drivers/spi/spi-xway.c b/drivers/spi/spi-xway.c -new file mode 100644 -index 0000000..61532e3 --- /dev/null +++ b/drivers/spi/spi-xway.c @@ -0,0 +1,977 @@ @@ -1027,6 +1020,3 @@ index 0000000..61532e3 +MODULE_AUTHOR("Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:spi-xway"); --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0034-reset-Fix-compile-when-reset-RESET_CONTROLLER-is-not.patch b/target/linux/lantiq/patches-3.14/0034-reset-Fix-compile-when-reset-RESET_CONTROLLER-is-not.patch index 9589baa169..95590d348c 100644 --- a/target/linux/lantiq/patches-3.14/0034-reset-Fix-compile-when-reset-RESET_CONTROLLER-is-not.patch +++ b/target/linux/lantiq/patches-3.14/0034-reset-Fix-compile-when-reset-RESET_CONTROLLER-is-not.patch @@ -17,8 +17,6 @@ Cc: Gabor Juhos <juhosg@openwrt.org> include/linux/reset.h | 43 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) -diff --git a/include/linux/reset-controller.h b/include/linux/reset-controller.h -index 41a4695..f38f530 100644 --- a/include/linux/reset-controller.h +++ b/include/linux/reset-controller.h @@ -46,7 +46,23 @@ struct reset_controller_dev { @@ -45,8 +43,6 @@ index 41a4695..f38f530 100644 +#endif + #endif -diff --git a/include/linux/reset.h b/include/linux/reset.h -index 6082247..1b36c9e 100644 --- a/include/linux/reset.h +++ b/include/linux/reset.h @@ -1,9 +1,13 @@ @@ -63,7 +59,7 @@ index 6082247..1b36c9e 100644 int reset_control_reset(struct reset_control *rstc); int reset_control_assert(struct reset_control *rstc); int reset_control_deassert(struct reset_control *rstc); -@@ -14,4 +18,43 @@ struct reset_control *devm_reset_control_get(struct device *dev, const char *id) +@@ -14,4 +18,43 @@ struct reset_control *devm_reset_control int device_reset(struct device *dev); @@ -107,6 +103,3 @@ index 6082247..1b36c9e 100644 +#endif + #endif --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch b/target/linux/lantiq/patches-3.14/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch index 3b92b95b75..f56bbf238e 100644 --- a/target/linux/lantiq/patches-3.14/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch +++ b/target/linux/lantiq/patches-3.14/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch @@ -19,9 +19,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org> create mode 100644 arch/mips/lantiq/xway/pci-ath-fixup.c create mode 100644 arch/mips/lantiq/xway/rt_eep.c -diff --git a/arch/mips/include/asm/mach-lantiq/pci-ath-fixup.h b/arch/mips/include/asm/mach-lantiq/pci-ath-fixup.h -new file mode 100644 -index 0000000..095d261 --- /dev/null +++ b/arch/mips/include/asm/mach-lantiq/pci-ath-fixup.h @@ -0,0 +1,6 @@ @@ -31,11 +28,9 @@ index 0000000..095d261 +void ltq_pci_ath_fixup(unsigned slot, u16 *cal_data) __init; + +#endif /* _PCI_ATH_FIXUP */ -diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h -index 133336b..779715c 100644 --- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h +++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h -@@ -90,5 +90,8 @@ int xrx200_gphy_boot(struct device *dev, unsigned int id, dma_addr_t dev_addr); +@@ -90,5 +90,8 @@ int xrx200_gphy_boot(struct device *dev, extern void ltq_pmu_enable(unsigned int module); extern void ltq_pmu_disable(unsigned int module); @@ -44,11 +39,9 @@ index 133336b..779715c 100644 + #endif /* CONFIG_SOC_TYPE_XWAY */ #endif /* _LTQ_XWAY_H__ */ -diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile -index 2dd442c..de876e1 100644 --- a/arch/mips/lantiq/xway/Makefile +++ b/arch/mips/lantiq/xway/Makefile -@@ -2,4 +2,7 @@ obj-y := prom.o sysctrl.o clk.o reset.o dma.o timer.o dcdc.o +@@ -2,4 +2,7 @@ obj-y := prom.o sysctrl.o clk.o reset.o obj-y += vmmc.o tffs.o @@ -56,9 +49,6 @@ index 2dd442c..de876e1 100644 +obj-$(CONFIG_PCI) += ath_eep.o rt_eep.o pci-ath-fixup.o + obj-$(CONFIG_XRX200_PHY_FW) += xrx200_phy_fw.o -diff --git a/arch/mips/lantiq/xway/ath_eep.c b/arch/mips/lantiq/xway/ath_eep.c -new file mode 100644 -index 0000000..aff42ac --- /dev/null +++ b/arch/mips/lantiq/xway/ath_eep.c @@ -0,0 +1,282 @@ @@ -344,9 +334,6 @@ index 0000000..aff42ac + return platform_driver_probe(&ath5k_eeprom_driver, of_ath5k_eeprom_probe); +} +device_initcall(of_ath5k_eeprom_init); -diff --git a/arch/mips/lantiq/xway/eth_mac.c b/arch/mips/lantiq/xway/eth_mac.c -new file mode 100644 -index 0000000..d288a0e --- /dev/null +++ b/arch/mips/lantiq/xway/eth_mac.c @@ -0,0 +1,76 @@ @@ -426,9 +413,6 @@ index 0000000..d288a0e + return platform_driver_probe(ð_mac_driver, of_eth_mac_probe); +} +device_initcall(of_eth_mac_init); -diff --git a/arch/mips/lantiq/xway/pci-ath-fixup.c b/arch/mips/lantiq/xway/pci-ath-fixup.c -new file mode 100644 -index 0000000..c87ffb2 --- /dev/null +++ b/arch/mips/lantiq/xway/pci-ath-fixup.c @@ -0,0 +1,109 @@ @@ -541,9 +525,6 @@ index 0000000..c87ffb2 + ath_fixups[ath_num_fixups].cal_data = cal_data; + ath_num_fixups++; +} -diff --git a/arch/mips/lantiq/xway/rt_eep.c b/arch/mips/lantiq/xway/rt_eep.c -new file mode 100644 -index 0000000..00f2d4c --- /dev/null +++ b/arch/mips/lantiq/xway/rt_eep.c @@ -0,0 +1,60 @@ @@ -607,6 +588,3 @@ index 0000000..00f2d4c + return platform_driver_probe(&ralink_eeprom_driver, of_ralink_eeprom_probe); +} +device_initcall(of_ralink_eeprom_init); --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0036-owrt-generic-dtb-image-hack.patch b/target/linux/lantiq/patches-3.14/0036-owrt-generic-dtb-image-hack.patch index fba8bb3ad5..8e20b116ff 100644 --- a/target/linux/lantiq/patches-3.14/0036-owrt-generic-dtb-image-hack.patch +++ b/target/linux/lantiq/patches-3.14/0036-owrt-generic-dtb-image-hack.patch @@ -8,13 +8,11 @@ Signed-off-by: John Crispin <blogic@openwrt.org> arch/mips/kernel/head.S | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S -index 7b6a5b3..78518b8 100644 --- a/arch/mips/kernel/head.S +++ b/arch/mips/kernel/head.S -@@ -101,6 +101,9 @@ FEXPORT(__kernel_entry) - j kernel_entry - #endif +@@ -107,6 +107,9 @@ EXPORT(__image_cmdline) + .fill 0x400 + #endif /* CONFIG_IMAGE_CMDLINE_HACK */ + .ascii "OWRTDTB:" + EXPORT(__image_dtb) @@ -22,6 +20,3 @@ index 7b6a5b3..78518b8 100644 __REF NESTED(kernel_entry, 16, sp) # kernel entry point --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0037-MIPS-lantiq-move-eiu-init-after-irq_domain-register.patch b/target/linux/lantiq/patches-3.14/0037-MIPS-lantiq-move-eiu-init-after-irq_domain-register.patch index 856733ad3b..32e4ab89d9 100644 --- a/target/linux/lantiq/patches-3.14/0037-MIPS-lantiq-move-eiu-init-after-irq_domain-register.patch +++ b/target/linux/lantiq/patches-3.14/0037-MIPS-lantiq-move-eiu-init-after-irq_domain-register.patch @@ -8,11 +8,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org> arch/mips/lantiq/irq.c | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) -diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c -index 6b94cc7..3bbedf6 100644 --- a/arch/mips/lantiq/irq.c +++ b/arch/mips/lantiq/irq.c -@@ -380,30 +380,6 @@ int __init icu_of_init(struct device_node *node, struct device_node *parent) +@@ -380,30 +380,6 @@ int __init icu_of_init(struct device_nod panic("Failed to remap icu memory"); } @@ -43,7 +41,7 @@ index 6b94cc7..3bbedf6 100644 /* turn off all irqs by default */ for (i = 0; i < MAX_IM; i++) { /* make sure all irqs are turned off by default */ -@@ -460,6 +436,30 @@ int __init icu_of_init(struct device_node *node, struct device_node *parent) +@@ -460,6 +436,30 @@ int __init icu_of_init(struct device_nod if (MIPS_CPU_TIMER_IRQ != 7) irq_create_mapping(ltq_domain, MIPS_CPU_TIMER_IRQ); @@ -74,6 +72,3 @@ index 6b94cc7..3bbedf6 100644 return 0; } --- -1.7.10.4 - diff --git a/target/linux/lantiq/patches-3.14/0101-mtd-split.patch b/target/linux/lantiq/patches-3.14/0101-mtd-split.patch index e766207803..6576735f32 100644 --- a/target/linux/lantiq/patches-3.14/0101-mtd-split.patch +++ b/target/linux/lantiq/patches-3.14/0101-mtd-split.patch @@ -1,7 +1,5 @@ -Index: linux-3.14.18/arch/mips/lantiq/xway/Makefile -=================================================================== ---- linux-3.14.18.orig/arch/mips/lantiq/xway/Makefile 2014-09-11 16:31:10.000000000 +0200 -+++ linux-3.14.18/arch/mips/lantiq/xway/Makefile 2014-09-11 16:32:52.188968735 +0200 +--- a/arch/mips/lantiq/xway/Makefile ++++ b/arch/mips/lantiq/xway/Makefile @@ -1,6 +1,6 @@ obj-y := prom.o sysctrl.o clk.o reset.o dma.o timer.o dcdc.o @@ -10,10 +8,8 @@ Index: linux-3.14.18/arch/mips/lantiq/xway/Makefile obj-y += eth_mac.o obj-$(CONFIG_PCI) += ath_eep.o rt_eep.o pci-ath-fixup.o -Index: linux-3.14.18/arch/mips/lantiq/xway/mtd_split.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.14.18/arch/mips/lantiq/xway/mtd_split.c 2014-09-11 16:31:51.712967248 +0200 +--- /dev/null ++++ b/arch/mips/lantiq/xway/mtd_split.c @@ -0,0 +1,129 @@ +#include <linux/magic.h> +#include <linux/root_dev.h> @@ -144,11 +140,9 @@ Index: linux-3.14.18/arch/mips/lantiq/xway/mtd_split.c + split_eva_kernel(master, name, offset, size); + split_brnimage_kernel(master, name, offset, size); +} -Index: linux-3.14.18/include/linux/mtd/partitions.h -=================================================================== ---- linux-3.14.18.orig/include/linux/mtd/partitions.h 2014-09-11 16:31:10.752966240 +0200 -+++ linux-3.14.18/include/linux/mtd/partitions.h 2014-09-11 16:44:49.432986380 +0200 -@@ -89,12 +89,17 @@ +--- a/include/linux/mtd/partitions.h ++++ b/include/linux/mtd/partitions.h +@@ -89,12 +89,17 @@ extern void deregister_mtd_parser(struct int mtd_is_partition(const struct mtd_info *mtd); int mtd_add_partition(struct mtd_info *master, const char *name, long long offset, long long length); @@ -168,11 +162,9 @@ Index: linux-3.14.18/include/linux/mtd/partitions.h int parse_mtd_partitions_by_type(struct mtd_info *master, enum mtd_parser_type type, -Index: linux-3.14.18/drivers/mtd/mtdpart.c -=================================================================== ---- linux-3.14.18.orig/drivers/mtd/mtdpart.c 2014-09-11 16:31:10.752966240 +0200 -+++ linux-3.14.18/drivers/mtd/mtdpart.c 2014-09-11 16:33:11.732969216 +0200 -@@ -617,7 +617,7 @@ +--- a/drivers/mtd/mtdpart.c ++++ b/drivers/mtd/mtdpart.c +@@ -617,7 +617,7 @@ out_register: } @@ -181,7 +173,7 @@ Index: linux-3.14.18/drivers/mtd/mtdpart.c __mtd_add_partition(struct mtd_info *master, const char *name, long long offset, long long length, bool dup_check) { -@@ -738,7 +738,7 @@ +@@ -738,7 +738,7 @@ run_parsers_by_type(struct mtd_part *sla return nr_parts; } @@ -190,7 +182,7 @@ Index: linux-3.14.18/drivers/mtd/mtdpart.c mtd_pad_erasesize(struct mtd_info *mtd, int offset, int len) { unsigned long mask = mtd->erasesize - 1; -@@ -807,7 +807,6 @@ +@@ -808,7 +808,6 @@ static void split_uimage(struct mtd_info return; len = be32_to_cpu(hdr.size) + 0x40; diff --git a/target/linux/lantiq/patches-3.14/0150-lantiq-pinctrl-xway.patch b/target/linux/lantiq/patches-3.14/0150-lantiq-pinctrl-xway.patch index 55cb2b9698..84adbe661f 100644 --- a/target/linux/lantiq/patches-3.14/0150-lantiq-pinctrl-xway.patch +++ b/target/linux/lantiq/patches-3.14/0150-lantiq-pinctrl-xway.patch @@ -1,6 +1,6 @@ ---- linux-3.14.18.orig/drivers/pinctrl/pinctrl-xway.c.orig 2014-09-27 14:55:20.000000000 +0200 -+++ linux-3.14.18/drivers/pinctrl/pinctrl-xway.c 2014-10-05 21:15:02.000000000 +0200 -@@ -152,10 +152,10 @@ +--- a/drivers/pinctrl/pinctrl-xway.c ++++ b/drivers/pinctrl/pinctrl-xway.c +@@ -152,10 +152,10 @@ static const struct ltq_mfp_pin xway_mfp MFP_XWAY(GPIO41, GPIO, NONE, NONE, NONE), MFP_XWAY(GPIO42, GPIO, MDIO, NONE, NONE), MFP_XWAY(GPIO43, GPIO, MDIO, NONE, NONE), diff --git a/target/linux/lantiq/patches-3.14/0151-lantiq-ifxmips_pcie-use-of.patch b/target/linux/lantiq/patches-3.14/0151-lantiq-ifxmips_pcie-use-of.patch index eeffa889f2..04de41b0fc 100644 --- a/target/linux/lantiq/patches-3.14/0151-lantiq-ifxmips_pcie-use-of.patch +++ b/target/linux/lantiq/patches-3.14/0151-lantiq-ifxmips_pcie-use-of.patch @@ -1,5 +1,5 @@ ---- linux-3.14.18.orig/arch/mips/pci/ifxmips_pcie.c 2014-09-27 14:55:19.000000000 +0200 -+++ linux-3.14.18/arch/mips/pci/ifxmips_pcie.c 2014-10-09 13:45:12.000000000 +0200 +--- a/arch/mips/pci/ifxmips_pcie.c ++++ b/arch/mips/pci/ifxmips_pcie.c @@ -18,6 +18,8 @@ #include <linux/pci_regs.h> #include <linux/module.h> @@ -9,7 +9,7 @@ #include "ifxmips_pcie.h" #include "ifxmips_pcie_reg.h" -@@ -1048,7 +1050,7 @@ +@@ -1048,7 +1050,7 @@ pcie_rc_initialize(int pcie_port) extern int (*ltq_pci_plat_arch_init)(struct pci_dev *dev); extern int (*ltq_pci_map_irq)(const struct pci_dev *dev, u8 slot, u8 pin); @@ -18,7 +18,7 @@ { void __iomem *io_map_base; int pcie_port; -@@ -1090,6 +1092,30 @@ +@@ -1090,6 +1092,30 @@ static int __init ifx_pcie_bios_init(voi return 0; } diff --git a/target/linux/lantiq/patches-3.14/0160-owrt-lantiq-multiple-flash.patch b/target/linux/lantiq/patches-3.14/0160-owrt-lantiq-multiple-flash.patch index 87e6cbb89a..ac644abb51 100644 --- a/target/linux/lantiq/patches-3.14/0160-owrt-lantiq-multiple-flash.patch +++ b/target/linux/lantiq/patches-3.14/0160-owrt-lantiq-multiple-flash.patch @@ -1,5 +1,5 @@ ---- "a/drivers/mtd/maps/lantiq-flash.c" -+++ "b/drivers/mtd/maps/lantiq-flash.c" +--- a/drivers/mtd/maps/lantiq-flash.c ++++ b/drivers/mtd/maps/lantiq-flash.c @@ -20,6 +20,7 @@ #include <linux/mtd/cfi.h> #include <linux/platform_device.h> @@ -8,7 +8,7 @@ #include <linux/of.h> #include <lantiq_soc.h> -@@ -39,10 +40,12 @@ +@@ -39,10 +40,12 @@ enum { LTQ_NOR_NORMAL }; @@ -24,7 +24,7 @@ }; static const char ltq_map_name[] = "ltq_nor"; -@@ -110,12 +113,39 @@ +@@ -110,12 +113,39 @@ ltq_copy_to(struct map_info *map, unsign } static int @@ -65,7 +65,7 @@ static const char *rom_probe_types[] = { "cfi_probe", "jedec_probe", NULL -@@ -134,79 +164,88 @@ +@@ -134,79 +164,88 @@ ltq_mtd_probe(struct platform_device *pd platform_set_drvdata(pdev, ltq_mtd); |