Lines Matching defs:hdev

104 static int st21nfca_hci_load_session(struct nfc_hci_dev *hdev)
134 r = nfc_hci_connect_gate(hdev, NFC_HCI_HOST_CONTROLLER_ID,
141 r = nfc_hci_send_cmd(hdev, ST21NFCA_DEVICE_MGNT_GATE,
150 r = nfc_hci_send_cmd(hdev, ST21NFCA_DEVICE_MGNT_GATE,
181 hdev->init_data.gates[j].pipe = pipe_info[2];
183 hdev->gate2pipe[st21nfca_gates[j].gate] =
185 hdev->pipes[pipe_info[2]].gate =
187 hdev->pipes[pipe_info[2]].dest_host =
197 r = nfc_hci_connect_gate(hdev, NFC_HCI_HOST_CONTROLLER_ID,
205 static int st21nfca_hci_open(struct nfc_hci_dev *hdev)
207 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
227 static void st21nfca_hci_close(struct nfc_hci_dev *hdev)
229 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
243 static int st21nfca_hci_ready(struct nfc_hci_dev *hdev)
245 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
259 r = nfc_hci_set_param(hdev, NFC_HCI_ADMIN_GATE,
267 r = nfc_hci_get_param(hdev, ST21NFCA_DEVICE_MGNT_GATE,
277 r = nfc_hci_set_param(hdev, ST21NFCA_DEVICE_MGNT_GATE,
283 r = nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE,
288 r = nfc_hci_get_param(hdev, NFC_HCI_ID_MGMT_GATE,
307 static int st21nfca_hci_xmit(struct nfc_hci_dev *hdev, struct sk_buff *skb)
309 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
314 static int st21nfca_hci_start_poll(struct nfc_hci_dev *hdev,
325 r = nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE,
335 r = nfc_hci_disconnect_gate(hdev,
342 r = nfc_hci_disconnect_gate(hdev,
349 r = nfc_hci_disconnect_gate(hdev,
354 hdev->gb = nfc_get_local_general_bytes(hdev->ndev,
355 &hdev->gb_len);
357 if (hdev->gb == NULL || hdev->gb_len == 0) {
365 r = nfc_hci_set_param(hdev, ST21NFCA_RF_READER_F_GATE,
373 r = nfc_hci_set_param(hdev, ST21NFCA_RF_READER_F_GATE,
381 r = nfc_hci_disconnect_gate(hdev,
388 r = nfc_hci_disconnect_gate(hdev,
394 r = nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE,
397 nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE,
402 r = nfc_hci_get_param(hdev, ST21NFCA_RF_CARD_F_GATE,
413 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE,
431 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE,
444 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE,
450 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE,
481 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE,
488 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE,
495 static void st21nfca_hci_stop_poll(struct nfc_hci_dev *hdev)
497 nfc_hci_send_cmd(hdev, ST21NFCA_DEVICE_MGNT_GATE,
501 static int st21nfca_get_iso14443_3_atqa(struct nfc_hci_dev *hdev, u16 *atqa)
506 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_14443_3_A_GATE,
523 static int st21nfca_get_iso14443_3_sak(struct nfc_hci_dev *hdev, u8 *sak)
528 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_14443_3_A_GATE,
545 static int st21nfca_get_iso14443_3_uid(struct nfc_hci_dev *hdev, u8 *uid,
551 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_14443_3_A_GATE,
568 static int st21nfca_get_iso15693_inventory(struct nfc_hci_dev *hdev,
574 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_ISO15693_GATE,
596 static int st21nfca_hci_dep_link_up(struct nfc_hci_dev *hdev,
600 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
603 return st21nfca_im_send_atr_req(hdev, gb, gb_len);
606 static int st21nfca_hci_dep_link_down(struct nfc_hci_dev *hdev)
608 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
612 return nfc_hci_send_cmd(hdev, ST21NFCA_DEVICE_MGNT_GATE,
616 static int st21nfca_hci_target_from_gate(struct nfc_hci_dev *hdev, u8 gate,
630 r = st21nfca_get_iso14443_3_atqa(hdev, &atqa);
637 r = st21nfca_get_iso14443_3_sak(hdev, &sak);
641 r = st21nfca_get_iso14443_3_uid(hdev, uid, &len);
659 r = st21nfca_get_iso15693_inventory(hdev, target);
670 static int st21nfca_hci_complete_target_discovered(struct nfc_hci_dev *hdev,
678 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_F_GATE,
712 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_F_GATE,
759 static int st21nfca_hci_im_transceive(struct nfc_hci_dev *hdev,
764 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
772 return st21nfca_im_send_dep_req(hdev, skb);
775 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate,
781 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate,
791 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate,
801 static int st21nfca_hci_tm_send(struct nfc_hci_dev *hdev, struct sk_buff *skb)
803 return st21nfca_tm_send_dep_res(hdev, skb);
806 static int st21nfca_hci_check_presence(struct nfc_hci_dev *hdev,
821 return nfc_hci_send_cmd(hdev, target->hci_reader_gate,
824 return nfc_hci_send_cmd(hdev, target->hci_reader_gate,
832 static void st21nfca_hci_cmd_received(struct nfc_hci_dev *hdev, u8 pipe, u8 cmd,
835 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
836 u8 gate = hdev->pipes[pipe].gate;
843 hdev->pipes[pipe].dest_host != NFC_HCI_UICC_HOST_ID)
856 static int st21nfca_admin_event_received(struct nfc_hci_dev *hdev, u8 event,
859 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
878 nfc_err(&hdev->ndev->dev, "Unexpected event on admin gate\n");
889 static int st21nfca_hci_event_received(struct nfc_hci_dev *hdev, u8 pipe,
892 u8 gate = hdev->pipes[pipe].gate;
893 u8 host = hdev->pipes[pipe].dest_host;
899 return st21nfca_admin_event_received(hdev, event, skb);
901 return st21nfca_dep_event_received(hdev, event, skb);
903 return st21nfca_connectivity_event_received(hdev, host,
906 return st21nfca_apdu_reader_event_received(hdev, event, skb);
908 return st21nfca_hci_loopback_event_received(hdev, event, skb);
939 int phy_payload, struct nfc_hci_dev **hdev,
987 info->hdev =
993 if (!info->hdev) {
994 pr_err("Cannot allocate nfc hdev.\n");
1001 nfc_hci_set_clientdata(info->hdev, info);
1003 r = nfc_hci_register_device(info->hdev);
1007 *hdev = info->hdev;
1008 st21nfca_dep_init(info->hdev);
1009 st21nfca_se_init(info->hdev);
1010 st21nfca_vendor_cmds_init(info->hdev);
1015 nfc_hci_free_device(info->hdev);
1024 void st21nfca_hci_remove(struct nfc_hci_dev *hdev)
1026 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
1028 st21nfca_dep_deinit(hdev);
1029 st21nfca_se_deinit(hdev);
1030 nfc_hci_unregister_device(hdev);
1031 nfc_hci_free_device(hdev);