Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Conflicts: Documentation/feature-removal-schedule.txt drivers/net/wireless/ath/ath5k/phy.c
此提交包含在:
@@ -19,8 +19,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#define _ATH5K_RESET
|
||||
|
||||
/*****************************\
|
||||
Reset functions and helpers
|
||||
\*****************************/
|
||||
@@ -34,6 +32,27 @@
|
||||
#include "base.h"
|
||||
#include "debug.h"
|
||||
|
||||
/*
|
||||
* Check if a register write has been completed
|
||||
*/
|
||||
int ath5k_hw_register_timeout(struct ath5k_hw *ah, u32 reg, u32 flag, u32 val,
|
||||
bool is_set)
|
||||
{
|
||||
int i;
|
||||
u32 data;
|
||||
|
||||
for (i = AR5K_TUNE_REGISTER_TIMEOUT; i > 0; i--) {
|
||||
data = ath5k_hw_reg_read(ah, reg);
|
||||
if (is_set && (data & flag))
|
||||
break;
|
||||
else if ((data & flag) == val)
|
||||
break;
|
||||
udelay(15);
|
||||
}
|
||||
|
||||
return (i <= 0) ? -EAGAIN : 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* ath5k_hw_write_ofdm_timings - set OFDM timings on AR5212
|
||||
*
|
||||
@@ -221,8 +240,8 @@ static int ath5k_hw_nic_reset(struct ath5k_hw *ah, u32 val)
|
||||
/*
|
||||
* Sleep control
|
||||
*/
|
||||
int ath5k_hw_set_power(struct ath5k_hw *ah, enum ath5k_power_mode mode,
|
||||
bool set_chip, u16 sleep_duration)
|
||||
static int ath5k_hw_set_power(struct ath5k_hw *ah, enum ath5k_power_mode mode,
|
||||
bool set_chip, u16 sleep_duration)
|
||||
{
|
||||
unsigned int i;
|
||||
u32 staid, data;
|
||||
@@ -1017,11 +1036,6 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/*
|
||||
* Initialize operating mode
|
||||
*/
|
||||
ah->ah_op_mode = op_mode;
|
||||
|
||||
/* PHY access enable */
|
||||
if (ah->ah_mac_srev >= AR5K_SREV_AR5211)
|
||||
ath5k_hw_reg_write(ah, AR5K_PHY_SHIFT_5GHZ, AR5K_PHY(0));
|
||||
@@ -1192,7 +1206,7 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,
|
||||
ath5k_hw_set_associd(ah);
|
||||
|
||||
/* Set PCU config */
|
||||
ath5k_hw_set_opmode(ah);
|
||||
ath5k_hw_set_opmode(ah, op_mode);
|
||||
|
||||
/* Clear any pending interrupts
|
||||
* PISR/SISR Not available on 5210 */
|
||||
@@ -1378,7 +1392,7 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,
|
||||
* external 32KHz crystal when sleeping if one
|
||||
* exists */
|
||||
if (ah->ah_version == AR5K_AR5212 &&
|
||||
ah->ah_op_mode != NL80211_IFTYPE_AP)
|
||||
op_mode != NL80211_IFTYPE_AP)
|
||||
ath5k_hw_set_sleep_clock(ah, true);
|
||||
|
||||
/*
|
||||
@@ -1388,5 +1402,3 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,
|
||||
ath5k_hw_reset_tsf(ah);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#undef _ATH5K_RESET
|
||||
|
新增問題並參考
封鎖使用者