fw_req 732 drivers/scsi/fnic/fcpio.h static inline void fcpio_color_enc(struct fcpio_fw_req *fw_req, u8 color) fw_req 734 drivers/scsi/fnic/fcpio.h u8 *c = ((u8 *) fw_req) + sizeof(struct fcpio_fw_req) - 1; fw_req 742 drivers/scsi/fnic/fcpio.h static inline void fcpio_color_dec(struct fcpio_fw_req *fw_req, u8 *color) fw_req 744 drivers/scsi/fnic/fcpio.h u8 *c = ((u8 *) fw_req) + sizeof(struct fcpio_fw_req) - 1; fw_req 46 drivers/staging/greybus/fw-download.c struct fw_request *fw_req = container_of(kref, struct fw_request, kref); fw_req 48 drivers/staging/greybus/fw-download.c dev_dbg(fw_req->fw_download->parent, "firmware %s released\n", fw_req 49 drivers/staging/greybus/fw-download.c fw_req->name); fw_req 51 drivers/staging/greybus/fw-download.c release_firmware(fw_req->fw); fw_req 65 drivers/staging/greybus/fw-download.c if (!fw_req->timedout) fw_req 66 drivers/staging/greybus/fw-download.c ida_simple_remove(&fw_req->fw_download->id_map, fw_req 67 drivers/staging/greybus/fw-download.c fw_req->firmware_id); fw_req 69 drivers/staging/greybus/fw-download.c kfree(fw_req); fw_req 86 drivers/staging/greybus/fw-download.c static void put_fw_req(struct fw_request *fw_req) fw_req 88 drivers/staging/greybus/fw-download.c kref_put(&fw_req->kref, fw_req_release); fw_req 95 drivers/staging/greybus/fw-download.c struct fw_request *fw_req; fw_req 99 drivers/staging/greybus/fw-download.c list_for_each_entry(fw_req, &fw_download->fw_requests, node) { fw_req 100 drivers/staging/greybus/fw-download.c if (fw_req->firmware_id == firmware_id) { fw_req 101 drivers/staging/greybus/fw-download.c kref_get(&fw_req->kref); fw_req 106 drivers/staging/greybus/fw-download.c fw_req = NULL; fw_req 111 drivers/staging/greybus/fw-download.c return fw_req; fw_req 115 drivers/staging/greybus/fw-download.c struct fw_request *fw_req) fw_req 118 drivers/staging/greybus/fw-download.c if (fw_req->disabled) fw_req 122 drivers/staging/greybus/fw-download.c list_del(&fw_req->node); fw_req 125 drivers/staging/greybus/fw-download.c fw_req->disabled = true; fw_req 126 drivers/staging/greybus/fw-download.c put_fw_req(fw_req); fw_req 132 drivers/staging/greybus/fw-download.c struct fw_request *fw_req = container_of(dwork, fw_req 134 drivers/staging/greybus/fw-download.c struct fw_download *fw_download = fw_req->fw_download; fw_req 138 drivers/staging/greybus/fw-download.c fw_req->firmware_id); fw_req 140 drivers/staging/greybus/fw-download.c fw_req->timedout = true; fw_req 141 drivers/staging/greybus/fw-download.c free_firmware(fw_download, fw_req); fw_req 144 drivers/staging/greybus/fw-download.c static int exceeds_release_timeout(struct fw_request *fw_req) fw_req 146 drivers/staging/greybus/fw-download.c struct fw_download *fw_download = fw_req->fw_download; fw_req 148 drivers/staging/greybus/fw-download.c if (time_before(jiffies, fw_req->release_timeout_j)) fw_req 153 drivers/staging/greybus/fw-download.c fw_req->firmware_id); fw_req 155 drivers/staging/greybus/fw-download.c fw_req->timedout = true; fw_req 156 drivers/staging/greybus/fw-download.c free_firmware(fw_download, fw_req); fw_req 166 drivers/staging/greybus/fw-download.c struct fw_request *fw_req; fw_req 169 drivers/staging/greybus/fw-download.c fw_req = kzalloc(sizeof(*fw_req), GFP_KERNEL); fw_req 170 drivers/staging/greybus/fw-download.c if (!fw_req) fw_req 180 drivers/staging/greybus/fw-download.c fw_req->firmware_id = ret; fw_req 182 drivers/staging/greybus/fw-download.c snprintf(fw_req->name, sizeof(fw_req->name), fw_req 188 drivers/staging/greybus/fw-download.c fw_req->name); fw_req 190 drivers/staging/greybus/fw-download.c ret = request_firmware(&fw_req->fw, fw_req->name, fw_download->parent); fw_req 193 drivers/staging/greybus/fw-download.c "firmware request failed for %s (%d)\n", fw_req->name, fw_req 198 drivers/staging/greybus/fw-download.c fw_req->fw_download = fw_download; fw_req 199 drivers/staging/greybus/fw-download.c kref_init(&fw_req->kref); fw_req 202 drivers/staging/greybus/fw-download.c list_add(&fw_req->node, &fw_download->fw_requests); fw_req 206 drivers/staging/greybus/fw-download.c req_count = DIV_ROUND_UP(fw_req->fw->size, MIN_FETCH_SIZE); fw_req 207 drivers/staging/greybus/fw-download.c fw_req->release_timeout_j = jiffies + req_count * NEXT_REQ_TIMEOUT_J; fw_req 209 drivers/staging/greybus/fw-download.c INIT_DELAYED_WORK(&fw_req->dwork, fw_request_timedout); fw_req 210 drivers/staging/greybus/fw-download.c schedule_delayed_work(&fw_req->dwork, NEXT_REQ_TIMEOUT_J); fw_req 212 drivers/staging/greybus/fw-download.c return fw_req; fw_req 215 drivers/staging/greybus/fw-download.c ida_simple_remove(&fw_download->id_map, fw_req->firmware_id); fw_req 217 drivers/staging/greybus/fw-download.c kfree(fw_req); fw_req 228 drivers/staging/greybus/fw-download.c struct fw_request *fw_req; fw_req 249 drivers/staging/greybus/fw-download.c fw_req = find_firmware(fw_download, tag); fw_req 250 drivers/staging/greybus/fw-download.c if (IS_ERR(fw_req)) fw_req 251 drivers/staging/greybus/fw-download.c return PTR_ERR(fw_req); fw_req 255 drivers/staging/greybus/fw-download.c free_firmware(fw_download, fw_req); fw_req 260 drivers/staging/greybus/fw-download.c response->firmware_id = fw_req->firmware_id; fw_req 261 drivers/staging/greybus/fw-download.c response->size = cpu_to_le32(fw_req->fw->size); fw_req 264 drivers/staging/greybus/fw-download.c "firmware size is %zu bytes\n", fw_req->fw->size); fw_req 275 drivers/staging/greybus/fw-download.c struct fw_request *fw_req; fw_req 293 drivers/staging/greybus/fw-download.c fw_req = get_fw_req(fw_download, firmware_id); fw_req 294 drivers/staging/greybus/fw-download.c if (!fw_req) { fw_req 301 drivers/staging/greybus/fw-download.c cancel_delayed_work_sync(&fw_req->dwork); fw_req 304 drivers/staging/greybus/fw-download.c if (fw_req->disabled) { fw_req 314 drivers/staging/greybus/fw-download.c ret = exceeds_release_timeout(fw_req); fw_req 318 drivers/staging/greybus/fw-download.c fw = fw_req->fw; fw_req 344 drivers/staging/greybus/fw-download.c schedule_delayed_work(&fw_req->dwork, NEXT_REQ_TIMEOUT_J); fw_req 347 drivers/staging/greybus/fw-download.c put_fw_req(fw_req); fw_req 357 drivers/staging/greybus/fw-download.c struct fw_request *fw_req; fw_req 370 drivers/staging/greybus/fw-download.c fw_req = get_fw_req(fw_download, firmware_id); fw_req 371 drivers/staging/greybus/fw-download.c if (!fw_req) { fw_req 377 drivers/staging/greybus/fw-download.c cancel_delayed_work_sync(&fw_req->dwork); fw_req 379 drivers/staging/greybus/fw-download.c free_firmware(fw_download, fw_req); fw_req 380 drivers/staging/greybus/fw-download.c put_fw_req(fw_req); fw_req 440 drivers/staging/greybus/fw-download.c struct fw_request *fw_req, *tmp; fw_req 453 drivers/staging/greybus/fw-download.c list_for_each_entry(fw_req, &fw_download->fw_requests, node) fw_req 454 drivers/staging/greybus/fw-download.c kref_get(&fw_req->kref); fw_req 458 drivers/staging/greybus/fw-download.c list_for_each_entry_safe(fw_req, tmp, &fw_download->fw_requests, node) { fw_req 459 drivers/staging/greybus/fw-download.c cancel_delayed_work_sync(&fw_req->dwork); fw_req 460 drivers/staging/greybus/fw-download.c free_firmware(fw_download, fw_req); fw_req 461 drivers/staging/greybus/fw-download.c put_fw_req(fw_req);