Lines Matching refs:fwe
1253 static int at76_load_external_fw(struct usb_device *udev, struct fwentry *fwe)
1260 u8 *buf = fwe->extfw;
1261 int size = fwe->extfw_size;
1300 if (at76_is_505a(fwe->board_type)) {
1314 static int at76_load_internal_fw(struct usb_device *udev, struct fwentry *fwe)
1317 int need_remap = !at76_is_505a(fwe->board_type);
1319 ret = at76_usbdfu_download(udev, fwe->intfw, fwe->intfw_size,
1608 struct fwentry *fwe = &firmwares[board_type];
1612 if (fwe->loaded) {
1617 at76_dbg(DBG_FW, "downloading firmware %s", fwe->fwname);
1618 ret = request_firmware(&fwe->fw, fwe->fwname, &udev->dev);
1621 fwe->fwname);
1628 fwh = (struct at76_fw_header *)(fwe->fw->data);
1630 if (fwe->fw->size <= sizeof(*fwh)) {
1632 "firmware is too short (0x%zx)\n", fwe->fw->size);
1637 fwe->board_type = le32_to_cpu(fwh->board_type);
1638 if (fwe->board_type != board_type) {
1641 board_type, fwe->board_type);
1645 fwe->fw_version.major = fwh->major;
1646 fwe->fw_version.minor = fwh->minor;
1647 fwe->fw_version.patch = fwh->patch;
1648 fwe->fw_version.build = fwh->build;
1651 fwe->intfw = (u8 *)fwh + le32_to_cpu(fwh->int_fw_offset);
1652 fwe->intfw_size = le32_to_cpu(fwh->int_fw_len);
1653 fwe->extfw = (u8 *)fwh + le32_to_cpu(fwh->ext_fw_offset);
1654 fwe->extfw_size = le32_to_cpu(fwh->ext_fw_len);
1656 fwe->loaded = 1;
1660 fwe->fwname, fwh->major, fwh->minor, fwh->patch, fwh->build);
1670 if (fwe->loaded)
1671 return fwe;
2438 struct fwentry *fwe;
2454 fwe = at76_load_firmware(udev, board_type);
2455 if (!fwe) {
2479 ret = at76_load_internal_fw(udev, fwe);
2496 if ((fwe->fw_version.major > 0 || fwe->fw_version.minor >= 100)
2509 ret = at76_load_external_fw(udev, fwe);