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()
271 r = nfc_hci_set_param(hdev, NFC_HCI_ADMIN_GATE, in st21nfca_hci_ready()
279 r = nfc_hci_get_param(hdev, ST21NFCA_DEVICE_MGNT_GATE, in st21nfca_hci_ready()
289 r = nfc_hci_set_param(hdev, ST21NFCA_DEVICE_MGNT_GATE, in st21nfca_hci_ready()
295 r = nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE, in st21nfca_hci_ready()
300 r = nfc_hci_get_param(hdev, NFC_HCI_ID_MGMT_GATE, in st21nfca_hci_ready()
319 static int st21nfca_hci_xmit(struct nfc_hci_dev *hdev, struct sk_buff *skb) in st21nfca_hci_xmit() argument
321 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_xmit()
326 static int st21nfca_hci_start_poll(struct nfc_hci_dev *hdev, in st21nfca_hci_start_poll() argument
337 r = nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE, in st21nfca_hci_start_poll()
347 r = nfc_hci_disconnect_gate(hdev, 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()
366 hdev->gb = nfc_get_local_general_bytes(hdev->ndev, in st21nfca_hci_start_poll()
367 &hdev->gb_len); in st21nfca_hci_start_poll()
369 if (hdev->gb == NULL || hdev->gb_len == 0) { in st21nfca_hci_start_poll()
377 r = nfc_hci_set_param(hdev, ST21NFCA_RF_READER_F_GATE, in st21nfca_hci_start_poll()
385 r = nfc_hci_set_param(hdev, ST21NFCA_RF_READER_F_GATE, in st21nfca_hci_start_poll()
393 r = nfc_hci_disconnect_gate(hdev, in st21nfca_hci_start_poll()
400 r = nfc_hci_disconnect_gate(hdev, in st21nfca_hci_start_poll()
406 r = nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE, in st21nfca_hci_start_poll()
409 nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE, in st21nfca_hci_start_poll()
414 r = nfc_hci_get_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
425 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
443 r = nfc_hci_set_param(hdev, ST21NFCA_RF_CARD_F_GATE, in st21nfca_hci_start_poll()
456 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()
493 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 static void st21nfca_hci_stop_poll(struct nfc_hci_dev *hdev) in st21nfca_hci_stop_poll() argument
509 nfc_hci_send_cmd(hdev, ST21NFCA_DEVICE_MGNT_GATE, in st21nfca_hci_stop_poll()
513 static int st21nfca_get_iso14443_3_atqa(struct nfc_hci_dev *hdev, u16 *atqa) in st21nfca_get_iso14443_3_atqa() argument
518 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_14443_3_A_GATE, in st21nfca_get_iso14443_3_atqa()
535 static int st21nfca_get_iso14443_3_sak(struct nfc_hci_dev *hdev, u8 *sak) in st21nfca_get_iso14443_3_sak() argument
540 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_14443_3_A_GATE, in st21nfca_get_iso14443_3_sak()
557 static int st21nfca_get_iso14443_3_uid(struct nfc_hci_dev *hdev, u8 *uid, in st21nfca_get_iso14443_3_uid() argument
563 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_14443_3_A_GATE, in st21nfca_get_iso14443_3_uid()
580 static int st21nfca_get_iso15693_inventory(struct nfc_hci_dev *hdev, in st21nfca_get_iso15693_inventory() argument
586 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_ISO15693_GATE, in st21nfca_get_iso15693_inventory()
608 static int st21nfca_hci_dep_link_up(struct nfc_hci_dev *hdev, in st21nfca_hci_dep_link_up() argument
612 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_dep_link_up()
615 return st21nfca_im_send_atr_req(hdev, gb, gb_len); in st21nfca_hci_dep_link_up()
618 static int st21nfca_hci_dep_link_down(struct nfc_hci_dev *hdev) in st21nfca_hci_dep_link_down() argument
620 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_dep_link_down()
624 return nfc_hci_send_cmd(hdev, ST21NFCA_DEVICE_MGNT_GATE, in st21nfca_hci_dep_link_down()
628 static int st21nfca_hci_target_from_gate(struct nfc_hci_dev *hdev, u8 gate, in st21nfca_hci_target_from_gate() argument
642 r = st21nfca_get_iso14443_3_atqa(hdev, &atqa); in st21nfca_hci_target_from_gate()
649 r = st21nfca_get_iso14443_3_sak(hdev, &sak); in st21nfca_hci_target_from_gate()
653 r = st21nfca_get_iso14443_3_uid(hdev, uid, &len); in st21nfca_hci_target_from_gate()
671 r = st21nfca_get_iso15693_inventory(hdev, target); in st21nfca_hci_target_from_gate()
682 static int st21nfca_hci_complete_target_discovered(struct nfc_hci_dev *hdev, in st21nfca_hci_complete_target_discovered() argument
690 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_F_GATE, in st21nfca_hci_complete_target_discovered()
723 r = nfc_hci_get_param(hdev, ST21NFCA_RF_READER_F_GATE, in st21nfca_hci_complete_target_discovered()
770 static int st21nfca_hci_im_transceive(struct nfc_hci_dev *hdev, in st21nfca_hci_im_transceive() argument
775 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_im_transceive()
783 return st21nfca_im_send_dep_req(hdev, skb); in st21nfca_hci_im_transceive()
786 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate, in st21nfca_hci_im_transceive()
792 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate, in st21nfca_hci_im_transceive()
802 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate, in st21nfca_hci_im_transceive()
813 static int st21nfca_hci_tm_send(struct nfc_hci_dev *hdev, struct sk_buff *skb) in st21nfca_hci_tm_send() argument
815 return st21nfca_tm_send_dep_res(hdev, skb); in st21nfca_hci_tm_send()
818 static int st21nfca_hci_check_presence(struct nfc_hci_dev *hdev, in st21nfca_hci_check_presence() argument
833 return nfc_hci_send_cmd(hdev, target->hci_reader_gate, in st21nfca_hci_check_presence()
836 return nfc_hci_send_cmd(hdev, target->hci_reader_gate, in st21nfca_hci_check_presence()
844 static void st21nfca_hci_cmd_received(struct nfc_hci_dev *hdev, u8 pipe, u8 cmd, in st21nfca_hci_cmd_received() argument
847 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_cmd_received()
848 u8 gate = hdev->pipes[pipe].gate; in st21nfca_hci_cmd_received()
855 hdev->pipes[pipe].dest_host != NFC_HCI_UICC_HOST_ID) in st21nfca_hci_cmd_received()
868 static int st21nfca_admin_event_received(struct nfc_hci_dev *hdev, u8 event, in st21nfca_admin_event_received() argument
871 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_admin_event_received()
890 nfc_err(&hdev->ndev->dev, "Unexpected event on admin gate\n"); in st21nfca_admin_event_received()
901 static int st21nfca_hci_event_received(struct nfc_hci_dev *hdev, u8 pipe, in st21nfca_hci_event_received() argument
904 u8 gate = hdev->pipes[pipe].gate; in st21nfca_hci_event_received()
905 u8 host = hdev->pipes[pipe].dest_host; in st21nfca_hci_event_received()
911 return st21nfca_admin_event_received(hdev, event, skb); in st21nfca_hci_event_received()
913 return st21nfca_dep_event_received(hdev, event, skb); in st21nfca_hci_event_received()
915 return st21nfca_connectivity_event_received(hdev, host, in st21nfca_hci_event_received()
918 return st21nfca_apdu_reader_event_received(hdev, event, skb); in st21nfca_hci_event_received()
920 return st21nfca_hci_loopback_event_received(hdev, event, skb); in st21nfca_hci_event_received()
951 int phy_payload, struct nfc_hci_dev **hdev, in st21nfca_hci_probe() argument
999 info->hdev = in st21nfca_hci_probe()
1005 if (!info->hdev) { in st21nfca_hci_probe()
1013 nfc_hci_set_clientdata(info->hdev, info); in st21nfca_hci_probe()
1015 r = nfc_hci_register_device(info->hdev); in st21nfca_hci_probe()
1019 *hdev = info->hdev; in st21nfca_hci_probe()
1020 st21nfca_dep_init(info->hdev); in st21nfca_hci_probe()
1021 st21nfca_se_init(info->hdev); in st21nfca_hci_probe()
1022 st21nfca_vendor_cmds_init(info->hdev); in st21nfca_hci_probe()
1027 nfc_hci_free_device(info->hdev); in st21nfca_hci_probe()
1036 void st21nfca_hci_remove(struct nfc_hci_dev *hdev) in st21nfca_hci_remove() argument
1038 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev); in st21nfca_hci_remove()
1040 st21nfca_dep_deinit(hdev); in st21nfca_hci_remove()
1041 st21nfca_se_deinit(hdev); in st21nfca_hci_remove()
1042 nfc_hci_unregister_device(hdev); in st21nfca_hci_remove()
1043 nfc_hci_free_device(hdev); in st21nfca_hci_remove()