Lines Matching refs:hdev

116 static int st21nfca_hci_load_session(struct nfc_hci_dev *hdev)  in st21nfca_hci_load_session()  argument
146 r = nfc_hci_connect_gate(hdev, NFC_HCI_HOST_CONTROLLER_ID, in st21nfca_hci_load_session()
153 r = nfc_hci_send_cmd(hdev, ST21NFCA_DEVICE_MGNT_GATE, in st21nfca_hci_load_session()
162 r = nfc_hci_send_cmd(hdev, ST21NFCA_DEVICE_MGNT_GATE, in st21nfca_hci_load_session()
193 hdev->init_data.gates[j].pipe = pipe_info[2]; in st21nfca_hci_load_session()
195 hdev->gate2pipe[st21nfca_gates[j].gate] = in st21nfca_hci_load_session()
197 hdev->pipes[pipe_info[2]].gate = in st21nfca_hci_load_session()
199 hdev->pipes[pipe_info[2]].dest_host = in st21nfca_hci_load_session()
209 r = nfc_hci_connect_gate(hdev, NFC_HCI_HOST_CONTROLLER_ID, in st21nfca_hci_load_session()
217 static int st21nfca_hci_open(struct nfc_hci_dev *hdev) in st21nfca_hci_open() argument
219 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_open()
239 static void st21nfca_hci_close(struct nfc_hci_dev *hdev) in st21nfca_hci_close() argument
241 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_close()
255 static int st21nfca_hci_ready(struct nfc_hci_dev *hdev) in st21nfca_hci_ready() argument
257 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_ready()
278 r = nfc_hci_set_param(hdev, NFC_HCI_ADMIN_GATE, in st21nfca_hci_ready()
286 r = nfc_hci_get_param(hdev, ST21NFCA_DEVICE_MGNT_GATE, in st21nfca_hci_ready()
296 r = nfc_hci_set_param(hdev, ST21NFCA_DEVICE_MGNT_GATE, in st21nfca_hci_ready()
302 r = nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE, in st21nfca_hci_ready()
307 r = nfc_hci_get_param(hdev, NFC_HCI_ID_MGMT_GATE, in st21nfca_hci_ready()
326 static int st21nfca_hci_xmit(struct nfc_hci_dev *hdev, struct sk_buff *skb) in st21nfca_hci_xmit() argument
328 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_xmit()
333 static int st21nfca_hci_start_poll(struct nfc_hci_dev *hdev, in st21nfca_hci_start_poll() argument
344 r = nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE, in st21nfca_hci_start_poll()
354 r = nfc_hci_disconnect_gate(hdev, in st21nfca_hci_start_poll()
361 r = nfc_hci_disconnect_gate(hdev, in st21nfca_hci_start_poll()
368 r = nfc_hci_disconnect_gate(hdev, in st21nfca_hci_start_poll()
373 hdev->gb = nfc_get_local_general_bytes(hdev->ndev, in st21nfca_hci_start_poll()
374 &hdev->gb_len); in st21nfca_hci_start_poll()
376 if (hdev->gb == NULL || hdev->gb_len == 0) { in st21nfca_hci_start_poll()
384 r = nfc_hci_set_param(hdev, ST21NFCA_RF_READER_F_GATE, in st21nfca_hci_start_poll()
392 r = nfc_hci_set_param(hdev, ST21NFCA_RF_READER_F_GATE, in st21nfca_hci_start_poll()
400 r = nfc_hci_disconnect_gate(hdev, in st21nfca_hci_start_poll()
407 r = nfc_hci_disconnect_gate(hdev, in st21nfca_hci_start_poll()
413 r = nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE, in st21nfca_hci_start_poll()
416 nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE, in st21nfca_hci_start_poll()
421 r = nfc_hci_get_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
432 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
450 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
463 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
469 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
500 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
507 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
514 static void st21nfca_hci_stop_poll(struct nfc_hci_dev *hdev) in st21nfca_hci_stop_poll() argument
516 nfc_hci_send_cmd(hdev, ST21NFCA_DEVICE_MGNT_GATE, in st21nfca_hci_stop_poll()
520 static int st21nfca_get_iso14443_3_atqa(struct nfc_hci_dev *hdev, u16 *atqa) in st21nfca_get_iso14443_3_atqa() argument
525 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_14443_3_A_GATE, in st21nfca_get_iso14443_3_atqa()
542 static int st21nfca_get_iso14443_3_sak(struct nfc_hci_dev *hdev, u8 *sak) in st21nfca_get_iso14443_3_sak() argument
547 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_14443_3_A_GATE, in st21nfca_get_iso14443_3_sak()
564 static int st21nfca_get_iso14443_3_uid(struct nfc_hci_dev *hdev, u8 *uid, in st21nfca_get_iso14443_3_uid() argument
570 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_14443_3_A_GATE, in st21nfca_get_iso14443_3_uid()
587 static int st21nfca_get_iso15693_inventory(struct nfc_hci_dev *hdev, in st21nfca_get_iso15693_inventory() argument
593 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_ISO15693_GATE, in st21nfca_get_iso15693_inventory()
615 static int st21nfca_hci_dep_link_up(struct nfc_hci_dev *hdev, in st21nfca_hci_dep_link_up() argument
619 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_dep_link_up()
622 return st21nfca_im_send_atr_req(hdev, gb, gb_len); in st21nfca_hci_dep_link_up()
625 static int st21nfca_hci_dep_link_down(struct nfc_hci_dev *hdev) in st21nfca_hci_dep_link_down() argument
627 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_dep_link_down()
631 return nfc_hci_send_cmd(hdev, ST21NFCA_DEVICE_MGNT_GATE, in st21nfca_hci_dep_link_down()
635 static int st21nfca_hci_target_from_gate(struct nfc_hci_dev *hdev, u8 gate, in st21nfca_hci_target_from_gate() argument
649 r = st21nfca_get_iso14443_3_atqa(hdev, &atqa); in st21nfca_hci_target_from_gate()
656 r = st21nfca_get_iso14443_3_sak(hdev, &sak); in st21nfca_hci_target_from_gate()
660 r = st21nfca_get_iso14443_3_uid(hdev, uid, &len); in st21nfca_hci_target_from_gate()
678 r = st21nfca_get_iso15693_inventory(hdev, target); in st21nfca_hci_target_from_gate()
689 static int st21nfca_hci_complete_target_discovered(struct nfc_hci_dev *hdev, in st21nfca_hci_complete_target_discovered() argument
697 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_F_GATE, in st21nfca_hci_complete_target_discovered()
730 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_F_GATE, in st21nfca_hci_complete_target_discovered()
777 static int st21nfca_hci_im_transceive(struct nfc_hci_dev *hdev, in st21nfca_hci_im_transceive() argument
782 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_im_transceive()
790 return st21nfca_im_send_dep_req(hdev, skb); in st21nfca_hci_im_transceive()
793 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate, in st21nfca_hci_im_transceive()
799 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate, in st21nfca_hci_im_transceive()
809 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate, in st21nfca_hci_im_transceive()
820 static int st21nfca_hci_tm_send(struct nfc_hci_dev *hdev, struct sk_buff *skb) in st21nfca_hci_tm_send() argument
822 return st21nfca_tm_send_dep_res(hdev, skb); in st21nfca_hci_tm_send()
825 static int st21nfca_hci_check_presence(struct nfc_hci_dev *hdev, in st21nfca_hci_check_presence() argument
840 return nfc_hci_send_cmd(hdev, target->hci_reader_gate, in st21nfca_hci_check_presence()
843 return nfc_hci_send_cmd(hdev, target->hci_reader_gate, in st21nfca_hci_check_presence()
851 static void st21nfca_hci_cmd_received(struct nfc_hci_dev *hdev, u8 pipe, u8 cmd, in st21nfca_hci_cmd_received() argument
854 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_cmd_received()
855 u8 gate = hdev->pipes[pipe].gate; in st21nfca_hci_cmd_received()
862 hdev->pipes[pipe].dest_host != NFC_HCI_UICC_HOST_ID) in st21nfca_hci_cmd_received()
875 static int st21nfca_admin_event_received(struct nfc_hci_dev *hdev, u8 event, in st21nfca_admin_event_received() argument
878 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_admin_event_received()
897 nfc_err(&hdev->ndev->dev, "Unexpected event on admin gate\n"); in st21nfca_admin_event_received()
908 static int st21nfca_hci_event_received(struct nfc_hci_dev *hdev, u8 pipe, in st21nfca_hci_event_received() argument
911 u8 gate = hdev->pipes[pipe].gate; in st21nfca_hci_event_received()
912 u8 host = hdev->pipes[pipe].dest_host; in st21nfca_hci_event_received()
918 return st21nfca_admin_event_received(hdev, event, skb); in st21nfca_hci_event_received()
920 return st21nfca_dep_event_received(hdev, event, skb); in st21nfca_hci_event_received()
922 return st21nfca_connectivity_event_received(hdev, host, in st21nfca_hci_event_received()
925 return st21nfca_apdu_reader_event_received(hdev, event, skb); in st21nfca_hci_event_received()
927 return st21nfca_hci_loopback_event_received(hdev, event, skb); in st21nfca_hci_event_received()
958 int phy_payload, struct nfc_hci_dev **hdev, in st21nfca_hci_probe() argument
1006 info->hdev = in st21nfca_hci_probe()
1012 if (!info->hdev) { in st21nfca_hci_probe()
1020 nfc_hci_set_clientdata(info->hdev, info); in st21nfca_hci_probe()
1022 r = nfc_hci_register_device(info->hdev); in st21nfca_hci_probe()
1026 *hdev = info->hdev; in st21nfca_hci_probe()
1027 st21nfca_dep_init(info->hdev); in st21nfca_hci_probe()
1028 st21nfca_se_init(info->hdev); in st21nfca_hci_probe()
1029 st21nfca_vendor_cmds_init(info->hdev); in st21nfca_hci_probe()
1034 nfc_hci_free_device(info->hdev); in st21nfca_hci_probe()
1043 void st21nfca_hci_remove(struct nfc_hci_dev *hdev) in st21nfca_hci_remove() argument
1045 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_remove()
1047 st21nfca_dep_deinit(hdev); in st21nfca_hci_remove()
1048 st21nfca_se_deinit(hdev); in st21nfca_hci_remove()
1049 nfc_hci_unregister_device(hdev); in st21nfca_hci_remove()
1050 nfc_hci_free_device(hdev); in st21nfca_hci_remove()