Lines Matching full:fw
285 struct s3fwrn5_fw_image *fw = &fw_info->fw; in s3fwrn5_fw_request_firmware() local
291 ret = request_firmware(&fw->fw, fw_info->fw_name, in s3fwrn5_fw_request_firmware()
296 if (fw->fw->size < S3FWRN5_FW_IMAGE_HEADER_SIZE) { in s3fwrn5_fw_request_firmware()
297 release_firmware(fw->fw); in s3fwrn5_fw_request_firmware()
301 memcpy(fw->date, fw->fw->data + 0x00, 12); in s3fwrn5_fw_request_firmware()
302 fw->date[12] = '\0'; in s3fwrn5_fw_request_firmware()
304 memcpy(&fw->version, fw->fw->data + 0x10, 4); in s3fwrn5_fw_request_firmware()
306 memcpy(&sig_off, fw->fw->data + 0x14, 4); in s3fwrn5_fw_request_firmware()
307 fw->sig = fw->fw->data + sig_off; in s3fwrn5_fw_request_firmware()
308 memcpy(&fw->sig_size, fw->fw->data + 0x18, 4); in s3fwrn5_fw_request_firmware()
310 memcpy(&image_off, fw->fw->data + 0x1C, 4); in s3fwrn5_fw_request_firmware()
311 fw->image = fw->fw->data + image_off; in s3fwrn5_fw_request_firmware()
312 memcpy(&fw->image_sectors, fw->fw->data + 0x20, 4); in s3fwrn5_fw_request_firmware()
314 memcpy(&custom_sig_off, fw->fw->data + 0x24, 4); in s3fwrn5_fw_request_firmware()
315 fw->custom_sig = fw->fw->data + custom_sig_off; in s3fwrn5_fw_request_firmware()
316 memcpy(&fw->custom_sig_size, fw->fw->data + 0x28, 4); in s3fwrn5_fw_request_firmware()
323 release_firmware(fw_info->fw.fw); in s3fwrn5_fw_release_firmware()
383 fw_info->fw.custom_sig_size : fw_info->fw.sig_size; in s3fwrn5_fw_setup()
385 fw_info->fw.custom_sig : fw_info->fw.sig; in s3fwrn5_fw_setup()
396 struct s3fwrn5_fw_version *new = (void *) &fw_info->fw.version; in s3fwrn5_fw_check_version()
412 struct s3fwrn5_fw_image *fw = &fw_info->fw; in s3fwrn5_fw_download() local
418 image_size = fw_info->sector_size * fw->image_sectors; in s3fwrn5_fw_download()
428 ret = crypto_shash_tfm_digest(tfm, fw->image, image_size, hash_data); in s3fwrn5_fw_download()
449 fw_info->base_addr + off, fw->image + off); in s3fwrn5_fw_download()
471 fw_info->fw.fw = NULL; in s3fwrn5_fw_init()