stcontext 332 drivers/nfc/st95hf/core.c static int secondary_configuration_type4a(struct st95hf_context *stcontext) stcontext 335 drivers/nfc/st95hf/core.c struct device *dev = &stcontext->nfcdev->dev; stcontext 338 drivers/nfc/st95hf/core.c result = st95hf_send_recv_cmd(stcontext, stcontext 349 drivers/nfc/st95hf/core.c result = st95hf_send_recv_cmd(stcontext, stcontext 360 drivers/nfc/st95hf/core.c static int secondary_configuration_type4b(struct st95hf_context *stcontext) stcontext 363 drivers/nfc/st95hf/core.c struct device *dev = &stcontext->nfcdev->dev; stcontext 365 drivers/nfc/st95hf/core.c result = st95hf_send_recv_cmd(stcontext, stcontext 376 drivers/nfc/st95hf/core.c static int st95hf_select_protocol(struct st95hf_context *stcontext, int type) stcontext 381 drivers/nfc/st95hf/core.c dev = &stcontext->nfcdev->dev; stcontext 385 drivers/nfc/st95hf/core.c stcontext->current_rf_tech = NFC_DIGITAL_RF_TECH_106A; stcontext 386 drivers/nfc/st95hf/core.c result = st95hf_send_recv_cmd(stcontext, stcontext 398 drivers/nfc/st95hf/core.c result = secondary_configuration_type4a(stcontext); stcontext 406 drivers/nfc/st95hf/core.c stcontext->current_rf_tech = NFC_DIGITAL_RF_TECH_106B; stcontext 407 drivers/nfc/st95hf/core.c result = st95hf_send_recv_cmd(stcontext, stcontext 425 drivers/nfc/st95hf/core.c result = secondary_configuration_type4b(stcontext); stcontext 433 drivers/nfc/st95hf/core.c stcontext->current_rf_tech = NFC_DIGITAL_RF_TECH_ISO15693; stcontext 434 drivers/nfc/st95hf/core.c result = st95hf_send_recv_cmd(stcontext, stcontext 604 drivers/nfc/st95hf/core.c static int st95hf_handle_wtx(struct st95hf_context *stcontext, stcontext 611 drivers/nfc/st95hf/core.c struct nfc_digital_dev *nfcddev = stcontext->ddev; stcontext 612 drivers/nfc/st95hf/core.c struct device *dev = &stcontext->nfcdev->dev; stcontext 615 drivers/nfc/st95hf/core.c result = iso14443_config_fdt(stcontext, wtx_val & 0x3f); stcontext 626 drivers/nfc/st95hf/core.c result = st95hf_send_recv_cmd(stcontext, stcontext 642 drivers/nfc/st95hf/core.c result = iso14443_config_fdt(stcontext, val_mm); stcontext 650 drivers/nfc/st95hf/core.c static int st95hf_error_handling(struct st95hf_context *stcontext, stcontext 656 drivers/nfc/st95hf/core.c struct device *dev = &stcontext->nfcdev->dev; stcontext 668 drivers/nfc/st95hf/core.c switch (stcontext->current_rf_tech) { stcontext 670 drivers/nfc/st95hf/core.c if (stcontext->sendrcv_trflag == TRFLAG_NFCA_STD_FRAME_CRC) { stcontext 695 drivers/nfc/st95hf/core.c static int st95hf_response_handler(struct st95hf_context *stcontext, stcontext 702 drivers/nfc/st95hf/core.c struct nfc_digital_dev *nfcddev = stcontext->ddev; stcontext 703 drivers/nfc/st95hf/core.c struct device *dev = &stcontext->nfcdev->dev; stcontext 706 drivers/nfc/st95hf/core.c cb_arg = &stcontext->complete_cb_arg; stcontext 720 drivers/nfc/st95hf/core.c stcontext->fwi = stcontext 723 drivers/nfc/st95hf/core.c stcontext->fwi = stcontext 728 drivers/nfc/st95hf/core.c result = iso14443_config_fdt(stcontext, val_mm); stcontext 738 drivers/nfc/st95hf/core.c switch (stcontext->current_rf_tech) { stcontext 740 drivers/nfc/st95hf/core.c if (stcontext->sendrcv_trflag == TRFLAG_NFCA_STD_FRAME_CRC) stcontext 756 drivers/nfc/st95hf/core.c struct st95hf_context *stcontext = stcontext 759 drivers/nfc/st95hf/core.c if (stcontext->spicontext.req_issync) { stcontext 760 drivers/nfc/st95hf/core.c complete(&stcontext->spicontext.done); stcontext 761 drivers/nfc/st95hf/core.c stcontext->spicontext.req_issync = false; stcontext 775 drivers/nfc/st95hf/core.c struct st95hf_context *stcontext = stcontext 779 drivers/nfc/st95hf/core.c spidevice = &stcontext->spicontext.spidev->dev; stcontext 794 drivers/nfc/st95hf/core.c if (!down_trylock(&stcontext->exchange_lock)) { stcontext 795 drivers/nfc/st95hf/core.c up(&stcontext->exchange_lock); stcontext 800 drivers/nfc/st95hf/core.c cb_arg = &stcontext->complete_cb_arg; stcontext 803 drivers/nfc/st95hf/core.c mutex_lock(&stcontext->rm_lock); stcontext 804 drivers/nfc/st95hf/core.c res_len = st95hf_spi_recv_response(&stcontext->spicontext, stcontext 813 drivers/nfc/st95hf/core.c if (stcontext->nfcdev_free) { stcontext 820 drivers/nfc/st95hf/core.c result = st95hf_handle_wtx(stcontext, true, skb_resp->data[3]); stcontext 825 drivers/nfc/st95hf/core.c mutex_unlock(&stcontext->rm_lock); stcontext 829 drivers/nfc/st95hf/core.c result = st95hf_error_handling(stcontext, skb_resp, res_len); stcontext 833 drivers/nfc/st95hf/core.c result = st95hf_response_handler(stcontext, skb_resp, res_len); stcontext 843 drivers/nfc/st95hf/core.c result = st95hf_handle_wtx(stcontext, false, 0); stcontext 849 drivers/nfc/st95hf/core.c cb_arg->complete_cb(stcontext->ddev, cb_arg->cb_usrarg, skb_resp); stcontext 852 drivers/nfc/st95hf/core.c up(&stcontext->exchange_lock); stcontext 853 drivers/nfc/st95hf/core.c mutex_unlock(&stcontext->rm_lock); stcontext 863 drivers/nfc/st95hf/core.c cb_arg->complete_cb(stcontext->ddev, cb_arg->cb_usrarg, skb_resp); stcontext 865 drivers/nfc/st95hf/core.c up(&stcontext->exchange_lock); stcontext 866 drivers/nfc/st95hf/core.c mutex_unlock(&stcontext->rm_lock); stcontext 875 drivers/nfc/st95hf/core.c struct st95hf_context *stcontext = nfc_digital_get_drvdata(ddev); stcontext 878 drivers/nfc/st95hf/core.c return st95hf_select_protocol(stcontext, param); stcontext 883 drivers/nfc/st95hf/core.c stcontext->sendrcv_trflag = TRFLAG_NFCA_SHORT_FRAME; stcontext 886 drivers/nfc/st95hf/core.c stcontext->sendrcv_trflag = TRFLAG_NFCA_STD_FRAME; stcontext 891 drivers/nfc/st95hf/core.c stcontext->sendrcv_trflag = TRFLAG_NFCA_STD_FRAME_CRC; stcontext 903 drivers/nfc/st95hf/core.c static int rf_off(struct st95hf_context *stcontext) stcontext 908 drivers/nfc/st95hf/core.c dev = &stcontext->nfcdev->dev; stcontext 910 drivers/nfc/st95hf/core.c rc = st95hf_send_recv_cmd(stcontext, CMD_FIELD_OFF, 0, NULL, true); stcontext 923 drivers/nfc/st95hf/core.c struct st95hf_context *stcontext = nfc_digital_get_drvdata(ddev); stcontext 934 drivers/nfc/st95hf/core.c switch (stcontext->current_rf_tech) { stcontext 937 drivers/nfc/st95hf/core.c skb_put_u8(skb, stcontext->sendrcv_trflag); stcontext 953 drivers/nfc/st95hf/core.c stcontext->complete_cb_arg.skb_resp = skb_resp; stcontext 954 drivers/nfc/st95hf/core.c stcontext->complete_cb_arg.cb_usrarg = arg; stcontext 955 drivers/nfc/st95hf/core.c stcontext->complete_cb_arg.complete_cb = cb; stcontext 959 drivers/nfc/st95hf/core.c stcontext->complete_cb_arg.rats = true; stcontext 966 drivers/nfc/st95hf/core.c rc = down_killable(&stcontext->exchange_lock); stcontext 972 drivers/nfc/st95hf/core.c rc = st95hf_spi_send(&stcontext->spicontext, skb->data, stcontext 976 drivers/nfc/st95hf/core.c dev_err(&stcontext->nfcdev->dev, stcontext 979 drivers/nfc/st95hf/core.c up(&stcontext->exchange_lock); stcontext 1026 drivers/nfc/st95hf/core.c struct st95hf_context *stcontext = nfc_digital_get_drvdata(ddev); stcontext 1032 drivers/nfc/st95hf/core.c return st95hf_select_protocol(stcontext, rf_tech); stcontext 1035 drivers/nfc/st95hf/core.c return rf_off(stcontext); stcontext 1211 drivers/nfc/st95hf/core.c struct st95hf_context *stcontext = container_of(spictx, stcontext 1215 drivers/nfc/st95hf/core.c mutex_lock(&stcontext->rm_lock); stcontext 1217 drivers/nfc/st95hf/core.c nfc_digital_unregister_device(stcontext->ddev); stcontext 1218 drivers/nfc/st95hf/core.c nfc_digital_free_device(stcontext->ddev); stcontext 1219 drivers/nfc/st95hf/core.c stcontext->nfcdev_free = true; stcontext 1221 drivers/nfc/st95hf/core.c mutex_unlock(&stcontext->rm_lock); stcontext 1224 drivers/nfc/st95hf/core.c result = down_killable(&stcontext->exchange_lock); stcontext 1229 drivers/nfc/st95hf/core.c result = st95hf_spi_send(&stcontext->spicontext, stcontext 1243 drivers/nfc/st95hf/core.c if (stcontext->st95hf_supply) stcontext 1244 drivers/nfc/st95hf/core.c regulator_disable(stcontext->st95hf_supply);