diff options
author | Miaoqing Pan <miaoqing@codeaurora.org> | 2016-03-07 03:38:16 +0100 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2016-03-11 13:00:02 +0100 |
commit | db2221901fbded787daed153281ed875de489692 (patch) | |
tree | 2fd81ddbd97e1932858ae12a7d5cfcdd5c2b240d /drivers/net/wireless/ath/ath9k/gpio.c | |
parent | ath9k: make GPIO API to support both of WMAC and SOC (diff) | |
download | linux-db2221901fbded787daed153281ed875de489692.tar.xz linux-db2221901fbded787daed153281ed875de489692.zip |
ath9k: free GPIO resource for SOC GPIOs
For SOC GPIOs, should call ath9k_hw_gpio_free() to release
the GPIO resource.
Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/gpio.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/gpio.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/gpio.c b/drivers/net/wireless/ath/ath9k/gpio.c index b41dfb7c2784..4964bb36dad2 100644 --- a/drivers/net/wireless/ath/ath9k/gpio.c +++ b/drivers/net/wireless/ath/ath9k/gpio.c @@ -40,6 +40,8 @@ void ath_deinit_leds(struct ath_softc *sc) ath_led_brightness(&sc->led_cdev, LED_OFF); led_classdev_unregister(&sc->led_cdev); + + ath9k_hw_gpio_free(sc->sc_ah, sc->sc_ah->led_pin); } void ath_init_leds(struct ath_softc *sc) @@ -404,6 +406,13 @@ void ath9k_deinit_btcoex(struct ath_softc *sc) if (ath9k_hw_mci_is_enabled(ah)) ath_mci_cleanup(sc); + else { + enum ath_btcoex_scheme scheme = ath9k_hw_get_btcoex_scheme(ah); + + if (scheme == ATH_BTCOEX_CFG_2WIRE || + scheme == ATH_BTCOEX_CFG_3WIRE) + ath9k_hw_btcoex_deinit(sc->sc_ah); + } } int ath9k_init_btcoex(struct ath_softc *sc) |