Lines Matching defs:hdev
48 static u8 st21nfca_se_get_bwi(struct nfc_hci_dev *hdev)
52 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
67 static void st21nfca_se_get_atr(struct nfc_hci_dev *hdev)
71 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
73 r = nfc_hci_get_param(hdev, ST21NFCA_APDU_READER_GATE,
81 ST21NFCA_BWI_TO_TIMEOUT(st21nfca_se_get_bwi(hdev));
86 static int st21nfca_hci_control_se(struct nfc_hci_dev *hdev, u32 se_idx,
89 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
120 r = nfc_hci_send_event(hdev, ST21NFCA_DEVICE_MGNT_GATE, se_event,
132 r = nfc_hci_get_param(hdev, NFC_HCI_ADMIN_GATE,
152 int st21nfca_hci_discover_se(struct nfc_hci_dev *hdev)
154 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
157 if (test_bit(ST21NFCA_FACTORY_MODE, &hdev->quirks))
161 nfc_add_se(hdev->ndev, NFC_HCI_UICC_HOST_ID, NFC_SE_UICC);
166 nfc_add_se(hdev->ndev, ST21NFCA_ESE_HOST_ID, NFC_SE_EMBEDDED);
174 int st21nfca_hci_enable_se(struct nfc_hci_dev *hdev, u32 se_idx)
183 r = st21nfca_hci_control_se(hdev, se_idx, ST21NFCA_SE_MODE_ON);
185 st21nfca_se_get_atr(hdev);
186 r = nfc_hci_send_event(hdev, ST21NFCA_APDU_READER_GATE,
195 nfc_remove_se(hdev->ndev, se_idx);
203 int st21nfca_hci_disable_se(struct nfc_hci_dev *hdev, u32 se_idx)
212 r = st21nfca_hci_control_se(hdev, se_idx, ST21NFCA_SE_MODE_OFF);
220 int st21nfca_hci_se_io(struct nfc_hci_dev *hdev, u32 se_idx,
224 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
235 return nfc_hci_send_event(hdev, ST21NFCA_APDU_READER_GATE,
273 nfc_hci_send_event(info->hdev, ST21NFCA_APDU_READER_GATE,
277 nfc_hci_send_event(info->hdev, ST21NFCA_DEVICE_MGNT_GATE,
307 int st21nfca_connectivity_event_received(struct nfc_hci_dev *hdev, u8 host,
311 struct device *dev = &hdev->ndev->dev;
320 r = nfc_se_connectivity(hdev->ndev, host);
366 r = nfc_se_transaction(hdev->ndev, host, transaction);
369 nfc_err(&hdev->ndev->dev, "Unexpected event on connectivity gate\n");
377 int st21nfca_apdu_reader_event_received(struct nfc_hci_dev *hdev,
381 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
390 r = nfc_hci_send_event(hdev, ST21NFCA_DEVICE_MGNT_GATE,
403 nfc_err(&hdev->ndev->dev, "Unexpected event on apdu reader gate\n");
413 void st21nfca_se_init(struct nfc_hci_dev *hdev)
415 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
437 void st21nfca_se_deinit(struct nfc_hci_dev *hdev)
439 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);