Commit 7a2f0f58 authored by Luis R. Rodriguez's avatar Luis R. Rodriguez Committed by John W. Linville

ath9k: split bluetooth hardware coex init into two helpers

Use a helper for 2-wire and another for 3-wire.
Signed-off-by: default avatarLuis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent af03abec
...@@ -225,12 +225,10 @@ static int ath_init_btcoex_info(struct ath_hw *ah, ...@@ -225,12 +225,10 @@ static int ath_init_btcoex_info(struct ath_hw *ah,
return 0; return 0;
} }
int ath9k_hw_btcoex_init(struct ath_hw *ah) static void ath9k_hw_btcoex_init_2wire(struct ath_hw *ah)
{ {
struct ath_btcoex_info *btcoex_info = &ah->btcoex_info; struct ath_btcoex_info *btcoex_info = &ah->btcoex_info;
int ret = 0;
if (btcoex_info->btcoex_scheme == ATH_BTCOEX_CFG_2WIRE) {
/* connect bt_active to baseband */ /* connect bt_active to baseband */
REG_CLR_BIT(ah, AR_GPIO_INPUT_EN_VAL, REG_CLR_BIT(ah, AR_GPIO_INPUT_EN_VAL,
(AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_DEF | (AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_DEF |
...@@ -246,7 +244,12 @@ int ath9k_hw_btcoex_init(struct ath_hw *ah) ...@@ -246,7 +244,12 @@ int ath9k_hw_btcoex_init(struct ath_hw *ah)
/* Configure the desired gpio port for input */ /* Configure the desired gpio port for input */
ath9k_hw_cfg_gpio_input(ah, btcoex_info->btactive_gpio); ath9k_hw_cfg_gpio_input(ah, btcoex_info->btactive_gpio);
} else { }
static void ath9k_hw_btcoex_init_3wire(struct ath_hw *ah)
{
struct ath_btcoex_info *btcoex_info = &ah->btcoex_info;
/* btcoex 3-wire */ /* btcoex 3-wire */
REG_SET_BIT(ah, AR_GPIO_INPUT_EN_VAL, REG_SET_BIT(ah, AR_GPIO_INPUT_EN_VAL,
(AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_BB | (AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_BB |
...@@ -266,7 +269,17 @@ int ath9k_hw_btcoex_init(struct ath_hw *ah) ...@@ -266,7 +269,17 @@ int ath9k_hw_btcoex_init(struct ath_hw *ah)
ath9k_hw_cfg_gpio_input(ah, btcoex_info->btactive_gpio); ath9k_hw_cfg_gpio_input(ah, btcoex_info->btactive_gpio);
ath9k_hw_cfg_gpio_input(ah, btcoex_info->btpriority_gpio); ath9k_hw_cfg_gpio_input(ah, btcoex_info->btpriority_gpio);
}
int ath9k_hw_btcoex_init(struct ath_hw *ah)
{
struct ath_btcoex_info *btcoex_info = &ah->btcoex_info;
int ret = 0;
if (btcoex_info->btcoex_scheme == ATH_BTCOEX_CFG_2WIRE)
ath9k_hw_btcoex_init_2wire(ah);
else {
ath9k_hw_btcoex_init_3wire(ah);
ret = ath_init_btcoex_info(ah, btcoex_info); ret = ath_init_btcoex_info(ah, btcoex_info);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment