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

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
Loading
Loading
Loading
Loading
+44 −31
Original line number Diff line number Diff line
@@ -225,12 +225,10 @@ static int ath_init_btcoex_info(struct ath_hw *ah,
	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;
	int ret = 0;

	if (btcoex_info->btcoex_scheme == ATH_BTCOEX_CFG_2WIRE) {
	/* connect bt_active to baseband */
	REG_CLR_BIT(ah, AR_GPIO_INPUT_EN_VAL,
		    (AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_DEF |
@@ -246,7 +244,12 @@ int ath9k_hw_btcoex_init(struct ath_hw *ah)

	/* Configure the desired gpio port for input */
	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 */
	REG_SET_BIT(ah, AR_GPIO_INPUT_EN_VAL,
			(AR_GPIO_INPUT_EN_VAL_BT_PRIORITY_BB |
@@ -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->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);
	}