Lines Matching refs:hu

66 	struct hci_uart hu;
85 static int send_hcill_cmd(u8 cmd, struct hci_uart *hu)
89 struct ll_struct *ll = hu->priv;
91 BT_DBG("hu %p cmd 0x%x", hu, cmd);
111 static int ll_open(struct hci_uart *hu)
115 BT_DBG("hu %p", hu);
127 hu->priv = ll;
129 if (hu->serdev) {
130 struct ll_device *lldev = serdev_device_get_drvdata(hu->serdev);
140 static int ll_flush(struct hci_uart *hu)
142 struct ll_struct *ll = hu->priv;
144 BT_DBG("hu %p", hu);
153 static int ll_close(struct hci_uart *hu)
155 struct ll_struct *ll = hu->priv;
157 BT_DBG("hu %p", hu);
164 if (hu->serdev) {
165 struct ll_device *lldev = serdev_device_get_drvdata(hu->serdev);
172 hu->priv = NULL;
199 static void ll_device_want_to_wakeup(struct hci_uart *hu)
202 struct ll_struct *ll = hu->priv;
204 BT_DBG("hu %p", hu);
225 if (send_hcill_cmd(HCILL_WAKE_UP_ACK, hu) < 0) {
244 hci_uart_tx_wakeup(hu);
250 static void ll_device_want_to_sleep(struct hci_uart *hu)
253 struct ll_struct *ll = hu->priv;
255 BT_DBG("hu %p", hu);
266 if (send_hcill_cmd(HCILL_GO_TO_SLEEP_ACK, hu) < 0) {
278 hci_uart_tx_wakeup(hu);
284 static void ll_device_woke_up(struct hci_uart *hu)
287 struct ll_struct *ll = hu->priv;
289 BT_DBG("hu %p", hu);
305 hci_uart_tx_wakeup(hu);
310 static int ll_enqueue(struct hci_uart *hu, struct sk_buff *skb)
313 struct ll_struct *ll = hu->priv;
315 BT_DBG("hu %p skb %p", hu, skb);
334 if (send_hcill_cmd(HCILL_WAKE_UP_IND, hu) < 0) {
359 struct hci_uart *hu = hci_get_drvdata(hdev);
360 struct ll_struct *ll = hu->priv;
365 ll_device_want_to_sleep(hu);
374 ll_device_want_to_wakeup(hu);
378 ll_device_woke_up(hu);
425 static int ll_recv(struct hci_uart *hu, const void *data, int count)
427 struct ll_struct *ll = hu->priv;
429 if (!test_bit(HCI_UART_REGISTERED, &hu->flags))
432 ll->rx_skb = h4_recv_buf(hu->hdev, ll->rx_skb, data, count,
436 bt_dev_err(hu->hdev, "Frame reassembly failed (%d)", err);
444 static struct sk_buff *ll_dequeue(struct hci_uart *hu)
446 struct ll_struct *ll = hu->priv;
495 bt_dev_warn(lldev->hu.hdev,
500 bt_dev_dbg(lldev->hu.hdev, "command type %d", cmd->prefix);
502 skb = __hci_cmd_sync(lldev->hu.hdev, cmd->opcode, cmd->plen,
505 bt_dev_err(lldev->hu.hdev, "send command failed");
526 version = read_local_version(lldev->hu.hdev);
542 bt_dev_err(lldev->hu.hdev, "request_firmware failed(errno %d) for %s",
555 bt_dev_dbg(lldev->hu.hdev, " action size %d, type %d ",
563 bt_dev_dbg(lldev->hu.hdev, "S");
571 bt_dev_dbg(lldev->hu.hdev, "W");
574 bt_dev_info(lldev->hu.hdev, "sleep command in scr");
608 static int ll_setup(struct hci_uart *hu)
612 struct serdev_device *serdev = hu->serdev;
620 hu->hdev->set_bdaddr = ll_set_bdaddr;
631 bt_dev_err(hu->hdev, "Failed to get CTS");
640 bt_dev_err(hu->hdev, "download firmware failed, retrying...");
651 set_bit(HCI_QUIRK_INVALID_BDADDR, &hu->hdev->quirks);
653 err = ll_set_bdaddr(hu->hdev, &lldev->bdaddr);
655 set_bit(HCI_QUIRK_INVALID_BDADDR, &hu->hdev->quirks);
659 if (hu->oper_speed)
660 speed = hu->oper_speed;
661 else if (hu->proto->oper_speed)
662 speed = hu->proto->oper_speed;
670 skb = __hci_cmd_sync(hu->hdev, HCI_VS_UPDATE_UART_HCI_BAUDRATE,
686 struct hci_uart *hu;
694 hu = &lldev->hu;
697 lldev->serdev = hu->serdev = serdev;
710 hci_uart_set_speeds(hu, 115200, max_speed);
758 return hci_uart_register_device(hu, &llp);
765 hci_uart_unregister_device(&lldev->hu);