Lines Matching defs:hdev

55 	struct hci_dev *hdev;
88 static int mtk_hci_wmt_sync(struct hci_dev *hdev,
91 struct btmtkuart_dev *bdev = hci_get_drvdata(hdev);
121 err = __hci_cmd_send(hdev, 0xfc6f, hlen, wc);
139 bt_dev_err(hdev, "Execution of wmt command interrupted");
145 bt_dev_err(hdev, "Execution of wmt command timed out");
154 bt_dev_err(hdev, "Wrong op received %d expected %d",
190 static int btmtkuart_recv_event(struct hci_dev *hdev, struct sk_buff *skb)
192 struct btmtkuart_dev *bdev = hci_get_drvdata(hdev);
207 err = hci_recv_frame(hdev, skb);
241 struct hci_dev *hdev = bdev->hdev;
255 hdev->stat.byte_tx += len;
265 hdev->stat.cmd_tx++;
268 hdev->stat.acl_tx++;
271 hdev->stat.sco_tx++;
318 bt_dev_err(bdev->hdev, "stp format unexpect (%d, %d)",
339 static void btmtkuart_recv(struct hci_dev *hdev, const u8 *data, size_t count)
341 struct btmtkuart_dev *bdev = hci_get_drvdata(hdev);
370 bdev->rx_skb = h4_recv_buf(bdev->hdev, bdev->rx_skb, p_h4,
375 bt_dev_err(bdev->hdev,
391 btmtkuart_recv(bdev->hdev, data, count);
393 bdev->hdev->stat.byte_rx += count;
410 static int btmtkuart_open(struct hci_dev *hdev)
412 struct btmtkuart_dev *bdev = hci_get_drvdata(hdev);
418 bt_dev_err(hdev, "Unable to open UART device %s",
432 bt_dev_err(hdev, "Unable to set baudrate UART device %s",
467 static int btmtkuart_close(struct hci_dev *hdev)
469 struct btmtkuart_dev *bdev = hci_get_drvdata(hdev);
482 static int btmtkuart_flush(struct hci_dev *hdev)
484 struct btmtkuart_dev *bdev = hci_get_drvdata(hdev);
501 static int btmtkuart_func_query(struct hci_dev *hdev)
514 err = mtk_hci_wmt_sync(hdev, &wmt_params);
516 bt_dev_err(hdev, "Failed to query function status (%d)", err);
523 static int btmtkuart_change_baudrate(struct hci_dev *hdev)
525 struct btmtkuart_dev *bdev = hci_get_drvdata(hdev);
541 err = mtk_hci_wmt_sync(hdev, &wmt_params);
543 bt_dev_err(hdev, "Failed to device baudrate (%d)", err);
550 bt_dev_err(hdev, "Failed to set up host baudrate (%d)",
575 err = mtk_hci_wmt_sync(hdev, &wmt_params);
577 bt_dev_err(hdev, "Failed to test new baudrate (%d)",
587 static int btmtkuart_setup(struct hci_dev *hdev)
589 struct btmtkuart_dev *bdev = hci_get_drvdata(hdev);
610 err = mtk_hci_wmt_sync(hdev, &wmt_params);
612 bt_dev_err(hdev, "Failed to wakeup the chip (%d)", err);
620 btmtkuart_change_baudrate(hdev);
629 err = mtk_hci_wmt_sync(hdev, &wmt_params);
631 bt_dev_err(hdev, "Failed to query firmware status (%d)", err);
636 bt_dev_info(hdev, "Firmware already downloaded");
641 err = btmtk_setup_firmware(hdev, bdev->data->fwname, mtk_hci_wmt_sync);
647 err = readx_poll_timeout(btmtkuart_func_query, hdev, status,
659 bt_dev_info(hdev, "function already on");
670 err = mtk_hci_wmt_sync(hdev, &wmt_params);
672 bt_dev_err(hdev, "Failed to send wmt func ctrl (%d)", err);
684 skb = __hci_cmd_sync(hdev, 0xfc7a, sizeof(tci_sleep), &tci_sleep,
688 bt_dev_err(hdev, "Failed to apply low power setting (%d)", err);
697 bt_dev_info(hdev, "Device setup in %llu usecs", duration);
702 static int btmtkuart_shutdown(struct hci_dev *hdev)
715 err = mtk_hci_wmt_sync(hdev, &wmt_params);
717 bt_dev_err(hdev, "Failed to send wmt func ctrl (%d)", err);
724 static int btmtkuart_send_frame(struct hci_dev *hdev, struct sk_buff *skb)
726 struct btmtkuart_dev *bdev = hci_get_drvdata(hdev);
829 struct hci_dev *hdev;
853 hdev = hci_alloc_dev();
854 if (!hdev) {
859 bdev->hdev = hdev;
861 hdev->bus = HCI_UART;
862 hci_set_drvdata(hdev, bdev);
864 hdev->open = btmtkuart_open;
865 hdev->close = btmtkuart_close;
866 hdev->flush = btmtkuart_flush;
867 hdev->setup = btmtkuart_setup;
868 hdev->shutdown = btmtkuart_shutdown;
869 hdev->send = btmtkuart_send_frame;
870 hdev->set_bdaddr = btmtk_set_bdaddr;
871 SET_HCIDEV_DEV(hdev, &serdev->dev);
873 hdev->manufacturer = 70;
874 set_bit(HCI_QUIRK_NON_PERSISTENT_SETUP, &hdev->quirks);
922 err = hci_register_dev(hdev);
937 hci_free_dev(hdev);
945 struct hci_dev *hdev = bdev->hdev;
952 hci_unregister_dev(hdev);
953 hci_free_dev(hdev);