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,
271 nfc_hci_send_event(info->hdev, ST21NFCA_APDU_READER_GATE,
275 nfc_hci_send_event(info->hdev, ST21NFCA_DEVICE_MGNT_GATE,
303 int st21nfca_connectivity_event_received(struct nfc_hci_dev *hdev, u8 host,
307 struct device *dev = &hdev->ndev->dev;
316 r = nfc_se_connectivity(hdev->ndev, host);
362 r = nfc_se_transaction(hdev->ndev, host, transaction);
365 nfc_err(&hdev->ndev->dev, "Unexpected event on connectivity gate\n");
373 int st21nfca_apdu_reader_event_received(struct nfc_hci_dev *hdev,
377 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
386 r = nfc_hci_send_event(hdev, ST21NFCA_DEVICE_MGNT_GATE,
399 nfc_err(&hdev->ndev->dev, "Unexpected event on apdu reader gate\n");
409 void st21nfca_se_init(struct nfc_hci_dev *hdev)
411 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);
433 void st21nfca_se_deinit(struct nfc_hci_dev *hdev)
435 struct st21nfca_hci_info *info = nfc_hci_get_clientdata(hdev);