mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-30 15:44:13 +08:00
Bluetooth: hci_sync: Remove remaining dependencies of hci_request
This removes the dependencies of hci_req_init and hci_request_cancel_all from hci_sync.c. Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This commit is contained in:
parent
8bedf130c2
commit
f2d8977535
@ -8,6 +8,23 @@
|
||||
#define UINT_PTR(_handle) ((void *)((uintptr_t)_handle))
|
||||
#define PTR_UINT(_ptr) ((uintptr_t)((void *)_ptr))
|
||||
|
||||
#define HCI_REQ_DONE 0
|
||||
#define HCI_REQ_PEND 1
|
||||
#define HCI_REQ_CANCELED 2
|
||||
|
||||
#define hci_req_sync_lock(hdev) mutex_lock(&hdev->req_lock)
|
||||
#define hci_req_sync_unlock(hdev) mutex_unlock(&hdev->req_lock)
|
||||
|
||||
struct hci_request {
|
||||
struct hci_dev *hdev;
|
||||
struct sk_buff_head cmd_q;
|
||||
|
||||
/* If something goes wrong when building the HCI request, the error
|
||||
* value is stored in this field.
|
||||
*/
|
||||
int err;
|
||||
};
|
||||
|
||||
typedef int (*hci_cmd_sync_work_func_t)(struct hci_dev *hdev, void *data);
|
||||
typedef void (*hci_cmd_sync_work_destroy_t)(struct hci_dev *hdev, void *data,
|
||||
int err);
|
||||
|
@ -22,23 +22,6 @@
|
||||
|
||||
#include <asm/unaligned.h>
|
||||
|
||||
#define HCI_REQ_DONE 0
|
||||
#define HCI_REQ_PEND 1
|
||||
#define HCI_REQ_CANCELED 2
|
||||
|
||||
#define hci_req_sync_lock(hdev) mutex_lock(&hdev->req_lock)
|
||||
#define hci_req_sync_unlock(hdev) mutex_unlock(&hdev->req_lock)
|
||||
|
||||
struct hci_request {
|
||||
struct hci_dev *hdev;
|
||||
struct sk_buff_head cmd_q;
|
||||
|
||||
/* If something goes wrong when building the HCI request, the error
|
||||
* value is stored in this field.
|
||||
*/
|
||||
int err;
|
||||
};
|
||||
|
||||
void hci_req_init(struct hci_request *req, struct hci_dev *hdev);
|
||||
void hci_req_purge(struct hci_request *req);
|
||||
bool hci_req_status_pend(struct hci_dev *hdev);
|
||||
|
@ -12,7 +12,6 @@
|
||||
#include <net/bluetooth/hci_core.h>
|
||||
#include <net/bluetooth/mgmt.h>
|
||||
|
||||
#include "hci_request.h"
|
||||
#include "hci_codec.h"
|
||||
#include "hci_debugfs.h"
|
||||
#include "smp.h"
|
||||
@ -146,6 +145,13 @@ static int hci_cmd_sync_run(struct hci_request *req)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void hci_request_init(struct hci_request *req, struct hci_dev *hdev)
|
||||
{
|
||||
skb_queue_head_init(&req->cmd_q);
|
||||
req->hdev = hdev;
|
||||
req->err = 0;
|
||||
}
|
||||
|
||||
/* This function requires the caller holds hdev->req_lock. */
|
||||
struct sk_buff *__hci_cmd_sync_sk(struct hci_dev *hdev, u16 opcode, u32 plen,
|
||||
const void *param, u8 event, u32 timeout,
|
||||
@ -157,7 +163,7 @@ struct sk_buff *__hci_cmd_sync_sk(struct hci_dev *hdev, u16 opcode, u32 plen,
|
||||
|
||||
bt_dev_dbg(hdev, "Opcode 0x%4.4x", opcode);
|
||||
|
||||
hci_req_init(&req, hdev);
|
||||
hci_request_init(&req, hdev);
|
||||
|
||||
hci_cmd_sync_add(&req, opcode, plen, param, event, sk);
|
||||
|
||||
@ -5056,7 +5062,9 @@ int hci_dev_close_sync(struct hci_dev *hdev)
|
||||
cancel_delayed_work(&hdev->ncmd_timer);
|
||||
cancel_delayed_work(&hdev->le_scan_disable);
|
||||
|
||||
hci_request_cancel_all(hdev);
|
||||
hci_cmd_sync_cancel_sync(hdev, ENODEV);
|
||||
|
||||
cancel_interleave_scan(hdev);
|
||||
|
||||
if (hdev->adv_instance_timeout) {
|
||||
cancel_delayed_work_sync(&hdev->adv_instance_expire);
|
||||
|
Loading…
Reference in New Issue
Block a user