From 6c46a10246f98dfebc2ab0df631f8129ffee2b2e Mon Sep 17 00:00:00 2001 From: John Crispin Date: Thu, 19 Jun 2014 14:12:59 +0000 Subject: [PATCH] lantiq: refresh patches this adds ben's ath9k fixup Signed-off-by: John Crispin SVN-Revision: 41269 --- ...iq-wifi-and-ethernet-eeprom-handling.patch | 32 ++++++++++++++++--- ...25p80-allow-loading-mtd-name-from-OF.patch | 4 +-- .../lantiq/patches-3.10/0100-mtd-split.patch | 2 +- .../linux/lantiq/patches-3.10/0103-tffs.patch | 2 +- 4 files changed, 31 insertions(+), 9 deletions(-) diff --git a/target/linux/lantiq/patches-3.10/0010-MIPS-lantiq-wifi-and-ethernet-eeprom-handling.patch b/target/linux/lantiq/patches-3.10/0010-MIPS-lantiq-wifi-and-ethernet-eeprom-handling.patch index 2580fcd573..3b3509859c 100644 --- a/target/linux/lantiq/patches-3.10/0010-MIPS-lantiq-wifi-and-ethernet-eeprom-handling.patch +++ b/target/linux/lantiq/patches-3.10/0010-MIPS-lantiq-wifi-and-ethernet-eeprom-handling.patch @@ -41,8 +41,9 @@ Subject: [PATCH 18/22] owrt: lantiq: wifi and ethernet eeprom handling #endif /* _LTQ_XWAY_H__ */ --- a/arch/mips/lantiq/xway/Makefile +++ b/arch/mips/lantiq/xway/Makefile -@@ -1,3 +1,6 @@ - obj-y := prom.o sysctrl.o clk.o reset.o dma.o gptu.o dcdc.o +@@ -2,4 +2,7 @@ obj-y := prom.o sysctrl.o clk.o reset.o + + obj-y += vmmc.o +obj-y += eth_mac.o +obj-$(CONFIG_PCI) += ath_eep.o rt_eep.o pci-ath-fixup.o @@ -50,7 +51,7 @@ Subject: [PATCH 18/22] owrt: lantiq: wifi and ethernet eeprom handling obj-$(CONFIG_XRX200_PHY_FW) += xrx200_phy_fw.o --- /dev/null +++ b/arch/mips/lantiq/xway/ath_eep.c -@@ -0,0 +1,250 @@ +@@ -0,0 +1,271 @@ +/* + * Copyright (C) 2011 Luca Olivetti + * Copyright (C) 2011 John Crispin @@ -88,6 +89,7 @@ Subject: [PATCH 18/22] owrt: lantiq: wifi and ethernet eeprom handling + return 0; +} + ++static int ath9k_eep_load; +int __init of_ath9k_eeprom_probe(struct platform_device *pdev) +{ + struct device_node *np = pdev->dev.of_node, *mtd_np; @@ -170,6 +172,13 @@ Subject: [PATCH 18/22] owrt: lantiq: wifi and ethernet eeprom handling + ltq_pci_ath_fixup(pci_slot, ath9k_pdata.eeprom_data); + + dev_info(&pdev->dev, "pci slot: %u\n", pci_slot); ++ if (ath9k_eep_load) { ++ struct pci_dev *d = NULL; ++ while ((d = pci_get_device(PCI_VENDOR_ID_ATHEROS, ++ PCI_ANY_ID, d)) != NULL) ++ pci_fixup_device(pci_fixup_early, d); ++ } ++ + } + + dev_info(&pdev->dev, "loaded ath9k eeprom\n"); @@ -192,9 +201,22 @@ Subject: [PATCH 18/22] owrt: lantiq: wifi and ethernet eeprom handling + +static int __init of_ath9k_eeprom_init(void) +{ -+ return platform_driver_probe(&ath9k_eeprom_driver, of_ath9k_eeprom_probe); ++ int ret = platform_driver_probe(&ath9k_eeprom_driver, of_ath9k_eeprom_probe); ++ ++ if (ret) ++ ath9k_eep_load = 1; ++ ++ return ret; ++} ++ ++static int __init of_ath9k_eeprom_init_late(void) ++{ ++ if (!ath9k_eep_load) ++ return 0; ++ return platform_driver_probe(&ath9k_eeprom_driver, of_ath9k_eeprom_probe); +} -+arch_initcall(of_ath9k_eeprom_init); ++late_initcall(of_ath9k_eeprom_init_late); ++subsys_initcall(of_ath9k_eeprom_init); + + +static int ath5k_pci_plat_dev_init(struct pci_dev *dev) diff --git a/target/linux/lantiq/patches-3.10/0012-MTD-m25p80-allow-loading-mtd-name-from-OF.patch b/target/linux/lantiq/patches-3.10/0012-MTD-m25p80-allow-loading-mtd-name-from-OF.patch index 192579b0ce..17eef08eb7 100644 --- a/target/linux/lantiq/patches-3.10/0012-MTD-m25p80-allow-loading-mtd-name-from-OF.patch +++ b/target/linux/lantiq/patches-3.10/0012-MTD-m25p80-allow-loading-mtd-name-from-OF.patch @@ -14,7 +14,7 @@ Signed-off-by: John Crispin --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c -@@ -926,10 +926,13 @@ static int m25p_probe(struct spi_device +@@ -927,10 +927,13 @@ static int m25p_probe(struct spi_device unsigned i; struct mtd_part_parser_data ppdata; struct device_node __maybe_unused *np = spi->dev.of_node; @@ -28,7 +28,7 @@ Signed-off-by: John Crispin #endif /* Platform data helps sort out which chip type we have, as -@@ -1005,6 +1008,8 @@ static int m25p_probe(struct spi_device +@@ -1006,6 +1009,8 @@ static int m25p_probe(struct spi_device if (data && data->name) flash->mtd.name = data->name; diff --git a/target/linux/lantiq/patches-3.10/0100-mtd-split.patch b/target/linux/lantiq/patches-3.10/0100-mtd-split.patch index c2ce9c1b42..f3866a54a9 100644 --- a/target/linux/lantiq/patches-3.10/0100-mtd-split.patch +++ b/target/linux/lantiq/patches-3.10/0100-mtd-split.patch @@ -6,8 +6,8 @@ -obj-y += vmmc.o +obj-y += vmmc.o mtd_split.o + obj-y += eth_mac.o obj-$(CONFIG_PCI) += ath_eep.o rt_eep.o pci-ath-fixup.o - --- /dev/null +++ b/arch/mips/lantiq/xway/mtd_split.c @@ -0,0 +1,129 @@ diff --git a/target/linux/lantiq/patches-3.10/0103-tffs.patch b/target/linux/lantiq/patches-3.10/0103-tffs.patch index 3b0686d898..ac1b41229c 100644 --- a/target/linux/lantiq/patches-3.10/0103-tffs.patch +++ b/target/linux/lantiq/patches-3.10/0103-tffs.patch @@ -12,8 +12,8 @@ Subject: add basic tffs driver -obj-y += vmmc.o mtd_split.o +obj-y += vmmc.o mtd_split.o tffs.o + obj-y += eth_mac.o obj-$(CONFIG_PCI) += ath_eep.o rt_eep.o pci-ath-fixup.o - --- /dev/null +++ b/arch/mips/lantiq/xway/tffs.c @@ -0,0 +1,87 @@ -- 2.30.2