/net/bluetooth/ |
D | hci_debugfs.c | 36 struct hci_dev *hdev = file->private_data; \ 39 buf[0] = test_bit(__quirk, &hdev->quirks) ? 'Y' : 'N'; \ 49 struct hci_dev *hdev = file->private_data; \ 53 if (test_bit(HCI_UP, &hdev->flags)) \ 60 if (enable == test_bit(__quirk, &hdev->quirks)) \ 63 change_bit(__quirk, &hdev->quirks); \ 78 struct hci_dev *hdev = f->private; \ 80 hci_dev_lock(hdev); \ 81 seq_printf(f, "%s\n", hdev->__field ? : ""); \ 82 hci_dev_unlock(hdev); \ [all …]
|
D | hci_core.c | 66 struct hci_dev *hdev = file->private_data; in dut_mode_read() local 69 buf[0] = hci_dev_test_flag(hdev, HCI_DUT_MODE) ? 'Y' : 'N'; in dut_mode_read() 78 struct hci_dev *hdev = file->private_data; in dut_mode_write() local 83 if (!test_bit(HCI_UP, &hdev->flags)) in dut_mode_write() 90 if (enable == hci_dev_test_flag(hdev, HCI_DUT_MODE)) in dut_mode_write() 93 hci_req_sync_lock(hdev); in dut_mode_write() 95 skb = __hci_cmd_sync(hdev, HCI_OP_ENABLE_DUT_MODE, 0, NULL, in dut_mode_write() 98 skb = __hci_cmd_sync(hdev, HCI_OP_RESET, 0, NULL, in dut_mode_write() 100 hci_req_sync_unlock(hdev); in dut_mode_write() 107 hci_dev_change_flag(hdev, HCI_DUT_MODE); in dut_mode_write() [all …]
|
D | hci_event.c | 46 static void hci_cc_inquiry_cancel(struct hci_dev *hdev, struct sk_buff *skb, in hci_cc_inquiry_cancel() argument 51 BT_DBG("%s status 0x%2.2x", hdev->name, status); in hci_cc_inquiry_cancel() 60 if (status == 0x0c && !test_bit(HCI_INQUIRY, &hdev->flags)) { in hci_cc_inquiry_cancel() 61 bt_dev_warn(hdev, "Ignoring error of Inquiry Cancel command"); in hci_cc_inquiry_cancel() 70 clear_bit(HCI_INQUIRY, &hdev->flags); in hci_cc_inquiry_cancel() 72 wake_up_bit(&hdev->flags, HCI_INQUIRY); in hci_cc_inquiry_cancel() 74 hci_dev_lock(hdev); in hci_cc_inquiry_cancel() 78 if (!hci_dev_test_flag(hdev, HCI_LE_SCAN) || in hci_cc_inquiry_cancel() 79 hdev->le_scan_type != LE_SCAN_ACTIVE) in hci_cc_inquiry_cancel() 80 hci_discovery_set_state(hdev, DISCOVERY_STOPPED); in hci_cc_inquiry_cancel() [all …]
|
D | hci_request.c | 37 void hci_req_init(struct hci_request *req, struct hci_dev *hdev) in hci_req_init() argument 40 req->hdev = hdev; in hci_req_init() 49 bool hci_req_status_pend(struct hci_dev *hdev) in hci_req_status_pend() argument 51 return hdev->req_status == HCI_REQ_PEND; in hci_req_status_pend() 57 struct hci_dev *hdev = req->hdev; in req_run() local 83 spin_lock_irqsave(&hdev->cmd_q.lock, flags); in req_run() 84 skb_queue_splice_tail(&req->cmd_q, &hdev->cmd_q); in req_run() 85 spin_unlock_irqrestore(&hdev->cmd_q.lock, flags); in req_run() 87 queue_work(hdev->workqueue, &hdev->cmd_work); in req_run() 102 static void hci_req_sync_complete(struct hci_dev *hdev, u8 result, u16 opcode, in hci_req_sync_complete() argument [all …]
|
D | mgmt.c | 253 static int mgmt_index_event(u16 event, struct hci_dev *hdev, void *data, in mgmt_index_event() argument 256 return mgmt_send_event(event, hdev, HCI_CHANNEL_CONTROL, data, len, in mgmt_index_event() 260 static int mgmt_limited_event(u16 event, struct hci_dev *hdev, void *data, in mgmt_limited_event() argument 263 return mgmt_send_event(event, hdev, HCI_CHANNEL_CONTROL, data, len, in mgmt_limited_event() 267 static int mgmt_event(u16 event, struct hci_dev *hdev, void *data, u16 len, in mgmt_event() argument 270 return mgmt_send_event(event, hdev, HCI_CHANNEL_CONTROL, data, len, in mgmt_event() 290 static int read_version(struct sock *sk, struct hci_dev *hdev, void *data, in read_version() argument 303 static int read_commands(struct sock *sk, struct hci_dev *hdev, void *data, in read_commands() argument 355 static int read_index_list(struct sock *sk, struct hci_dev *hdev, void *data, in read_index_list() argument 415 static int read_unconf_index_list(struct sock *sk, struct hci_dev *hdev, in read_unconf_index_list() argument [all …]
|
D | hci_conn.c | 66 struct hci_dev *hdev = conn->hdev; in hci_connect_le_scan_cleanup() local 75 irk = hci_get_irk(hdev, bdaddr, bdaddr_type); in hci_connect_le_scan_cleanup() 81 params = hci_pend_le_action_lookup(&hdev->pend_le_conns, bdaddr, in hci_connect_le_scan_cleanup() 97 hci_conn_params_del(hdev, bdaddr, bdaddr_type); in hci_connect_le_scan_cleanup() 102 list_add(¶ms->action, &hdev->pend_le_conns); in hci_connect_le_scan_cleanup() 105 list_add(¶ms->action, &hdev->pend_le_reports); in hci_connect_le_scan_cleanup() 111 hci_update_background_scan(hdev); in hci_connect_le_scan_cleanup() 116 struct hci_dev *hdev = conn->hdev; in hci_conn_cleanup() local 119 hci_conn_params_del(conn->hdev, &conn->dst, conn->dst_type); in hci_conn_cleanup() 123 hci_conn_hash_del(hdev, conn); in hci_conn_cleanup() [all …]
|
D | amp.c | 105 struct hci_conn *phylink_add(struct hci_dev *hdev, struct amp_mgr *mgr, in phylink_add() argument 112 hcon = hci_conn_add(hdev, AMP_LINK, dst, role); in phylink_add() 169 struct hci_dev *hdev = conn->hdev; in phylink_gen_key() local 182 bt_dev_err(hdev, "legacy key type %d", conn->key_type); in phylink_gen_key() 189 key = hci_find_link_key(hdev, &conn->dst); in phylink_gen_key() 202 bt_dev_err(hdev, "could not derive Generic AMP Key: err %d", err); in phylink_gen_key() 216 static void read_local_amp_assoc_complete(struct hci_dev *hdev, u8 status, in read_local_amp_assoc_complete() argument 220 struct amp_assoc *assoc = &hdev->loc_assoc; in read_local_amp_assoc_complete() 223 BT_DBG("%s status 0x%2.2x", hdev->name, rp->status); in read_local_amp_assoc_complete() 238 amp_read_loc_assoc_frag(hdev, rp->phy_handle); in read_local_amp_assoc_complete() [all …]
|
D | hci_sock.c | 53 struct hci_dev *hdev; member 64 struct hci_dev *hdev = hci_pi(sk)->hdev; in hci_hdev_from_sock() local 66 if (!hdev) in hci_hdev_from_sock() 68 if (hci_dev_test_flag(hdev, HCI_UNREGISTER)) in hci_hdev_from_sock() 70 return hdev; in hci_hdev_from_sock() 202 void hci_send_to_sock(struct hci_dev *hdev, struct sk_buff *skb) in hci_send_to_sock() argument 207 BT_DBG("hdev %p len %d", hdev, skb->len); in hci_send_to_sock() 214 if (sk->sk_state != BT_BOUND || hci_pi(sk)->hdev != hdev) in hci_send_to_sock() 308 void hci_send_to_monitor(struct hci_dev *hdev, struct sk_buff *skb) in hci_send_to_monitor() argument 317 BT_DBG("hdev %p len %d", hdev, skb->len); in hci_send_to_monitor() [all …]
|
D | hci_request.h | 25 #define hci_req_sync_lock(hdev) mutex_lock(&hdev->req_lock) argument 26 #define hci_req_sync_unlock(hdev) mutex_unlock(&hdev->req_lock) argument 29 struct hci_dev *hdev; member 38 void hci_req_init(struct hci_request *req, struct hci_dev *hdev); 40 bool hci_req_status_pend(struct hci_dev *hdev); 47 void hci_req_cmd_complete(struct hci_dev *hdev, u16 opcode, u8 status, 51 int hci_req_sync(struct hci_dev *hdev, int (*req)(struct hci_request *req, 54 int __hci_req_sync(struct hci_dev *hdev, int (*func)(struct hci_request *req, 57 void hci_req_sync_cancel(struct hci_dev *hdev, int err); 59 struct sk_buff *hci_prepare_cmd(struct hci_dev *hdev, u16 opcode, u32 plen, [all …]
|
D | hci_sysfs.c | 34 struct hci_dev *hdev = conn->hdev; in hci_conn_init_sysfs() local 36 bt_dev_dbg(hdev, "conn %p", conn); in hci_conn_init_sysfs() 40 conn->dev.parent = &hdev->dev; in hci_conn_init_sysfs() 47 struct hci_dev *hdev = conn->hdev; in hci_conn_add_sysfs() local 49 bt_dev_dbg(hdev, "conn %p", conn); in hci_conn_add_sysfs() 54 dev_set_name(&conn->dev, "%s:%d", hdev->name, conn->handle); in hci_conn_add_sysfs() 57 bt_dev_err(hdev, "failed to register connection device"); in hci_conn_add_sysfs() 62 struct hci_dev *hdev = conn->hdev; in hci_conn_del_sysfs() local 64 bt_dev_dbg(hdev, "conn %p", conn); in hci_conn_del_sysfs() 89 struct hci_dev *hdev = to_hci_dev(dev); in bt_host_release() local [all …]
|
D | leds.c | 15 struct hci_dev *hdev; member 21 void hci_leds_update_powered(struct hci_dev *hdev, bool enabled) in hci_leds_update_powered() argument 23 if (hdev->power_led) in hci_leds_update_powered() 24 led_trigger_event(hdev->power_led, in hci_leds_update_powered() 49 powered = test_bit(HCI_UP, &htrig->hdev->flags); in power_activate() 56 static struct led_trigger *led_allocate_basic(struct hci_dev *hdev, in led_allocate_basic() argument 62 htrig = devm_kzalloc(&hdev->dev, sizeof(*htrig), GFP_KERNEL); in led_allocate_basic() 66 htrig->hdev = hdev; in led_allocate_basic() 68 htrig->led_trigger.name = devm_kasprintf(&hdev->dev, GFP_KERNEL, in led_allocate_basic() 69 "%s-%s", hdev->name, in led_allocate_basic() [all …]
|
D | a2mp.c | 94 struct hci_dev *hdev; in __a2mp_add_cl() local 101 list_for_each_entry(hdev, &hci_dev_list, list) { in __a2mp_add_cl() 102 if (hdev->dev_type == HCI_AMP) { in __a2mp_add_cl() 103 cl[i].id = hdev->id; in __a2mp_add_cl() 104 cl[i].type = hdev->amp_type; in __a2mp_add_cl() 105 if (test_bit(HCI_UP, &hdev->flags)) in __a2mp_add_cl() 106 cl[i].status = hdev->amp_status; in __a2mp_add_cl() 138 struct hci_dev *hdev; in a2mp_discover_req() local 165 list_for_each_entry(hdev, &hci_dev_list, list) { in a2mp_discover_req() 166 if (hdev->dev_type == HCI_AMP) in a2mp_discover_req() [all …]
|
D | smp.c | 40 #define SMP_DEV(hdev) \ argument 41 ((struct smp_dev *)((struct l2cap_chan *)((hdev)->smp_data))->data) 501 bool smp_irk_matches(struct hci_dev *hdev, const u8 irk[16], in smp_irk_matches() argument 504 struct l2cap_chan *chan = hdev->smp_data; in smp_irk_matches() 523 int smp_generate_rpa(struct hci_dev *hdev, const u8 irk[16], bdaddr_t *rpa) in smp_generate_rpa() argument 525 struct l2cap_chan *chan = hdev->smp_data; in smp_generate_rpa() 548 int smp_generate_oob(struct hci_dev *hdev, u8 hash[16], u8 rand[16]) in smp_generate_oob() argument 550 struct l2cap_chan *chan = hdev->smp_data; in smp_generate_oob() 559 if (hci_dev_test_flag(hdev, HCI_USE_DEBUG_KEYS)) { in smp_generate_oob() 664 struct hci_dev *hdev = hcon->hdev; in build_pairing_cmd() local [all …]
|
D | amp.h | 26 struct hci_conn *phylink_add(struct hci_dev *hdev, struct amp_mgr *mgr, 31 void amp_read_loc_info(struct hci_dev *hdev, struct amp_mgr *mgr); 32 void amp_read_loc_assoc_frag(struct hci_dev *hdev, u8 phy_handle); 33 void amp_read_loc_assoc(struct hci_dev *hdev, struct amp_mgr *mgr); 34 void amp_read_loc_assoc_final_data(struct hci_dev *hdev, 36 void amp_create_phylink(struct hci_dev *hdev, struct amp_mgr *mgr, 38 void amp_accept_phylink(struct hci_dev *hdev, struct amp_mgr *mgr, 54 void amp_write_remote_assoc(struct hci_dev *hdev, u8 handle); 55 void amp_write_rem_assoc_continue(struct hci_dev *hdev, u8 handle);
|
D | hci_debugfs.h | 25 void hci_debugfs_create_common(struct hci_dev *hdev); 26 void hci_debugfs_create_bredr(struct hci_dev *hdev); 27 void hci_debugfs_create_le(struct hci_dev *hdev); 32 static inline void hci_debugfs_create_common(struct hci_dev *hdev) in hci_debugfs_create_common() argument 36 static inline void hci_debugfs_create_bredr(struct hci_dev *hdev) in hci_debugfs_create_bredr() argument 40 static inline void hci_debugfs_create_le(struct hci_dev *hdev) in hci_debugfs_create_le() argument
|
D | mgmt_util.c | 59 int mgmt_send_event(u16 event, struct hci_dev *hdev, unsigned short channel, in mgmt_send_event() argument 71 if (hdev) in mgmt_send_event() 72 hdr->index = cpu_to_le16(hdev->id); in mgmt_send_event() 86 hci_send_monitor_ctrl_event(hdev, event, data, data_len, in mgmt_send_event() 185 struct hci_dev *hdev) in mgmt_pending_find() argument 189 list_for_each_entry(cmd, &hdev->mgmt_pending, list) { in mgmt_pending_find() 201 struct hci_dev *hdev, in mgmt_pending_find_data() argument 206 list_for_each_entry(cmd, &hdev->mgmt_pending, list) { in mgmt_pending_find_data() 216 void mgmt_pending_foreach(u16 opcode, struct hci_dev *hdev, in mgmt_pending_foreach() argument 222 list_for_each_entry_safe(cmd, tmp, &hdev->mgmt_pending, list) { in mgmt_pending_foreach() [all …]
|
D | mgmt_util.h | 34 int mgmt_send_event(u16 event, struct hci_dev *hdev, unsigned short channel, 41 struct hci_dev *hdev); 44 struct hci_dev *hdev, 46 void mgmt_pending_foreach(u16 opcode, struct hci_dev *hdev, 50 struct hci_dev *hdev,
|
D | leds.h | 8 void hci_leds_update_powered(struct hci_dev *hdev, bool enabled); 9 void hci_leds_init(struct hci_dev *hdev); 16 static inline void hci_leds_update_powered(struct hci_dev *hdev, in hci_leds_update_powered() argument 18 static inline void hci_leds_init(struct hci_dev *hdev) {} in hci_leds_init() argument
|
D | smp.h | 184 int smp_cancel_and_remove_pairing(struct hci_dev *hdev, bdaddr_t *bdaddr, 191 bool smp_irk_matches(struct hci_dev *hdev, const u8 irk[16], 193 int smp_generate_rpa(struct hci_dev *hdev, const u8 irk[16], bdaddr_t *rpa); 194 int smp_generate_oob(struct hci_dev *hdev, u8 hash[16], u8 rand[16]); 196 int smp_register(struct hci_dev *hdev); 197 void smp_unregister(struct hci_dev *hdev);
|
D | sco.c | 125 struct hci_dev *hdev = hcon->hdev; in sco_conn_add() local 141 if (hdev->sco_mtu > 0) in sco_conn_add() 142 conn->mtu = hdev->sco_mtu; in sco_conn_add() 236 static int sco_connect(struct hci_dev *hdev, struct sock *sk) in sco_connect() argument 244 if (lmp_esco_capable(hdev) && !disable_esco) in sco_connect() 250 (!lmp_transp_capable(hdev) || !lmp_esco_capable(hdev))) in sco_connect() 253 hcon = hci_connect_sco(hdev, type, &sco_pi(sk)->dst, in sco_connect() 550 struct hci_dev *hdev; in sco_sock_connect() local 570 hdev = hci_get_route(&sa->sco_bdaddr, &sco_pi(sk)->src, BDADDR_BREDR); in sco_sock_connect() 571 if (!hdev) { in sco_sock_connect() [all …]
|
/net/nfc/hci/ |
D | core.c | 37 void nfc_hci_reset_pipes(struct nfc_hci_dev *hdev) in nfc_hci_reset_pipes() argument 42 hdev->pipes[i].gate = NFC_HCI_INVALID_GATE; in nfc_hci_reset_pipes() 43 hdev->pipes[i].dest_host = NFC_HCI_INVALID_HOST; in nfc_hci_reset_pipes() 45 memset(hdev->gate2pipe, NFC_HCI_INVALID_PIPE, sizeof(hdev->gate2pipe)); in nfc_hci_reset_pipes() 49 void nfc_hci_reset_pipes_per_host(struct nfc_hci_dev *hdev, u8 host) in nfc_hci_reset_pipes_per_host() argument 54 if (hdev->pipes[i].dest_host != host) in nfc_hci_reset_pipes_per_host() 57 hdev->pipes[i].gate = NFC_HCI_INVALID_GATE; in nfc_hci_reset_pipes_per_host() 58 hdev->pipes[i].dest_host = NFC_HCI_INVALID_HOST; in nfc_hci_reset_pipes_per_host() 65 struct nfc_hci_dev *hdev = container_of(work, struct nfc_hci_dev, in nfc_hci_msg_tx_work() local 71 mutex_lock(&hdev->msg_tx_mutex); in nfc_hci_msg_tx_work() [all …]
|
D | command.c | 19 static int nfc_hci_execute_cmd_async(struct nfc_hci_dev *hdev, u8 pipe, u8 cmd, in nfc_hci_execute_cmd_async() argument 29 return nfc_hci_hcp_message_tx(hdev, pipe, NFC_HCI_HCP_COMMAND, cmd, in nfc_hci_execute_cmd_async() 55 static int nfc_hci_execute_cmd(struct nfc_hci_dev *hdev, u8 pipe, u8 cmd, in nfc_hci_execute_cmd() argument 71 hcp_ew.exec_result = nfc_hci_hcp_message_tx(hdev, pipe, in nfc_hci_execute_cmd() 91 int nfc_hci_send_event(struct nfc_hci_dev *hdev, u8 gate, u8 event, in nfc_hci_send_event() argument 98 pipe = hdev->gate2pipe[gate]; in nfc_hci_send_event() 102 return nfc_hci_hcp_message_tx(hdev, pipe, NFC_HCI_HCP_EVENT, event, in nfc_hci_send_event() 112 int nfc_hci_send_cmd(struct nfc_hci_dev *hdev, u8 gate, u8 cmd, in nfc_hci_send_cmd() argument 119 pipe = hdev->gate2pipe[gate]; in nfc_hci_send_cmd() 123 return nfc_hci_execute_cmd(hdev, pipe, cmd, param, param_len, skb); in nfc_hci_send_cmd() [all …]
|
D | hcp.c | 21 int nfc_hci_hcp_message_tx(struct nfc_hci_dev *hdev, u8 pipe, in nfc_hci_hcp_message_tx() argument 27 struct nfc_dev *ndev = hdev->ndev; in nfc_hci_hcp_message_tx() 51 hdev->max_data_link_payload) in nfc_hci_hcp_message_tx() 54 data_link_len = hdev->max_data_link_payload - in nfc_hci_hcp_message_tx() 93 mutex_lock(&hdev->msg_tx_mutex); in nfc_hci_hcp_message_tx() 95 if (hdev->shutting_down) { in nfc_hci_hcp_message_tx() 97 mutex_unlock(&hdev->msg_tx_mutex); in nfc_hci_hcp_message_tx() 101 list_add_tail(&cmd->msg_l, &hdev->msg_tx_queue); in nfc_hci_hcp_message_tx() 102 mutex_unlock(&hdev->msg_tx_mutex); in nfc_hci_hcp_message_tx() 104 schedule_work(&hdev->msg_tx_work); in nfc_hci_hcp_message_tx() [all …]
|
D | llc_nop.c | 13 struct nfc_hci_dev *hdev; member 21 static void *llc_nop_init(struct nfc_hci_dev *hdev, xmit_to_drv_t xmit_to_drv, in llc_nop_init() argument 35 llc_nop->hdev = hdev; in llc_nop_init() 64 llc_nop->rcv_to_hci(llc_nop->hdev, skb); in llc_nop_rcv_from_drv() 71 return llc_nop->xmit_to_drv(llc_nop->hdev, skb); in llc_nop_xmit_from_hci()
|
/net/nfc/nci/ |
D | hci.c | 110 static void nci_hci_reset_pipes(struct nci_hci_dev *hdev) in nci_hci_reset_pipes() argument 115 hdev->pipes[i].gate = NCI_HCI_INVALID_GATE; in nci_hci_reset_pipes() 116 hdev->pipes[i].host = NCI_HCI_INVALID_HOST; in nci_hci_reset_pipes() 118 memset(hdev->gate2pipe, NCI_HCI_INVALID_PIPE, sizeof(hdev->gate2pipe)); in nci_hci_reset_pipes() 411 struct nci_hci_dev *hdev = in nci_hci_msg_rx_work() local 417 while ((skb = skb_dequeue(&hdev->msg_rx_queue)) != NULL) { in nci_hci_msg_rx_work() 425 nci_hci_hcp_message_rx(hdev->ndev, pipe, in nci_hci_msg_rx_work() 785 struct nci_hci_dev *hdev; in nci_hci_allocate() local 787 hdev = kzalloc(sizeof(*hdev), GFP_KERNEL); in nci_hci_allocate() 788 if (!hdev) in nci_hci_allocate() [all …]
|