[PATCH] net: ath9k: use devm for gpio_request_one

Rosen Penev
2024-07-31T21:00:55Z

No need to manually free the gpio now.

Remove if statement as it's redundant now. The gpio bit now gets cleared
whether set or not.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
drivers/net/wireless/ath/ath9k/hw.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 5982e0db45f9..dc18a813f1a0 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2732,7 +2732,7 @@ static void ath9k_hw_gpio_cfg_soc(struct ath_hw *ah, u32 gpio, bool out,
if (ah->caps.gpio_requested & BIT(gpio))
return;

- err = gpio_request_one(gpio, out ? GPIOF_OUT_INIT_LOW : GPIOF_IN, label);
+ err = devm_gpio_request_one(ah->dev, gpio, out ? GPIOF_OUT_INIT_LOW : GPIOF_IN, label);
if (err) {
ath_err(ath9k_hw_common(ah), "request GPIO%d failed:%d\n",
gpio, err);
@@ -2801,10 +2801,7 @@ void ath9k_hw_gpio_free(struct ath_hw *ah, u32 gpio)

WARN_ON(gpio >= ah->caps.num_gpio_pins);

- if (ah->caps.gpio_requested & BIT(gpio)) {
- gpio_free(gpio);
- ah->caps.gpio_requested &= ~BIT(gpio);
- }
+ ah->caps.gpio_requested &= ~BIT(gpio);
}
EXPORT_SYMBOL(ath9k_hw_gpio_free);

--
2.45.2