refactor ath9k_platform to sound sane for use in both ath9k and ath5k
I'm developing on OpenWrt to work with EEPROM-less ath5k mini-pci devices. This is needed to support the ar71xx-based Senao EAP7660D board which got two AR5413 modules soldered into its mini-pci slots. In the original Firmware, MAC addresses as well as calibration-data seems to be part of the firmware blob stored on the board flash. See https://lists.openwrt.org/pipermail/openwrt-devel/2010-June/007366.html for the corresponding discussion on OpenWrt-devel.
Similarly to the way this happens for ath9k, I managed to get ath5k to use the MAC address and eeprom-data supplied by ath9k_platform_data.
Including ath9k_platform.h in ath5k-sources looks confusing as the name ath9k_platform suggests that the supplied ath9k_platform_info struct is specific to ath9k devices.
Consequently, I believe ath9k_platform.h should be renamed into ath_platform.h, the macro ATH9K_PLAT_EEP_MAX_WORDS into ATH_PLAT_EEP_MAX_WORDS and struct ath9k_platform_data should be refactored to be struct ath_platform_data.
Please let me know if you agree with this in theory; if yes, I'll start posting the patches to OpenWrt.
Cheers
Daniel
Quoted 7 lines · Daniel Golle
I'm developing on OpenWrt to work with EEPROM-less ath5k mini-pci devices. This is needed to support the ar71xx-based Senao EAP7660D board which got two AR5413 modules soldered into its mini-pci slots. In the original Firmware, MAC addresses as well as calibration-data seems to be part of the firmware blob stored on the board flash.
See https://lists.openwrt.org/pipermail/openwrt-devel/2010-June/007366.html
for the corresponding discussion on OpenWrt-devel.
I don't see much "discussion" there.
Quoted 11 lines
Similarly to the way this happens for ath9k, I managed to get ath5k to use the MAC address and eeprom-data supplied by
ath9k_platform_data. Includingath9k_platform.hin ath5k-sources looks confusing as the nameath9k_platformsuggests that the suppliedath9k_platform_infostruct is specific to ath9k devices.
Consequently, I believeath9k_platform.hshould be renamed intoath_platform.h, the macroATH9K_PLAT_EEP_MAX_WORDSintoATH_PLAT_EEP_MAX_WORDSand structath9k_platform_datashould be refactored to be structath_platform_data.
Please let me know if you agree with this in theory; if yes, I'll start posting the patches to OpenWrt.
You can stuff any general stuff into the ath module which is shared by both.
Luis
Hi!
In order to support the Senao EAP7660D board, I now added ath5k_platform.h and patched ath5k (and madwifi). In this way, the infrastructure for ath9k and ath5k remains separate, as discussed in
https://lists.openwrt.org/pipermail/openwrt-devel/2010-July/007506.html
Is there any chance to have the patches added in
https://dev.openwrt.org/changeset/22188
included to linux-wireless?
Thank you!
Daniel
Quoted 29 lines · Luis R. Rodriguez
Quoted 8 lines · Daniel Golle
I'm developing on OpenWrt to work with EEPROM-less ath5k mini-pci devices. This is needed to support the ar71xx-based Senao EAP7660D board which got two AR5413 modules soldered into its mini-pci slots. In the original Firmware, MAC addresses as well as calibration-data seems to be part of the firmware blob stored on the board flash.
See https://lists.openwrt.org/pipermail/openwrt-devel/2010-June/007366.html
for the corresponding discussion on OpenWrt-devel.I don't see much "discussion" there.
Quoted 12 lines
Similarly to the way this happens for ath9k, I managed to get ath5k to use the MAC address and eeprom-data supplied by
ath9k_platform_data. Includingath9k_platform.hin ath5k-sources looks confusing as the nameath9k_platformsuggests that the suppliedath9k_platform_infostruct is specific to ath9k devices.
Consequently, I believeath9k_platform.hshould be renamed intoath_platform.h, the macroATH9K_PLAT_EEP_MAX_WORDSintoATH_PLAT_EEP_MAX_WORDSand structath9k_platform_datashould be refactored to be structath_platform_data.
Please let me know if you agree with this in theory; if yes, I'll start posting the patches to OpenWrt.You can stuff any general stuff into the ath module which is shared by both.
Luis