Lines Matching defs:hdev
114 struct nfc_hci_dev *hdev;
127 static int pn544_hci_open(struct nfc_hci_dev *hdev)
129 struct pn544_hci_info *info = nfc_hci_get_clientdata(hdev);
149 static void pn544_hci_close(struct nfc_hci_dev *hdev)
151 struct pn544_hci_info *info = nfc_hci_get_clientdata(hdev);
166 static int pn544_hci_ready(struct nfc_hci_dev *hdev)
252 r = nfc_hci_send_cmd(hdev, PN544_SYS_MGMT_GATE, PN544_WRITE,
273 r = nfc_hci_set_param(hdev, NFC_HCI_ADMIN_GATE,
279 r = nfc_hci_set_param(hdev, PN544_SYS_MGMT_GATE,
285 r = nfc_hci_set_param(hdev, NFC_HCI_RF_READER_A_GATE,
290 r = nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE,
296 r = nfc_hci_set_param(hdev, PN544_POLLING_LOOP_MGMT_GATE,
302 r = nfc_hci_set_param(hdev, PN544_POLLING_LOOP_MGMT_GATE,
307 r = nfc_hci_get_param(hdev, NFC_HCI_ID_MGMT_GATE,
326 static int pn544_hci_xmit(struct nfc_hci_dev *hdev, struct sk_buff *skb)
328 struct pn544_hci_info *info = nfc_hci_get_clientdata(hdev);
333 static int pn544_hci_start_poll(struct nfc_hci_dev *hdev,
347 r = nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE,
354 r = nfc_hci_set_param(hdev, PN544_POLLING_LOOP_MGMT_GATE,
360 r = nfc_hci_set_param(hdev, PN544_POLLING_LOOP_MGMT_GATE,
375 r = nfc_hci_set_param(hdev, PN544_POLLING_LOOP_MGMT_GATE,
381 hdev->gb = nfc_get_local_general_bytes(hdev->ndev,
382 &hdev->gb_len);
383 pr_debug("generate local bytes %p\n", hdev->gb);
384 if (hdev->gb == NULL || hdev->gb_len == 0) {
391 r = nfc_hci_send_event(hdev,
397 r = nfc_hci_set_param(hdev,
403 r = nfc_hci_set_param(hdev,
405 PN544_DEP_ATR_REQ, hdev->gb, hdev->gb_len);
409 r = nfc_hci_send_event(hdev,
413 nfc_hci_send_event(hdev,
419 r = nfc_hci_set_param(hdev, PN544_RF_READER_NFCIP1_TARGET_GATE,
424 r = nfc_hci_set_param(hdev, PN544_RF_READER_NFCIP1_TARGET_GATE,
425 PN544_DEP_ATR_RES, hdev->gb, hdev->gb_len);
429 r = nfc_hci_set_param(hdev, PN544_RF_READER_NFCIP1_TARGET_GATE,
435 r = nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE,
438 nfc_hci_send_event(hdev, NFC_HCI_RF_READER_A_GATE,
444 static int pn544_hci_dep_link_up(struct nfc_hci_dev *hdev,
451 r = nfc_hci_get_param(hdev, target->hci_reader_gate,
463 r = nfc_set_remote_general_bytes(hdev->ndev, rgb_skb->data,
467 r = nfc_dep_link_is_up(hdev->ndev, target->idx, comm_mode,
474 static int pn544_hci_dep_link_down(struct nfc_hci_dev *hdev)
477 return nfc_hci_send_event(hdev, PN544_RF_READER_NFCIP1_INITIATOR_GATE,
481 static int pn544_hci_target_from_gate(struct nfc_hci_dev *hdev, u8 gate,
502 static int pn544_hci_complete_target_discovered(struct nfc_hci_dev *hdev,
513 r = nfc_hci_send_cmd(hdev,
525 r = nfc_hci_send_cmd(hdev, NFC_HCI_RF_READER_A_GATE,
529 r = nfc_hci_get_param(hdev, PN544_RF_READER_F_GATE,
542 r = nfc_hci_send_cmd(hdev,
553 r = nfc_hci_send_cmd(hdev, PN544_RF_READER_F_GATE,
564 r = nfc_hci_send_cmd(hdev, NFC_HCI_RF_READER_A_GATE,
603 static int pn544_hci_im_transceive(struct nfc_hci_dev *hdev,
608 struct pn544_hci_info *info = nfc_hci_get_clientdata(hdev);
633 return nfc_hci_send_cmd_async(hdev,
648 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate,
653 return nfc_hci_send_cmd_async(hdev, target->hci_reader_gate,
659 return nfc_hci_send_event(hdev, target->hci_reader_gate,
667 static int pn544_hci_tm_send(struct nfc_hci_dev *hdev, struct sk_buff *skb)
674 r = nfc_hci_send_event(hdev, PN544_RF_READER_NFCIP1_TARGET_GATE,
682 static int pn544_hci_check_presence(struct nfc_hci_dev *hdev,
688 return nfc_hci_send_cmd(hdev, target->hci_reader_gate,
696 return nfc_hci_send_cmd(hdev, NFC_HCI_RF_READER_A_GATE,
703 return nfc_hci_send_cmd(hdev, target->hci_reader_gate,
716 static int pn544_hci_event_received(struct nfc_hci_dev *hdev, u8 pipe, u8 event,
720 u8 gate = hdev->pipes[pipe].gate;
727 r = nfc_hci_target_discovered(hdev, gate);
729 r = nfc_hci_get_param(hdev, gate, PN544_DEP_ATR_REQ,
734 r = nfc_tm_activated(hdev->ndev, NFC_PROTO_NFC_DEP_MASK,
744 r = nfc_hci_send_event(hdev, gate, NFC_HCI_EVT_END_OPERATION,
760 return nfc_tm_data_received(hdev->ndev, skb);
771 static int pn544_hci_fw_download(struct nfc_hci_dev *hdev,
774 struct pn544_hci_info *info = nfc_hci_get_clientdata(hdev);
779 return info->fw_download(info->phy_id, firmware_name, hdev->sw_romlib);
782 static int pn544_hci_discover_se(struct nfc_hci_dev *hdev)
789 r = nfc_hci_send_cmd(hdev, PN544_SYS_MGMT_GATE, PN544_TEST_SWP,
794 nfc_add_se(hdev->ndev, se_idx++, NFC_SE_UICC);
799 r = nfc_hci_send_event(hdev, PN544_NFC_WI_MGMT_GATE,
803 nfc_add_se(hdev->ndev, se_idx++, NFC_SE_EMBEDDED);
810 static int pn544_hci_enable_se(struct nfc_hci_dev *hdev, u32 se_idx)
829 se = nfc_find_se(hdev->ndev, se_idx);
834 r = nfc_hci_send_cmd(hdev, PN544_SYS_MGMT_GATE,
854 return nfc_hci_set_param(hdev, PN544_SWP_MGMT_GATE,
857 return nfc_hci_set_param(hdev, PN544_NFC_WI_MGMT_GATE,
865 static int pn544_hci_disable_se(struct nfc_hci_dev *hdev, u32 se_idx)
870 se = nfc_find_se(hdev->ndev, se_idx);
874 return nfc_hci_set_param(hdev, PN544_SWP_MGMT_GATE,
877 return nfc_hci_set_param(hdev, PN544_NFC_WI_MGMT_GATE,
906 fw_download_t fw_download, struct nfc_hci_dev **hdev)
942 info->hdev = nfc_hci_allocate_device(&pn544_hci_ops, &init_data, 0,
946 if (!info->hdev) {
947 pr_err("Cannot allocate nfc hdev\n");
952 nfc_hci_set_clientdata(info->hdev, info);
954 r = nfc_hci_register_device(info->hdev);
958 *hdev = info->hdev;
963 nfc_hci_free_device(info->hdev);
973 void pn544_hci_remove(struct nfc_hci_dev *hdev)
975 struct pn544_hci_info *info = nfc_hci_get_clientdata(hdev);
977 nfc_hci_unregister_device(hdev);
978 nfc_hci_free_device(hdev);