Lines Matching refs:hdev
38 struct hci_dev *hdev = hu->hdev; in hci_uart_tx_complete() local
43 hdev->stat.cmd_tx++; in hci_uart_tx_complete()
47 hdev->stat.acl_tx++; in hci_uart_tx_complete()
51 hdev->stat.sco_tx++; in hci_uart_tx_complete()
72 struct hci_dev *hdev = hu->hdev; in hci_uart_write_work() local
86 hdev->stat.byte_tx += len; in hci_uart_write_work()
105 static int hci_uart_flush(struct hci_dev *hdev) in hci_uart_flush() argument
107 struct hci_uart *hu = hci_get_drvdata(hdev); in hci_uart_flush()
109 BT_DBG("hdev %p serdev %p", hdev, hu->serdev); in hci_uart_flush()
125 static int hci_uart_open(struct hci_dev *hdev) in hci_uart_open() argument
127 BT_DBG("%s %p", hdev->name, hdev); in hci_uart_open()
130 hdev->flush = hci_uart_flush; in hci_uart_open()
136 static int hci_uart_close(struct hci_dev *hdev) in hci_uart_close() argument
138 BT_DBG("hdev %p", hdev); in hci_uart_close()
140 hci_uart_flush(hdev); in hci_uart_close()
141 hdev->flush = NULL; in hci_uart_close()
147 static int hci_uart_send_frame(struct hci_dev *hdev, struct sk_buff *skb) in hci_uart_send_frame() argument
149 struct hci_uart *hu = hci_get_drvdata(hdev); in hci_uart_send_frame()
151 BT_DBG("%s: type %d len %d", hdev->name, hci_skb_pkt_type(skb), in hci_uart_send_frame()
161 static int hci_uart_setup(struct hci_dev *hdev) in hci_uart_setup() argument
163 struct hci_uart *hu = hci_get_drvdata(hdev); in hci_uart_setup()
191 bt_dev_err(hdev, "Failed to set baudrate"); in hci_uart_setup()
202 skb = __hci_cmd_sync(hdev, HCI_OP_READ_LOCAL_VERSION, 0, NULL, in hci_uart_setup()
205 bt_dev_err(hdev, "Reading local version info failed (%ld)", in hci_uart_setup()
211 bt_dev_err(hdev, "Event length mismatch for version info"); in hci_uart_setup()
266 if (hu->hdev) in hci_uart_receive_buf()
267 hu->hdev->stat.byte_rx += count; in hci_uart_receive_buf()
281 struct hci_dev *hdev; in hci_uart_register_device() local
299 hdev = hci_alloc_dev(); in hci_uart_register_device()
300 if (!hdev) { in hci_uart_register_device()
306 hu->hdev = hdev; in hci_uart_register_device()
308 hdev->bus = HCI_UART; in hci_uart_register_device()
309 hci_set_drvdata(hdev, hu); in hci_uart_register_device()
320 hdev->manufacturer = hu->proto->manufacturer; in hci_uart_register_device()
322 hdev->open = hci_uart_open; in hci_uart_register_device()
323 hdev->close = hci_uart_close; in hci_uart_register_device()
324 hdev->flush = hci_uart_flush; in hci_uart_register_device()
325 hdev->send = hci_uart_send_frame; in hci_uart_register_device()
326 hdev->setup = hci_uart_setup; in hci_uart_register_device()
327 SET_HCIDEV_DEV(hdev, &hu->serdev->dev); in hci_uart_register_device()
330 set_bit(HCI_QUIRK_RAW_DEVICE, &hdev->quirks); in hci_uart_register_device()
333 set_bit(HCI_QUIRK_EXTERNAL_CONFIG, &hdev->quirks); in hci_uart_register_device()
336 set_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks); in hci_uart_register_device()
339 hdev->dev_type = HCI_AMP; in hci_uart_register_device()
341 hdev->dev_type = HCI_PRIMARY; in hci_uart_register_device()
346 if (hci_register_dev(hdev) < 0) { in hci_uart_register_device()
357 hci_free_dev(hdev); in hci_uart_register_device()
369 struct hci_dev *hdev = hu->hdev; in hci_uart_unregister_device() local
371 hci_unregister_dev(hdev); in hci_uart_unregister_device()
372 hci_free_dev(hdev); in hci_uart_unregister_device()