Lines Matching full:info
23 static int s3fwrn5_firmware_update(struct s3fwrn5_info *info) in s3fwrn5_firmware_update() argument
28 s3fwrn5_fw_init(&info->fw_info, "sec_s3fwrn5_firmware.bin"); in s3fwrn5_firmware_update()
32 s3fwrn5_set_wake(info, false); in s3fwrn5_firmware_update()
33 s3fwrn5_set_mode(info, S3FWRN5_MODE_FW); in s3fwrn5_firmware_update()
35 ret = s3fwrn5_fw_setup(&info->fw_info); in s3fwrn5_firmware_update()
39 need_update = s3fwrn5_fw_check_version(&info->fw_info, in s3fwrn5_firmware_update()
40 info->ndev->manufact_specific_info); in s3fwrn5_firmware_update()
44 dev_info(&info->ndev->nfc_dev->dev, "Detected new firmware version\n"); in s3fwrn5_firmware_update()
46 ret = s3fwrn5_fw_download(&info->fw_info); in s3fwrn5_firmware_update()
52 s3fwrn5_set_mode(info, S3FWRN5_MODE_NCI); in s3fwrn5_firmware_update()
54 s3fwrn5_set_wake(info, true); in s3fwrn5_firmware_update()
55 ret = s3fwrn5_nci_rf_configure(info, "sec_s3fwrn5_rfreg.bin"); in s3fwrn5_firmware_update()
56 s3fwrn5_set_wake(info, false); in s3fwrn5_firmware_update()
59 s3fwrn5_set_mode(info, S3FWRN5_MODE_COLD); in s3fwrn5_firmware_update()
60 s3fwrn5_fw_cleanup(&info->fw_info); in s3fwrn5_firmware_update()
66 struct s3fwrn5_info *info = nci_get_drvdata(ndev); in s3fwrn5_nci_open() local
68 if (s3fwrn5_get_mode(info) != S3FWRN5_MODE_COLD) in s3fwrn5_nci_open()
71 s3fwrn5_set_mode(info, S3FWRN5_MODE_NCI); in s3fwrn5_nci_open()
72 s3fwrn5_set_wake(info, true); in s3fwrn5_nci_open()
79 struct s3fwrn5_info *info = nci_get_drvdata(ndev); in s3fwrn5_nci_close() local
81 s3fwrn5_set_wake(info, false); in s3fwrn5_nci_close()
82 s3fwrn5_set_mode(info, S3FWRN5_MODE_COLD); in s3fwrn5_nci_close()
89 struct s3fwrn5_info *info = nci_get_drvdata(ndev); in s3fwrn5_nci_send() local
92 mutex_lock(&info->mutex); in s3fwrn5_nci_send()
94 if (s3fwrn5_get_mode(info) != S3FWRN5_MODE_NCI) { in s3fwrn5_nci_send()
95 mutex_unlock(&info->mutex); in s3fwrn5_nci_send()
99 ret = s3fwrn5_write(info, skb); in s3fwrn5_nci_send()
103 mutex_unlock(&info->mutex); in s3fwrn5_nci_send()
109 struct s3fwrn5_info *info = nci_get_drvdata(ndev); in s3fwrn5_nci_post_setup() local
112 ret = s3fwrn5_firmware_update(info); in s3fwrn5_nci_post_setup()
118 s3fwrn5_set_mode(info, S3FWRN5_MODE_NCI); in s3fwrn5_nci_post_setup()
119 s3fwrn5_set_wake(info, true); in s3fwrn5_nci_post_setup()
121 ret = nci_core_reset(info->ndev); in s3fwrn5_nci_post_setup()
125 ret = nci_core_init(info->ndev); in s3fwrn5_nci_post_setup()
141 struct s3fwrn5_info *info; in s3fwrn5_probe() local
144 info = devm_kzalloc(pdev, sizeof(*info), GFP_KERNEL); in s3fwrn5_probe()
145 if (!info) in s3fwrn5_probe()
148 info->phy_id = phy_id; in s3fwrn5_probe()
149 info->pdev = pdev; in s3fwrn5_probe()
150 info->phy_ops = phy_ops; in s3fwrn5_probe()
151 info->max_payload = max_payload; in s3fwrn5_probe()
152 mutex_init(&info->mutex); in s3fwrn5_probe()
154 s3fwrn5_set_mode(info, S3FWRN5_MODE_COLD); in s3fwrn5_probe()
159 info->ndev = nci_allocate_device(&s3fwrn5_nci_ops, in s3fwrn5_probe()
161 if (!info->ndev) in s3fwrn5_probe()
164 nci_set_parent_dev(info->ndev, pdev); in s3fwrn5_probe()
165 nci_set_drvdata(info->ndev, info); in s3fwrn5_probe()
167 ret = nci_register_device(info->ndev); in s3fwrn5_probe()
169 nci_free_device(info->ndev); in s3fwrn5_probe()
173 info->fw_info.ndev = info->ndev; in s3fwrn5_probe()
175 *ndev = info->ndev; in s3fwrn5_probe()
183 struct s3fwrn5_info *info = nci_get_drvdata(ndev); in s3fwrn5_remove() local
185 s3fwrn5_set_mode(info, S3FWRN5_MODE_COLD); in s3fwrn5_remove()