Lines Matching refs:hdev
48 struct hci_dev *hdev; member
62 static int vhci_open_dev(struct hci_dev *hdev) in vhci_open_dev() argument
64 set_bit(HCI_RUNNING, &hdev->flags); in vhci_open_dev()
69 static int vhci_close_dev(struct hci_dev *hdev) in vhci_close_dev() argument
71 struct vhci_data *data = hdev->driver_data; in vhci_close_dev()
73 if (!test_and_clear_bit(HCI_RUNNING, &hdev->flags)) in vhci_close_dev()
81 static int vhci_flush(struct hci_dev *hdev) in vhci_flush() argument
83 struct vhci_data *data = hdev->driver_data; in vhci_flush()
92 struct hci_dev* hdev = (struct hci_dev *) skb->dev; in vhci_send_frame() local
95 if (!hdev) { in vhci_send_frame()
100 if (!test_bit(HCI_RUNNING, &hdev->flags)) in vhci_send_frame()
103 data = hdev->driver_data; in vhci_send_frame()
116 static void vhci_destruct(struct hci_dev *hdev) in vhci_destruct() argument
118 kfree(hdev->driver_data); in vhci_destruct()
138 skb->dev = (void *) data->hdev; in vhci_get_user()
160 data->hdev->stat.byte_tx += len; in vhci_put_user()
164 data->hdev->stat.cmd_tx++; in vhci_put_user()
168 data->hdev->stat.acl_tx++; in vhci_put_user()
172 data->hdev->stat.cmd_tx++; in vhci_put_user()
253 struct hci_dev *hdev; in vhci_open() local
263 hdev = hci_alloc_dev(); in vhci_open()
264 if (!hdev) { in vhci_open()
270 data->hdev = hdev; in vhci_open()
272 hdev->type = HCI_VIRTUAL; in vhci_open()
273 hdev->driver_data = data; in vhci_open()
275 hdev->open = vhci_open_dev; in vhci_open()
276 hdev->close = vhci_close_dev; in vhci_open()
277 hdev->flush = vhci_flush; in vhci_open()
278 hdev->send = vhci_send_frame; in vhci_open()
279 hdev->destruct = vhci_destruct; in vhci_open()
281 hdev->owner = THIS_MODULE; in vhci_open()
283 if (hci_register_dev(hdev) < 0) { in vhci_open()
286 hci_free_dev(hdev); in vhci_open()
300 struct hci_dev *hdev = data->hdev; in vhci_release() local
302 if (hci_unregister_dev(hdev) < 0) { in vhci_release()
303 BT_ERR("Can't unregister HCI device %s", hdev->name); in vhci_release()
306 hci_free_dev(hdev); in vhci_release()