Lines Matching defs:hdev
52 struct hci_dev *hdev;
66 static int vhci_open_dev(struct hci_dev *hdev)
68 set_bit(HCI_RUNNING, &hdev->flags);
73 static int vhci_close_dev(struct hci_dev *hdev)
75 struct vhci_data *data = hdev->driver_data;
77 if (!test_and_clear_bit(HCI_RUNNING, &hdev->flags))
85 static int vhci_flush(struct hci_dev *hdev)
87 struct vhci_data *data = hdev->driver_data;
96 struct hci_dev* hdev = (struct hci_dev *) skb->dev;
99 if (!hdev) {
100 BT_ERR("Frame for unknown HCI device (hdev=NULL)");
104 if (!test_bit(HCI_RUNNING, &hdev->flags))
107 data = hdev->driver_data;
120 static void vhci_destruct(struct hci_dev *hdev)
122 kfree(hdev->driver_data);
142 skb->dev = (void *) data->hdev;
164 data->hdev->stat.byte_tx += len;
168 data->hdev->stat.cmd_tx++;
172 data->hdev->stat.acl_tx++;
176 data->hdev->stat.cmd_tx++;
262 struct hci_dev *hdev;
271 hdev = hci_alloc_dev();
272 if (!hdev) {
277 data->hdev = hdev;
279 hdev->type = HCI_VIRTUAL;
280 hdev->driver_data = data;
282 hdev->open = vhci_open_dev;
283 hdev->close = vhci_close_dev;
284 hdev->flush = vhci_flush;
285 hdev->send = vhci_send_frame;
286 hdev->destruct = vhci_destruct;
288 hdev->owner = THIS_MODULE;
290 if (hci_register_dev(hdev) < 0) {
293 hci_free_dev(hdev);
305 struct hci_dev *hdev = data->hdev;
307 if (hci_unregister_dev(hdev) < 0) {
308 BT_ERR("Can't unregister HCI device %s", hdev->name);
311 hci_free_dev(hdev);