fw_header
const struct fw_header *fw_header;
fw_header = (const struct fw_header *)firmware->data;
load_addr = fore200e->virt_base + le32_to_cpu(fw_header->load_offset);
if (le32_to_cpu(fw_header->magic) != FW_HEADER_MAGIC) {
sprintf(buf, "\rgo %x\r", le32_to_cpu(fw_header->start_offset));
header = (struct fw_header *)firmware->data;
const struct goodix_fw_header *fw_header;
fw_header = (const struct goodix_fw_header *)fw->data;
fw_header->hw_info[0], fw_header->hw_info[1],
fw_header->hw_info[2], fw_header->hw_info[3]);
memcpy(buf, fw_header->pid, 8);
fw_header->vid[0], fw_header->vid[1]);
struct fw_header *hdr, *boothdr = NULL, *fwhdr;
hdr = (struct fw_header *)fw->data;
16 + sizeof(struct fw_header);
boothdr = (struct fw_header *)(fw->data +
sizeof(struct fw_header));
(sizeof(struct fw_header) +
sizeof(struct fw_header));
fwhdr = (struct fw_header *)(fw->data+tmp);
sizeof(struct fw_header);
sizeof(struct fw_header));
sizeof(struct fw_header);
(u8 *)(fw->data + sizeof(struct fw_header));
16 + sizeof(struct fw_header);
struct fw_header *fw_hdr, size_t size)
struct fw_header *fw_hdr = (struct fw_header *)fw->data;
struct fw_header *fw_hdr;
fw_hdr = (struct fw_header *)fw->data;
for (i = offsetof(struct fw_header, blocks); i < fw->size;) {
memset(&fwdata->fw_hdr, 0, sizeof(struct fw_header));
sizeof(struct fw_header));
tlen += sizeof(struct fw_header);
struct fw_header fw_hdr;
(sizeof(struct fw_header) + dlen + sizeof(u32))
fm_entry = (struct sof_man4_module *)((u8 *)fw_header + fw_header->len);
remaining -= fw_header->len;
if (remaining < fw_header->num_module_entries * sizeof(*fm_entry)) {
fw_header->num_module_entries);
(fm_entry + fw_header->num_module_entries);
remaining -= (fw_header->num_module_entries * sizeof(*fm_entry));
for (i = 0; i < fw_header->num_module_entries; i++) {
struct sof_man4_fw_binary_header *fw_header;
struct sof_man4_fw_binary_header *fw_header;
fw_header = (struct sof_man4_fw_binary_header *)
fw_header->major_version, fw_header->minor_version,
fw_header->hotfix_version, fw_header->build_version);
if (remaining <= ext_man_hdr->len + fw_hdr_offset + sizeof(*fw_header)) {
remaining, ext_man_hdr->len + fw_hdr_offset + sizeof(*fw_header));
fw_header = (struct sof_man4_fw_binary_header *)
if (remaining <= fw_header->len) {
dev_err(sdev->dev, "Invalid fw_header->len %u\n", fw_header->len);
fw_header->name, fw_header->major_version, fw_header->minor_version,
fw_header->hotfix_version, fw_header->build_version);
fw_header->len, fw_header->num_module_entries);
sdev->fw_version.major = fw_header->major_version;
sdev->fw_version.minor = fw_header->minor_version;
sdev->fw_version.micro = fw_header->hotfix_version;
sdev->fw_version.build = fw_header->build_version;
fw_lib->modules = devm_kmalloc_array(sdev->dev, fw_header->num_module_entries,
fw_lib->name = fw_header->name;
fw_lib->num_modules = fw_header->num_module_entries;