From 9037c2ccc69fe0ddfc2c8935b0da2efefc5aa639 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 20 May 2012 21:58:03 +0000 Subject: lantiq: allow platforms with rt2x00 to override the mac address without overriding eeprom, fixes bogus wlan mac address on arv4520 SVN-Revision: 31835 --- target/linux/generic/files/include/linux/rt2x00_platform.h | 1 + .../linux/lantiq/files-3.3/arch/mips/lantiq/xway/dev-wifi-rt2x00.c | 3 ++- .../linux/lantiq/files-3.3/arch/mips/lantiq/xway/dev-wifi-rt2x00.h | 2 +- target/linux/lantiq/files-3.3/arch/mips/lantiq/xway/mach-arv.c | 5 +++-- 4 files changed, 7 insertions(+), 4 deletions(-) (limited to 'target/linux') diff --git a/target/linux/generic/files/include/linux/rt2x00_platform.h b/target/linux/generic/files/include/linux/rt2x00_platform.h index b4c7768739..e10377e21b 100644 --- a/target/linux/generic/files/include/linux/rt2x00_platform.h +++ b/target/linux/generic/files/include/linux/rt2x00_platform.h @@ -14,6 +14,7 @@ struct rt2x00_platform_data { char *eeprom_file_name; + const u8 *mac_address; int disable_2ghz; int disable_5ghz; diff --git a/target/linux/lantiq/files-3.3/arch/mips/lantiq/xway/dev-wifi-rt2x00.c b/target/linux/lantiq/files-3.3/arch/mips/lantiq/xway/dev-wifi-rt2x00.c index 8975f6be7d..8e271f06ec 100644 --- a/target/linux/lantiq/files-3.3/arch/mips/lantiq/xway/dev-wifi-rt2x00.c +++ b/target/linux/lantiq/files-3.3/arch/mips/lantiq/xway/dev-wifi-rt2x00.c @@ -24,8 +24,9 @@ rt2x00_pci_plat_dev_init(struct pci_dev *dev) } void __init -ltq_register_rt2x00(const char *firmware) +ltq_register_rt2x00(const char *firmware, const u8 *mac) { rt2x00_pdata.eeprom_file_name = kstrdup(firmware, GFP_KERNEL); + rt2x00_pdata.mac_address = mac; ltqpci_plat_dev_init = rt2x00_pci_plat_dev_init; } diff --git a/target/linux/lantiq/files-3.3/arch/mips/lantiq/xway/dev-wifi-rt2x00.h b/target/linux/lantiq/files-3.3/arch/mips/lantiq/xway/dev-wifi-rt2x00.h index 060ca50270..941c26535f 100644 --- a/target/linux/lantiq/files-3.3/arch/mips/lantiq/xway/dev-wifi-rt2x00.h +++ b/target/linux/lantiq/files-3.3/arch/mips/lantiq/xway/dev-wifi-rt2x00.h @@ -9,6 +9,6 @@ #ifndef _DEV_WIFI_RT2X00_H__ #define _DEV_WIFI_RT2X00_H__ -extern void ltq_register_rt2x00(const char *firmware); +extern void ltq_register_rt2x00(const char *firmware, const u8 *mac); #endif diff --git a/target/linux/lantiq/files-3.3/arch/mips/lantiq/xway/mach-arv.c b/target/linux/lantiq/files-3.3/arch/mips/lantiq/xway/mach-arv.c index c300b9d42f..4abb2d500e 100644 --- a/target/linux/lantiq/files-3.3/arch/mips/lantiq/xway/mach-arv.c +++ b/target/linux/lantiq/files-3.3/arch/mips/lantiq/xway/mach-arv.c @@ -597,6 +597,7 @@ arv4520pw_init(void) ltq_register_pci(<q_pci_data); ltq_register_tapi(); arv_register_ethernet(ARV4520PW_MAC_ADDR); + ltq_register_rt2x00(NULL, (const u8 *) ltq_eth_data.mac.sa_data); xway_register_dwc(ARV4520PW_USB); gpio_request(ARV4520PW_SWITCH_RESET, "switch"); @@ -686,7 +687,7 @@ arv7525pw_init(void) ltq_pci_data.irq[14] = (INT_NUM_IM3_IRL0 + 31); ltq_register_pci(<q_pci_data); ltq_eth_data.mii_mode = PHY_INTERFACE_MODE_MII; - ltq_register_rt2x00("RT2860.eeprom"); + ltq_register_rt2x00("RT2860.eeprom", NULL); ltq_register_tapi(); arv_register_ethernet(ARV7525P_MAC_ADDR); } @@ -773,7 +774,7 @@ arv752dpw_init(void) ltq_pci_data.gpio |= PCI_EXIN1 | PCI_REQ2; ltq_register_pci(<q_pci_data); xway_register_dwc(ARV752DPW22_USB); - ltq_register_rt2x00("RT2860.eeprom"); + ltq_register_rt2x00("RT2860.eeprom", NULL); arv_register_ethernet(ARV752DPW22_MAC_ADDR); gpio_request(ARV752DPW22_RELAY, "relay"); gpio_set_value(ARV752DPW22_RELAY, 1); -- cgit v1.2.3