/* BTCOEX */
/******************/
+#define ATH_HTC_BTCOEX_PRODUCT_ID "wb193"
+
/*
* Detects if there is any priority bt traffic
*/
}
}
+void ath9k_htc_init_btcoex(struct ath9k_htc_priv *priv, char *product)
+{
+ struct ath_hw *ah = priv->ah;
+ int qnum;
+
+ if (product && strncmp(product, ATH_HTC_BTCOEX_PRODUCT_ID, 5) == 0) {
+ ah->btcoex_hw.scheme = ATH_BTCOEX_CFG_3WIRE;
+ if (ath9k_hw_get_btcoex_scheme(ah) == ATH_BTCOEX_CFG_NONE)
+ return;
+ }
+
+ switch (ath9k_hw_get_btcoex_scheme(priv->ah)) {
+ case ATH_BTCOEX_CFG_NONE:
+ break;
+ case ATH_BTCOEX_CFG_3WIRE:
+ priv->ah->btcoex_hw.btactive_gpio = 7;
+ priv->ah->btcoex_hw.btpriority_gpio = 6;
+ priv->ah->btcoex_hw.wlanactive_gpio = 8;
+ priv->btcoex.bt_stomp_type = ATH_BTCOEX_STOMP_LOW;
+ ath9k_hw_btcoex_init_3wire(priv->ah);
+ ath_htc_init_btcoex_work(priv);
+ qnum = priv->hwq_map[WME_AC_BE];
+ ath9k_hw_init_btcoex_hw(priv->ah, qnum);
+ break;
+ default:
+ WARN_ON(1);
+ break;
+ }
+}
+
/*******/
/* LED */
/*******/
.max_power = 20, \
}
-#define ATH_HTC_BTCOEX_PRODUCT_ID "wb193"
-
static struct ieee80211_channel ath9k_2ghz_channels[] = {
CHAN2G(2412, 0), /* Channel 1 */
CHAN2G(2417, 1), /* Channel 2 */
priv->ah->opmode = NL80211_IFTYPE_STATION;
}
-static void ath9k_init_btcoex(struct ath9k_htc_priv *priv)
-{
- int qnum;
-
- switch (ath9k_hw_get_btcoex_scheme(priv->ah)) {
- case ATH_BTCOEX_CFG_NONE:
- break;
- case ATH_BTCOEX_CFG_3WIRE:
- priv->ah->btcoex_hw.btactive_gpio = 7;
- priv->ah->btcoex_hw.btpriority_gpio = 6;
- priv->ah->btcoex_hw.wlanactive_gpio = 8;
- priv->btcoex.bt_stomp_type = ATH_BTCOEX_STOMP_LOW;
- ath9k_hw_btcoex_init_3wire(priv->ah);
- ath_htc_init_btcoex_work(priv);
- qnum = priv->hwq_map[WME_AC_BE];
- ath9k_hw_init_btcoex_hw(priv->ah, qnum);
- break;
- default:
- WARN_ON(1);
- break;
- }
-}
-
static int ath9k_init_priv(struct ath9k_htc_priv *priv,
u16 devid, char *product,
u32 drv_info)
ath9k_cmn_init_crypto(ah);
ath9k_init_channels_rates(priv);
ath9k_init_misc(priv);
-
- if (product && strncmp(product, ATH_HTC_BTCOEX_PRODUCT_ID, 5) == 0) {
- ah->btcoex_hw.scheme = ATH_BTCOEX_CFG_3WIRE;
- if (ath9k_hw_get_btcoex_scheme(ah) != ATH_BTCOEX_CFG_NONE)
- ath9k_init_btcoex(priv);
- }
+ ath9k_htc_init_btcoex(priv, product);
return 0;