Bluetooth: Move synchronous request handling into hci_request.c

hci_request.c is a more natural place for the synchronous request
handling. Furthermore, we will soon need access to some of the
previously private-to-hci_core.c functions from hci_request.c.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Johan Hedberg 2015-11-10 09:44:54 +02:00 committed by Marcel Holtmann
parent 030e7f8141
commit be91cd0570
3 changed files with 195 additions and 193 deletions

View file

@ -20,6 +20,9 @@
SOFTWARE IS DISCLAIMED.
*/
#define hci_req_lock(d) mutex_lock(&d->req_lock)
#define hci_req_unlock(d) mutex_unlock(&d->req_lock)
struct hci_request {
struct hci_dev *hdev;
struct sk_buff_head cmd_q;
@ -41,6 +44,14 @@ void hci_req_cmd_complete(struct hci_dev *hdev, u16 opcode, u8 status,
hci_req_complete_t *req_complete,
hci_req_complete_skb_t *req_complete_skb);
int hci_req_sync(struct hci_dev *hdev, void (*req)(struct hci_request *req,
unsigned long opt),
unsigned long opt, __u32 timeout);
int __hci_req_sync(struct hci_dev *hdev, void (*func)(struct hci_request *req,
unsigned long opt),
unsigned long opt, __u32 timeout);
void hci_req_cancel(struct hci_dev *hdev, int err);
struct sk_buff *hci_prepare_cmd(struct hci_dev *hdev, u16 opcode, u32 plen,
const void *param);