Lines Matching refs:hdev

117 static int st21nfca_hci_load_session(struct nfc_hci_dev *hdev)  in st21nfca_hci_load_session()  argument
147 r = nfc_hci_connect_gate(hdev, NFC_HCI_HOST_CONTROLLER_ID, in st21nfca_hci_load_session()
154 r = nfc_hci_send_cmd(hdev, ST21NFCA_DEVICE_MGNT_GATE, in st21nfca_hci_load_session()
163 r = nfc_hci_send_cmd(hdev, ST21NFCA_DEVICE_MGNT_GATE, in st21nfca_hci_load_session()
197 hdev->gate2pipe[st21nfca_gates[j].gate] = in st21nfca_hci_load_session()
199 hdev->pipes[st21nfca_gates[j].pipe].gate = in st21nfca_hci_load_session()
201 hdev->pipes[st21nfca_gates[j].pipe].dest_host = in st21nfca_hci_load_session()
214 r = nfc_hci_connect_gate(hdev, in st21nfca_hci_load_session()
223 memcpy(hdev->init_data.gates, st21nfca_gates, sizeof(st21nfca_gates)); in st21nfca_hci_load_session()
229 static int st21nfca_hci_open(struct nfc_hci_dev *hdev) in st21nfca_hci_open() argument
231 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_open()
251 static void st21nfca_hci_close(struct nfc_hci_dev *hdev) in st21nfca_hci_close() argument
253 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_close()
267 static int st21nfca_hci_ready(struct nfc_hci_dev *hdev) in st21nfca_hci_ready() argument
269 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_ready()
290 r = nfc_hci_set_param(hdev, NFC_HCI_ADMIN_GATE, in st21nfca_hci_ready()
298 r = nfc_hci_get_param(hdev, ST21NFCA_DEVICE_MGNT_GATE, in st21nfca_hci_ready()
308 r = nfc_hci_set_param(hdev, ST21NFCA_DEVICE_MGNT_GATE, in st21nfca_hci_ready()
314 r = nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE, in st21nfca_hci_ready()
319 r = nfc_hci_get_param(hdev, NFC_HCI_ID_MGMT_GATE, in st21nfca_hci_ready()
338 static int st21nfca_hci_xmit(struct nfc_hci_dev *hdev, struct sk_buff *skb) in st21nfca_hci_xmit() argument
340 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_xmit()
345 static int st21nfca_hci_start_poll(struct nfc_hci_dev *hdev, in st21nfca_hci_start_poll() argument
356 r = nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE, in st21nfca_hci_start_poll()
366 r = nfc_hci_disconnect_gate(hdev, in st21nfca_hci_start_poll()
373 r = nfc_hci_disconnect_gate(hdev, in st21nfca_hci_start_poll()
380 r = nfc_hci_disconnect_gate(hdev, in st21nfca_hci_start_poll()
385 hdev->gb = nfc_get_local_general_bytes(hdev->ndev, in st21nfca_hci_start_poll()
386 &hdev->gb_len); in st21nfca_hci_start_poll()
388 if (hdev->gb == NULL || hdev->gb_len == 0) { in st21nfca_hci_start_poll()
396 r = nfc_hci_set_param(hdev, ST21NFCA_RF_READER_F_GATE, in st21nfca_hci_start_poll()
404 r = nfc_hci_set_param(hdev, ST21NFCA_RF_READER_F_GATE, in st21nfca_hci_start_poll()
412 r = nfc_hci_disconnect_gate(hdev, in st21nfca_hci_start_poll()
419 r = nfc_hci_disconnect_gate(hdev, in st21nfca_hci_start_poll()
425 r = nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE, in st21nfca_hci_start_poll()
428 nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE, in st21nfca_hci_start_poll()
433 r = nfc_hci_get_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
444 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
462 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
475 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
481 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
512 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
519 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
526 static void st21nfca_hci_stop_poll(struct nfc_hci_dev *hdev) in st21nfca_hci_stop_poll() argument
528 nfc_hci_send_cmd(hdev, ST21NFCA_DEVICE_MGNT_GATE, in st21nfca_hci_stop_poll()
532 static int st21nfca_get_iso14443_3_atqa(struct nfc_hci_dev *hdev, u16 *atqa) in st21nfca_get_iso14443_3_atqa() argument
537 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_14443_3_A_GATE, in st21nfca_get_iso14443_3_atqa()
554 static int st21nfca_get_iso14443_3_sak(struct nfc_hci_dev *hdev, u8 *sak) in st21nfca_get_iso14443_3_sak() argument
559 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_14443_3_A_GATE, in st21nfca_get_iso14443_3_sak()
576 static int st21nfca_get_iso14443_3_uid(struct nfc_hci_dev *hdev, u8 *uid, in st21nfca_get_iso14443_3_uid() argument
582 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_14443_3_A_GATE, in st21nfca_get_iso14443_3_uid()
599 static int st21nfca_get_iso15693_inventory(struct nfc_hci_dev *hdev, in st21nfca_get_iso15693_inventory() argument
605 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_ISO15693_GATE, in st21nfca_get_iso15693_inventory()
627 static int st21nfca_hci_dep_link_up(struct nfc_hci_dev *hdev, in st21nfca_hci_dep_link_up() argument
631 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_dep_link_up()
634 return st21nfca_im_send_atr_req(hdev, gb, gb_len); in st21nfca_hci_dep_link_up()
637 static int st21nfca_hci_dep_link_down(struct nfc_hci_dev *hdev) in st21nfca_hci_dep_link_down() argument
639 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_dep_link_down()
643 return nfc_hci_send_cmd(hdev, ST21NFCA_DEVICE_MGNT_GATE, in st21nfca_hci_dep_link_down()
647 static int st21nfca_hci_target_from_gate(struct nfc_hci_dev *hdev, u8 gate, in st21nfca_hci_target_from_gate() argument
661 r = st21nfca_get_iso14443_3_atqa(hdev, &atqa); in st21nfca_hci_target_from_gate()
668 r = st21nfca_get_iso14443_3_sak(hdev, &sak); in st21nfca_hci_target_from_gate()
672 r = st21nfca_get_iso14443_3_uid(hdev, uid, &len); in st21nfca_hci_target_from_gate()
690 r = st21nfca_get_iso15693_inventory(hdev, target); in st21nfca_hci_target_from_gate()
701 static int st21nfca_hci_complete_target_discovered(struct nfc_hci_dev *hdev, in st21nfca_hci_complete_target_discovered() argument
709 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_F_GATE, in st21nfca_hci_complete_target_discovered()
742 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_F_GATE, in st21nfca_hci_complete_target_discovered()
789 static int st21nfca_hci_im_transceive(struct nfc_hci_dev *hdev, in st21nfca_hci_im_transceive() argument
794 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_im_transceive()
802 return st21nfca_im_send_dep_req(hdev, skb); in st21nfca_hci_im_transceive()
805 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate, in st21nfca_hci_im_transceive()
811 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate, in st21nfca_hci_im_transceive()
821 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate, in st21nfca_hci_im_transceive()
832 static int st21nfca_hci_tm_send(struct nfc_hci_dev *hdev, struct sk_buff *skb) in st21nfca_hci_tm_send() argument
834 return st21nfca_tm_send_dep_res(hdev, skb); in st21nfca_hci_tm_send()
837 static int st21nfca_hci_check_presence(struct nfc_hci_dev *hdev, in st21nfca_hci_check_presence() argument
852 return nfc_hci_send_cmd(hdev, target->hci_reader_gate, in st21nfca_hci_check_presence()
855 return nfc_hci_send_cmd(hdev, target->hci_reader_gate, in st21nfca_hci_check_presence()
863 static void st21nfca_hci_cmd_received(struct nfc_hci_dev *hdev, u8 pipe, u8 cmd, in st21nfca_hci_cmd_received() argument
866 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_cmd_received()
867 u8 gate = hdev->pipes[pipe].gate; in st21nfca_hci_cmd_received()
874 hdev->pipes[pipe].dest_host != NFC_HCI_UICC_HOST_ID) in st21nfca_hci_cmd_received()
887 static int st21nfca_admin_event_received(struct nfc_hci_dev *hdev, u8 event, in st21nfca_admin_event_received() argument
890 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_admin_event_received()
918 static int st21nfca_hci_event_received(struct nfc_hci_dev *hdev, u8 pipe, in st21nfca_hci_event_received() argument
921 u8 gate = hdev->pipes[pipe].gate; in st21nfca_hci_event_received()
922 u8 host = hdev->pipes[pipe].dest_host; in st21nfca_hci_event_received()
928 return st21nfca_admin_event_received(hdev, event, skb); in st21nfca_hci_event_received()
930 return st21nfca_dep_event_received(hdev, event, skb); in st21nfca_hci_event_received()
932 return st21nfca_connectivity_event_received(hdev, host, in st21nfca_hci_event_received()
935 return st21nfca_apdu_reader_event_received(hdev, event, skb); in st21nfca_hci_event_received()
966 int phy_payload, struct nfc_hci_dev **hdev, in st21nfca_hci_probe() argument
1015 info->hdev = in st21nfca_hci_probe()
1021 if (!info->hdev) { in st21nfca_hci_probe()
1029 nfc_hci_set_clientdata(info->hdev, info); in st21nfca_hci_probe()
1031 r = nfc_hci_register_device(info->hdev); in st21nfca_hci_probe()
1035 *hdev = info->hdev; in st21nfca_hci_probe()
1036 st21nfca_dep_init(info->hdev); in st21nfca_hci_probe()
1037 st21nfca_se_init(info->hdev); in st21nfca_hci_probe()
1042 nfc_hci_free_device(info->hdev); in st21nfca_hci_probe()
1051 void st21nfca_hci_remove(struct nfc_hci_dev *hdev) in st21nfca_hci_remove() argument
1053 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_remove()
1055 st21nfca_dep_deinit(hdev); in st21nfca_hci_remove()
1056 st21nfca_se_deinit(hdev); in st21nfca_hci_remove()
1057 nfc_hci_unregister_device(hdev); in st21nfca_hci_remove()
1058 nfc_hci_free_device(hdev); in st21nfca_hci_remove()