aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/501-ath9k-eeprom_endianess.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2014-10-18 17:38:59 +0000
committerFelix Fietkau <nbd@openwrt.org>2014-10-18 17:38:59 +0000
commitf0d9e712e459332ec527802f7eaca104c47b14c2 (patch)
treeb03de3247dbdd3f785bda5318729be5ab75f5f95 /package/kernel/mac80211/patches/501-ath9k-eeprom_endianess.patch
parent6d3fd947e4aa0430f592e9e3b0eb6b78cbe21f7b (diff)
downloadupstream-f0d9e712e459332ec527802f7eaca104c47b14c2.tar.gz
upstream-f0d9e712e459332ec527802f7eaca104c47b14c2.tar.bz2
upstream-f0d9e712e459332ec527802f7eaca104c47b14c2.zip
mac80211: update to 2014-10-08
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42952
Diffstat (limited to 'package/kernel/mac80211/patches/501-ath9k-eeprom_endianess.patch')
-rw-r--r--package/kernel/mac80211/patches/501-ath9k-eeprom_endianess.patch102
1 files changed, 0 insertions, 102 deletions
diff --git a/package/kernel/mac80211/patches/501-ath9k-eeprom_endianess.patch b/package/kernel/mac80211/patches/501-ath9k-eeprom_endianess.patch
deleted file mode 100644
index abf3914476..0000000000
--- a/package/kernel/mac80211/patches/501-ath9k-eeprom_endianess.patch
+++ /dev/null
@@ -1,102 +0,0 @@
---- a/drivers/net/wireless/ath/ath9k/eeprom_def.c
-+++ b/drivers/net/wireless/ath/ath9k/eeprom_def.c
-@@ -262,7 +262,7 @@ static int ath9k_hw_def_check_eeprom(str
- {
- struct ar5416_eeprom_def *eep = &ah->eeprom.def;
- struct ath_common *common = ath9k_hw_common(ah);
-- u16 *eepdata, temp, magic, magic2;
-+ u16 *eepdata, temp, magic;
- u32 sum = 0, el;
- bool need_swap = false;
- int i, addr, size;
-@@ -272,27 +272,16 @@ static int ath9k_hw_def_check_eeprom(str
- return false;
- }
-
-- if (!ath9k_hw_use_flash(ah)) {
-- ath_dbg(common, EEPROM, "Read Magic = 0x%04X\n", magic);
--
-- if (magic != AR5416_EEPROM_MAGIC) {
-- magic2 = swab16(magic);
--
-- if (magic2 == AR5416_EEPROM_MAGIC) {
-- size = sizeof(struct ar5416_eeprom_def);
-- need_swap = true;
-- eepdata = (u16 *) (&ah->eeprom);
--
-- for (addr = 0; addr < size / sizeof(u16); addr++) {
-- temp = swab16(*eepdata);
-- *eepdata = temp;
-- eepdata++;
-- }
-- } else {
-- ath_err(common,
-- "Invalid EEPROM Magic. Endianness mismatch.\n");
-- return -EINVAL;
-- }
-+ if (swab16(magic) == AR5416_EEPROM_MAGIC &&
-+ !(ah->ah_flags & AH_NO_EEP_SWAP)) {
-+ size = sizeof(struct ar5416_eeprom_def);
-+ need_swap = true;
-+ eepdata = (u16 *) (&ah->eeprom);
-+
-+ for (addr = 0; addr < size / sizeof(u16); addr++) {
-+ temp = swab16(*eepdata);
-+ *eepdata = temp;
-+ eepdata++;
- }
- }
-
---- a/drivers/net/wireless/ath/ath9k/eeprom_4k.c
-+++ b/drivers/net/wireless/ath/ath9k/eeprom_4k.c
-@@ -57,7 +57,7 @@ static bool ath9k_hw_4k_fill_eeprom(stru
- {
- struct ath_common *common = ath9k_hw_common(ah);
-
-- if (!ath9k_hw_use_flash(ah)) {
-+ if (!(ah->ah_flags & AH_NO_EEP_SWAP)) {
- ath_dbg(common, EEPROM, "Reading from EEPROM, not flash\n");
- }
-
---- a/drivers/net/wireless/ath/ath9k/eeprom_9287.c
-+++ b/drivers/net/wireless/ath/ath9k/eeprom_9287.c
-@@ -60,7 +60,7 @@ static bool ath9k_hw_ar9287_fill_eeprom(
- {
- struct ath_common *common = ath9k_hw_common(ah);
-
-- if (!ath9k_hw_use_flash(ah)) {
-+ if (!(ah->ah_flags & AH_NO_EEP_SWAP)) {
- ath_dbg(common, EEPROM, "Reading from EEPROM, not flash\n");
- }
-
---- a/drivers/net/wireless/ath/ath9k/hw.h
-+++ b/drivers/net/wireless/ath/ath9k/hw.h
-@@ -726,6 +726,7 @@ enum ath_cal_list {
- #define AH_USE_EEPROM 0x1
- #define AH_UNPLUGGED 0x2 /* The card has been physically removed. */
- #define AH_FASTCC 0x4
-+#define AH_NO_EEP_SWAP 0x8 /* Do not swap EEPROM data */
-
- struct ath_hw {
- struct ath_ops reg_ops;
---- a/drivers/net/wireless/ath/ath9k/init.c
-+++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -528,6 +528,8 @@ static int ath9k_init_softc(u16 devid, s
- ah->is_clk_25mhz = pdata->is_clk_25mhz;
- ah->get_mac_revision = pdata->get_mac_revision;
- ah->external_reset = pdata->external_reset;
-+ if (!pdata->endian_check)
-+ ah->ah_flags |= AH_NO_EEP_SWAP;
- }
-
- common->ops = &ah->reg_ops;
---- a/include/linux/ath9k_platform.h
-+++ b/include/linux/ath9k_platform.h
-@@ -31,6 +31,7 @@ struct ath9k_platform_data {
- u32 gpio_mask;
- u32 gpio_val;
-
-+ bool endian_check;
- bool is_clk_25mhz;
- bool tx_gain_buffalo;
-