Bluetooth: Free the XO clk GPIO after use

Add change to immediately free the XO Clk GPIO after its usage.

Change-Id: Ie54e55175898e0c3e799ff8db8f3399011559f25
Signed-off-by: Umesh Vats <uvats@codeaurora.org>
This commit is contained in:
Umesh Vats 2021-02-25 17:07:33 -08:00 • committed by Gerrit - the friendly Code Review server
commit 0e1a7fc53f

View file

@ -409,19 +409,20 @@ static int bt_configure_gpios(int on)
} else {
pr_info("%s: gpio_request for xo_reset_gpio succeed\n",
__func__);
//pull GPIO high
// XO clk GPIO must be asserted for some time
rc = gpio_direction_output(xo_reset_gpio, 1);
if (rc) {
pr_err("%s: Unable to set direction of xo_reset_gpio\n",
__func__);
}
udelay(2000);
//pull GPIO low after 2 ms delay
usleep_range(2000, 5000);
// pull XO clk GPIO low after 2 ms delay
rc = gpio_direction_output(xo_reset_gpio, 0);
if (rc) {
pr_err("%s: Unable to set direction of xo_reset_gpio\n",
__func__);
}
gpio_free(xo_reset_gpio);
}
}
msleep(50);
@ -520,8 +521,6 @@ gpio_fail:
gpio_free(bt_power_pdata->bt_gpio_sys_rst);
if (bt_power_pdata->wl_gpio_sys_rst > 0)
gpio_free(bt_power_pdata->wl_gpio_sys_rst);
if (bt_power_pdata->xo_gpio_sys_rst > 0)
gpio_free(bt_power_pdata->xo_gpio_sys_rst);
if (bt_power_pdata->bt_gpio_sw_ctrl > 0)
gpio_free(bt_power_pdata->bt_gpio_sw_ctrl);
if (bt_power_pdata->bt_gpio_debug > 0)