Lines Matching refs:fw_work
1072 struct firmware_work *fw_work; in request_firmware_work_func() local
1075 fw_work = container_of(work, struct firmware_work, work); in request_firmware_work_func()
1077 _request_firmware(&fw, fw_work->name, fw_work->device, NULL, 0, 0, in request_firmware_work_func()
1078 fw_work->opt_flags); in request_firmware_work_func()
1079 fw_work->cont(fw, fw_work->context); in request_firmware_work_func()
1080 put_device(fw_work->device); /* taken in request_firmware_nowait() */ in request_firmware_work_func()
1082 module_put(fw_work->module); in request_firmware_work_func()
1083 kfree_const(fw_work->name); in request_firmware_work_func()
1084 kfree(fw_work); in request_firmware_work_func()
1116 struct firmware_work *fw_work; in request_firmware_nowait() local
1118 fw_work = kzalloc(sizeof(struct firmware_work), gfp); in request_firmware_nowait()
1119 if (!fw_work) in request_firmware_nowait()
1122 fw_work->module = module; in request_firmware_nowait()
1123 fw_work->name = kstrdup_const(name, gfp); in request_firmware_nowait()
1124 if (!fw_work->name) { in request_firmware_nowait()
1125 kfree(fw_work); in request_firmware_nowait()
1128 fw_work->device = device; in request_firmware_nowait()
1129 fw_work->context = context; in request_firmware_nowait()
1130 fw_work->cont = cont; in request_firmware_nowait()
1131 fw_work->opt_flags = FW_OPT_NOWAIT | in request_firmware_nowait()
1135 kfree_const(fw_work->name); in request_firmware_nowait()
1136 kfree(fw_work); in request_firmware_nowait()
1141 kfree_const(fw_work->name); in request_firmware_nowait()
1142 kfree(fw_work); in request_firmware_nowait()
1146 get_device(fw_work->device); in request_firmware_nowait()
1147 INIT_WORK(&fw_work->work, request_firmware_work_func); in request_firmware_nowait()
1148 schedule_work(&fw_work->work); in request_firmware_nowait()