Lines Matching refs:info
34 static int s3fwrn5_firmware_update(struct s3fwrn5_info *info) in s3fwrn5_firmware_update() argument
39 s3fwrn5_fw_init(&info->fw_info, "sec_s3fwrn5_firmware.bin"); in s3fwrn5_firmware_update()
43 s3fwrn5_set_wake(info, false); in s3fwrn5_firmware_update()
44 s3fwrn5_set_mode(info, S3FWRN5_MODE_FW); in s3fwrn5_firmware_update()
46 ret = s3fwrn5_fw_setup(&info->fw_info); in s3fwrn5_firmware_update()
50 need_update = s3fwrn5_fw_check_version(&info->fw_info, in s3fwrn5_firmware_update()
51 info->ndev->manufact_specific_info); in s3fwrn5_firmware_update()
55 dev_info(&info->ndev->nfc_dev->dev, "Detected new firmware version\n"); in s3fwrn5_firmware_update()
57 ret = s3fwrn5_fw_download(&info->fw_info); in s3fwrn5_firmware_update()
63 s3fwrn5_set_mode(info, S3FWRN5_MODE_NCI); in s3fwrn5_firmware_update()
65 s3fwrn5_set_wake(info, true); in s3fwrn5_firmware_update()
66 ret = s3fwrn5_nci_rf_configure(info, "sec_s3fwrn5_rfreg.bin"); in s3fwrn5_firmware_update()
67 s3fwrn5_set_wake(info, false); in s3fwrn5_firmware_update()
70 s3fwrn5_set_mode(info, S3FWRN5_MODE_COLD); in s3fwrn5_firmware_update()
71 s3fwrn5_fw_cleanup(&info->fw_info); in s3fwrn5_firmware_update()
77 struct s3fwrn5_info *info = nci_get_drvdata(ndev); in s3fwrn5_nci_open() local
79 if (s3fwrn5_get_mode(info) != S3FWRN5_MODE_COLD) in s3fwrn5_nci_open()
82 s3fwrn5_set_mode(info, S3FWRN5_MODE_NCI); in s3fwrn5_nci_open()
83 s3fwrn5_set_wake(info, true); in s3fwrn5_nci_open()
90 struct s3fwrn5_info *info = nci_get_drvdata(ndev); in s3fwrn5_nci_close() local
92 s3fwrn5_set_wake(info, false); in s3fwrn5_nci_close()
93 s3fwrn5_set_mode(info, S3FWRN5_MODE_COLD); in s3fwrn5_nci_close()
100 struct s3fwrn5_info *info = nci_get_drvdata(ndev); in s3fwrn5_nci_send() local
103 mutex_lock(&info->mutex); in s3fwrn5_nci_send()
105 if (s3fwrn5_get_mode(info) != S3FWRN5_MODE_NCI) { in s3fwrn5_nci_send()
106 mutex_unlock(&info->mutex); in s3fwrn5_nci_send()
110 ret = s3fwrn5_write(info, skb); in s3fwrn5_nci_send()
114 mutex_unlock(&info->mutex); in s3fwrn5_nci_send()
120 struct s3fwrn5_info *info = nci_get_drvdata(ndev); in s3fwrn5_nci_post_setup() local
123 ret = s3fwrn5_firmware_update(info); in s3fwrn5_nci_post_setup()
129 s3fwrn5_set_mode(info, S3FWRN5_MODE_NCI); in s3fwrn5_nci_post_setup()
130 s3fwrn5_set_wake(info, true); in s3fwrn5_nci_post_setup()
132 ret = nci_core_reset(info->ndev); in s3fwrn5_nci_post_setup()
136 ret = nci_core_init(info->ndev); in s3fwrn5_nci_post_setup()
152 struct s3fwrn5_info *info; in s3fwrn5_probe() local
155 info = devm_kzalloc(pdev, sizeof(*info), GFP_KERNEL); in s3fwrn5_probe()
156 if (!info) in s3fwrn5_probe()
159 info->phy_id = phy_id; in s3fwrn5_probe()
160 info->pdev = pdev; in s3fwrn5_probe()
161 info->phy_ops = phy_ops; in s3fwrn5_probe()
162 info->max_payload = max_payload; in s3fwrn5_probe()
163 mutex_init(&info->mutex); in s3fwrn5_probe()
165 s3fwrn5_set_mode(info, S3FWRN5_MODE_COLD); in s3fwrn5_probe()
170 info->ndev = nci_allocate_device(&s3fwrn5_nci_ops, in s3fwrn5_probe()
172 if (!info->ndev) in s3fwrn5_probe()
175 nci_set_parent_dev(info->ndev, pdev); in s3fwrn5_probe()
176 nci_set_drvdata(info->ndev, info); in s3fwrn5_probe()
178 ret = nci_register_device(info->ndev); in s3fwrn5_probe()
180 nci_free_device(info->ndev); in s3fwrn5_probe()
184 info->fw_info.ndev = info->ndev; in s3fwrn5_probe()
186 *ndev = info->ndev; in s3fwrn5_probe()
194 struct s3fwrn5_info *info = nci_get_drvdata(ndev); in s3fwrn5_remove() local
196 s3fwrn5_set_mode(info, S3FWRN5_MODE_COLD); in s3fwrn5_remove()