From 6c46a10246f98dfebc2ab0df631f8129ffee2b2e Mon Sep 17 00:00:00 2001 From: John Crispin Date: Thu, 19 Jun 2014 14:12:59 +0000 Subject: lantiq: refresh patches this adds ben's ath9k fixup Signed-off-by: John Crispin SVN-Revision: 41269 --- ...-lantiq-wifi-and-ethernet-eeprom-handling.patch | 32 ++++++++++++++++++---- 1 file changed, 27 insertions(+), 5 deletions(-) (limited to 'target/linux/lantiq/patches-3.10/0010-MIPS-lantiq-wifi-and-ethernet-eeprom-handling.patch') 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) -- cgit v1.2.3