Return-Path: From: Bing Zhao To: CC: Marcel Holtmann , Gustavo Padovan , Johan Hedberg , , Mike Frysinger , Hyuckjoo Lee , Amitkumar Karwar , Bing Zhao Subject: [PATCH v6 3/4] Bluetooth: btmrvl: add setup handler Date: Tue, 1 Oct 2013 12:19:14 -0700 Message-ID: <1380655155-10007-4-git-send-email-bzhao@marvell.com> In-Reply-To: <1380655155-10007-1-git-send-email-bzhao@marvell.com> References: <1380655155-10007-1-git-send-email-bzhao@marvell.com> MIME-Version: 1.0 Content-Type: text/plain List-ID: From: Amitkumar Karwar Move initialization code to hdev's setup handler. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao --- v6: remove setup_done variable (Marcel Holtmann) This change requires a fix in hci_core for hci_setup. v5: make use of hdev's setup handler (Marcel Holtmann) drivers/bluetooth/btmrvl_main.c | 18 ++++++++++++++++-- drivers/bluetooth/btmrvl_sdio.c | 6 ------ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/drivers/bluetooth/btmrvl_main.c b/drivers/bluetooth/btmrvl_main.c index a4da7c8..e0ae1f4 100644 --- a/drivers/bluetooth/btmrvl_main.c +++ b/drivers/bluetooth/btmrvl_main.c @@ -432,6 +432,21 @@ static int btmrvl_open(struct hci_dev *hdev) return 0; } +static int btmrvl_setup(struct hci_dev *hdev) +{ + struct btmrvl_private *priv = hci_get_drvdata(hdev); + + btmrvl_send_module_cfg_cmd(priv, MODULE_BRINGUP_REQ); + + priv->btmrvl_dev.psmode = 1; + btmrvl_enable_ps(priv); + + priv->btmrvl_dev.gpio_gap = 0xffff; + btmrvl_send_hscfg_cmd(priv); + + return 0; +} + /* * This function handles the event generated by firmware, rx data * received from firmware, and tx data sent from kernel. @@ -525,8 +540,7 @@ int btmrvl_register_hdev(struct btmrvl_private *priv) hdev->flush = btmrvl_flush; hdev->send = btmrvl_send_frame; hdev->ioctl = btmrvl_ioctl; - - btmrvl_send_module_cfg_cmd(priv, MODULE_BRINGUP_REQ); + hdev->setup = btmrvl_setup; hdev->dev_type = priv->btmrvl_dev.dev_type; diff --git a/drivers/bluetooth/btmrvl_sdio.c b/drivers/bluetooth/btmrvl_sdio.c index 00da6df..5b70bcb 100644 --- a/drivers/bluetooth/btmrvl_sdio.c +++ b/drivers/bluetooth/btmrvl_sdio.c @@ -1046,12 +1046,6 @@ static int btmrvl_sdio_probe(struct sdio_func *func, goto disable_host_int; } - priv->btmrvl_dev.psmode = 1; - btmrvl_enable_ps(priv); - - priv->btmrvl_dev.gpio_gap = 0xffff; - btmrvl_send_hscfg_cmd(priv); - return 0; disable_host_int: -- 1.8.0