mirror of
https://github.com/torvalds/linux.git
synced 2024-12-22 10:56:40 +00:00
ath9k: replaces SC_OP_BTCOEX_ENABLED with a bool
Whether or not bluetooth coex has been enabled is a hardware state and only the hardware helpers will be able to set this. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
bc74bf8fc3
commit
8c1b39547e
@ -532,7 +532,6 @@ struct ath_led {
|
||||
#define SC_OP_WAIT_FOR_PSPOLL_DATA BIT(17)
|
||||
#define SC_OP_WAIT_FOR_TX_ACK BIT(18)
|
||||
#define SC_OP_BEACON_SYNC BIT(19)
|
||||
#define SC_OP_BTCOEX_ENABLED BIT(20)
|
||||
#define SC_OP_BT_PRIORITY_DETECTED BIT(21)
|
||||
|
||||
struct ath_bus_ops {
|
||||
|
@ -164,7 +164,7 @@ void ath9k_hw_btcoex_enable(struct ath_hw *ah)
|
||||
(0x2 << (btcoex_info->btactive_gpio * 2)),
|
||||
(0x3 << (btcoex_info->btactive_gpio * 2)));
|
||||
|
||||
ah->ah_sc->sc_flags |= SC_OP_BTCOEX_ENABLED;
|
||||
ah->btcoex_info.enabled = true;
|
||||
}
|
||||
|
||||
void ath9k_hw_btcoex_disable(struct ath_hw *ah)
|
||||
@ -182,5 +182,5 @@ void ath9k_hw_btcoex_disable(struct ath_hw *ah)
|
||||
REG_WRITE(ah, AR_BT_COEX_MODE2, 0);
|
||||
}
|
||||
|
||||
ah->ah_sc->sc_flags &= ~SC_OP_BTCOEX_ENABLED;
|
||||
ah->btcoex_info.enabled = false;
|
||||
}
|
||||
|
@ -64,6 +64,7 @@ struct ath_btcoex_config {
|
||||
|
||||
struct ath_btcoex_info {
|
||||
enum ath_btcoex_scheme btcoex_scheme;
|
||||
bool enabled;
|
||||
u8 wlanactive_gpio;
|
||||
u8 btactive_gpio;
|
||||
u8 btpriority_gpio;
|
||||
|
@ -2578,7 +2578,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
|
||||
#endif
|
||||
}
|
||||
|
||||
if (ah->ah_sc->sc_flags & SC_OP_BTCOEX_ENABLED)
|
||||
if (ah->btcoex_info.enabled)
|
||||
ath9k_hw_btcoex_enable(ah);
|
||||
|
||||
return 0;
|
||||
|
@ -2199,7 +2199,7 @@ static int ath9k_start(struct ieee80211_hw *hw)
|
||||
ieee80211_queue_delayed_work(sc->hw, &sc->tx_complete_work, 0);
|
||||
|
||||
if ((ah->btcoex_info.btcoex_scheme != ATH_BTCOEX_CFG_NONE) &&
|
||||
!(sc->sc_flags & SC_OP_BTCOEX_ENABLED)) {
|
||||
!ah->btcoex_info.enabled) {
|
||||
ath9k_hw_btcoex_init_weight(ah);
|
||||
ath9k_hw_btcoex_enable(ah);
|
||||
|
||||
@ -2358,7 +2358,7 @@ static void ath9k_stop(struct ieee80211_hw *hw)
|
||||
return; /* another wiphy still in use */
|
||||
}
|
||||
|
||||
if (sc->sc_flags & SC_OP_BTCOEX_ENABLED) {
|
||||
if (ah->btcoex_info.enabled) {
|
||||
ath9k_hw_btcoex_disable(ah);
|
||||
if (ah->btcoex_info.btcoex_scheme == ATH_BTCOEX_CFG_3WIRE)
|
||||
ath9k_btcoex_timer_pause(sc);
|
||||
|
Loading…
Reference in New Issue
Block a user