Lines Matching refs:fw_work
1100 struct firmware_work *fw_work; in request_firmware_work_func() local
1103 fw_work = container_of(work, struct firmware_work, work); in request_firmware_work_func()
1105 _request_firmware(&fw, fw_work->name, fw_work->device, NULL, 0, 0, in request_firmware_work_func()
1106 fw_work->opt_flags); in request_firmware_work_func()
1107 fw_work->cont(fw, fw_work->context); in request_firmware_work_func()
1108 put_device(fw_work->device); /* taken in request_firmware_nowait() */ in request_firmware_work_func()
1110 module_put(fw_work->module); in request_firmware_work_func()
1111 kfree_const(fw_work->name); in request_firmware_work_func()
1112 kfree(fw_work); in request_firmware_work_func()
1144 struct firmware_work *fw_work; in request_firmware_nowait() local
1146 fw_work = kzalloc(sizeof(struct firmware_work), gfp); in request_firmware_nowait()
1147 if (!fw_work) in request_firmware_nowait()
1150 fw_work->module = module; in request_firmware_nowait()
1151 fw_work->name = kstrdup_const(name, gfp); in request_firmware_nowait()
1152 if (!fw_work->name) { in request_firmware_nowait()
1153 kfree(fw_work); in request_firmware_nowait()
1156 fw_work->device = device; in request_firmware_nowait()
1157 fw_work->context = context; in request_firmware_nowait()
1158 fw_work->cont = cont; in request_firmware_nowait()
1159 fw_work->opt_flags = FW_OPT_NOWAIT | in request_firmware_nowait()
1163 kfree_const(fw_work->name); in request_firmware_nowait()
1164 kfree(fw_work); in request_firmware_nowait()
1169 kfree_const(fw_work->name); in request_firmware_nowait()
1170 kfree(fw_work); in request_firmware_nowait()
1174 get_device(fw_work->device); in request_firmware_nowait()
1175 INIT_WORK(&fw_work->work, request_firmware_work_func); in request_firmware_nowait()
1176 schedule_work(&fw_work->work); in request_firmware_nowait()