Lines Matching refs:fw_work
1154 struct firmware_work *fw_work; in request_firmware_work_func() local
1157 fw_work = container_of(work, struct firmware_work, work); in request_firmware_work_func()
1159 _request_firmware(&fw, fw_work->name, fw_work->device, NULL, 0, 0, in request_firmware_work_func()
1160 fw_work->opt_flags); in request_firmware_work_func()
1161 fw_work->cont(fw, fw_work->context); in request_firmware_work_func()
1162 put_device(fw_work->device); /* taken in request_firmware_nowait() */ in request_firmware_work_func()
1164 module_put(fw_work->module); in request_firmware_work_func()
1165 kfree_const(fw_work->name); in request_firmware_work_func()
1166 kfree(fw_work); in request_firmware_work_func()
1175 struct firmware_work *fw_work; in _request_firmware_nowait() local
1177 fw_work = kzalloc(sizeof(struct firmware_work), gfp); in _request_firmware_nowait()
1178 if (!fw_work) in _request_firmware_nowait()
1181 fw_work->module = module; in _request_firmware_nowait()
1182 fw_work->name = kstrdup_const(name, gfp); in _request_firmware_nowait()
1183 if (!fw_work->name) { in _request_firmware_nowait()
1184 kfree(fw_work); in _request_firmware_nowait()
1187 fw_work->device = device; in _request_firmware_nowait()
1188 fw_work->context = context; in _request_firmware_nowait()
1189 fw_work->cont = cont; in _request_firmware_nowait()
1190 fw_work->opt_flags = FW_OPT_NOWAIT | in _request_firmware_nowait()
1195 kfree_const(fw_work->name); in _request_firmware_nowait()
1196 kfree(fw_work); in _request_firmware_nowait()
1201 kfree_const(fw_work->name); in _request_firmware_nowait()
1202 kfree(fw_work); in _request_firmware_nowait()
1206 get_device(fw_work->device); in _request_firmware_nowait()
1207 INIT_WORK(&fw_work->work, request_firmware_work_func); in _request_firmware_nowait()
1208 schedule_work(&fw_work->work); in _request_firmware_nowait()