Lines Matching refs:hdev

94 	struct hci_dev *hdev = hu->hdev;  in hci_uart_tx_complete()  local
99 hdev->stat.cmd_tx++; in hci_uart_tx_complete()
103 hdev->stat.acl_tx++; in hci_uart_tx_complete()
107 hdev->stat.sco_tx++; in hci_uart_tx_complete()
142 struct hci_dev *hdev = hu->hdev; in hci_uart_write_work() local
157 hdev->stat.byte_tx += len; in hci_uart_write_work()
183 err = hci_register_dev(hu->hdev); in hci_uart_init_work()
186 hci_free_dev(hu->hdev); in hci_uart_init_work()
187 hu->hdev = NULL; in hci_uart_init_work()
206 static int hci_uart_open(struct hci_dev *hdev) in hci_uart_open() argument
208 BT_DBG("%s %p", hdev->name, hdev); in hci_uart_open()
215 static int hci_uart_flush(struct hci_dev *hdev) in hci_uart_flush() argument
217 struct hci_uart *hu = hci_get_drvdata(hdev); in hci_uart_flush()
220 BT_DBG("hdev %p tty %p", hdev, tty); in hci_uart_flush()
237 static int hci_uart_close(struct hci_dev *hdev) in hci_uart_close() argument
239 BT_DBG("hdev %p", hdev); in hci_uart_close()
241 hci_uart_flush(hdev); in hci_uart_close()
242 hdev->flush = NULL; in hci_uart_close()
247 static int hci_uart_send_frame(struct hci_dev *hdev, struct sk_buff *skb) in hci_uart_send_frame() argument
249 struct hci_uart *hu = hci_get_drvdata(hdev); in hci_uart_send_frame()
251 BT_DBG("%s: type %d len %d", hdev->name, bt_cb(skb)->pkt_type, skb->len); in hci_uart_send_frame()
351 BT_DBG("%s: New tty speeds: %d/%d", hu->hdev->name, in hci_uart_set_baudrate()
355 static int hci_uart_setup(struct hci_dev *hdev) in hci_uart_setup() argument
357 struct hci_uart *hu = hci_get_drvdata(hdev); in hci_uart_setup()
394 skb = __hci_cmd_sync(hdev, HCI_OP_READ_LOCAL_VERSION, 0, NULL, in hci_uart_setup()
398 hdev->name, PTR_ERR(skb)); in hci_uart_setup()
404 hdev->name); in hci_uart_setup()
413 hdev->set_bdaddr = btintel_set_bdaddr; in hci_uart_setup()
414 btintel_check_bdaddr(hdev); in hci_uart_setup()
419 hdev->set_bdaddr = btbcm_set_bdaddr; in hci_uart_setup()
420 btbcm_check_bdaddr(hdev); in hci_uart_setup()
484 struct hci_dev *hdev; in hci_uart_tty_close() local
494 hdev = hu->hdev; in hci_uart_tty_close()
495 if (hdev) in hci_uart_tty_close()
496 hci_uart_close(hdev); in hci_uart_tty_close()
501 if (hdev) { in hci_uart_tty_close()
503 hci_unregister_dev(hdev); in hci_uart_tty_close()
504 hci_free_dev(hdev); in hci_uart_tty_close()
566 if (hu->hdev) in hci_uart_tty_receive()
567 hu->hdev->stat.byte_rx += count; in hci_uart_tty_receive()
574 struct hci_dev *hdev; in hci_uart_register_dev() local
579 hdev = hci_alloc_dev(); in hci_uart_register_dev()
580 if (!hdev) { in hci_uart_register_dev()
585 hu->hdev = hdev; in hci_uart_register_dev()
587 hdev->bus = HCI_UART; in hci_uart_register_dev()
588 hci_set_drvdata(hdev, hu); in hci_uart_register_dev()
595 hdev->manufacturer = hu->proto->manufacturer; in hci_uart_register_dev()
597 hdev->open = hci_uart_open; in hci_uart_register_dev()
598 hdev->close = hci_uart_close; in hci_uart_register_dev()
599 hdev->flush = hci_uart_flush; in hci_uart_register_dev()
600 hdev->send = hci_uart_send_frame; in hci_uart_register_dev()
601 hdev->setup = hci_uart_setup; in hci_uart_register_dev()
602 SET_HCIDEV_DEV(hdev, hu->tty->dev); in hci_uart_register_dev()
605 set_bit(HCI_QUIRK_RAW_DEVICE, &hdev->quirks); in hci_uart_register_dev()
608 set_bit(HCI_QUIRK_EXTERNAL_CONFIG, &hdev->quirks); in hci_uart_register_dev()
611 set_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks); in hci_uart_register_dev()
614 hdev->dev_type = HCI_AMP; in hci_uart_register_dev()
616 hdev->dev_type = HCI_BREDR; in hci_uart_register_dev()
621 if (hci_register_dev(hdev) < 0) { in hci_uart_register_dev()
623 hci_free_dev(hdev); in hci_uart_register_dev()
717 return hu->hdev->id; in hci_uart_tty_ioctl()