aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorVasanthakumar Thiagarajan <vasanth@atheros.com>2010-11-26 09:10:06 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-11-29 15:24:36 -0500
commit8f5dcb1cfb71ce832f53a4723deba72e6695078b (patch)
treec21a9589b17fa580ccad768f57b042b2803a5298 /drivers
parentf30221e4ec62d905b56d5e8f7ccab6b406a97cf5 (diff)
ath9k: Reintroduce modparam to enable btcoex
It is not ideal to enable btcoex based on subsys id as it is not unique, they are so random. It is also a pain keeping all of them in a table to enable btcoex for a particular hw. Going back to the old idea. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/ath/ath.h2
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c3
-rw-r--r--drivers/net/wireless/ath/ath9k/init.c5
3 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
index 20ea68c59f7b..26bdbeee424f 100644
--- a/drivers/net/wireless/ath/ath.h
+++ b/drivers/net/wireless/ath/ath.h
@@ -168,6 +168,8 @@ struct ath_common {
168 struct ath_regulatory regulatory; 168 struct ath_regulatory regulatory;
169 const struct ath_ops *ops; 169 const struct ath_ops *ops;
170 const struct ath_bus_ops *bus_ops; 170 const struct ath_bus_ops *bus_ops;
171
172 bool btcoex_enabled;
171}; 173};
172 174
173struct sk_buff *ath_rxbuf_alloc(struct ath_common *common, 175struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index ce9e59f4cd3d..883f6cc7b82c 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1925,8 +1925,7 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
1925 pCap->num_antcfg_2ghz = 1925 pCap->num_antcfg_2ghz =
1926 ah->eep_ops->get_num_ant_config(ah, ATH9K_HAL_FREQ_BAND_2GHZ); 1926 ah->eep_ops->get_num_ant_config(ah, ATH9K_HAL_FREQ_BAND_2GHZ);
1927 1927
1928 if (AR_SREV_9280_20_OR_LATER(ah) && 1928 if (AR_SREV_9280_20_OR_LATER(ah) && common->btcoex_enabled) {
1929 ath9k_hw_btcoex_supported(ah)) {
1930 btcoex_hw->btactive_gpio = ATH_BTACTIVE_GPIO; 1929 btcoex_hw->btactive_gpio = ATH_BTACTIVE_GPIO;
1931 btcoex_hw->wlanactive_gpio = ATH_WLANACTIVE_GPIO; 1930 btcoex_hw->wlanactive_gpio = ATH_WLANACTIVE_GPIO;
1932 1931
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index 7eef1faee668..d11e6da4d892 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -38,6 +38,10 @@ int led_blink;
38module_param_named(blink, led_blink, int, 0444); 38module_param_named(blink, led_blink, int, 0444);
39MODULE_PARM_DESC(blink, "Enable LED blink on activity"); 39MODULE_PARM_DESC(blink, "Enable LED blink on activity");
40 40
41static int ath9k_btcoex_enable;
42module_param_named(btcoex_enable, ath9k_btcoex_enable, int, 0444);
43MODULE_PARM_DESC(btcoex_enable, "Enable wifi-BT coexistence");
44
41/* We use the hw_value as an index into our private channel structure */ 45/* We use the hw_value as an index into our private channel structure */
42 46
43#define CHAN2G(_freq, _idx) { \ 47#define CHAN2G(_freq, _idx) { \
@@ -543,6 +547,7 @@ static int ath9k_init_softc(u16 devid, struct ath_softc *sc, u16 subsysid,
543 common->hw = sc->hw; 547 common->hw = sc->hw;
544 common->priv = sc; 548 common->priv = sc;
545 common->debug_mask = ath9k_debug; 549 common->debug_mask = ath9k_debug;
550 common->btcoex_enabled = ath9k_btcoex_enable == 1;
546 spin_lock_init(&common->cc_lock); 551 spin_lock_init(&common->cc_lock);
547 552
548 spin_lock_init(&sc->wiphy_lock); 553 spin_lock_init(&sc->wiphy_lock);