Lines Matching refs:fw_work
778 struct firmware_work *fw_work; in request_firmware_work_func() local
781 fw_work = container_of(work, struct firmware_work, work); in request_firmware_work_func()
783 _request_firmware(&fw, fw_work->name, fw_work->device, NULL, 0, in request_firmware_work_func()
784 fw_work->opt_flags); in request_firmware_work_func()
785 fw_work->cont(fw, fw_work->context); in request_firmware_work_func()
786 put_device(fw_work->device); /* taken in request_firmware_nowait() */ in request_firmware_work_func()
788 module_put(fw_work->module); in request_firmware_work_func()
789 kfree_const(fw_work->name); in request_firmware_work_func()
790 kfree(fw_work); in request_firmware_work_func()
822 struct firmware_work *fw_work; in request_firmware_nowait() local
824 fw_work = kzalloc(sizeof(struct firmware_work), gfp); in request_firmware_nowait()
825 if (!fw_work) in request_firmware_nowait()
828 fw_work->module = module; in request_firmware_nowait()
829 fw_work->name = kstrdup_const(name, gfp); in request_firmware_nowait()
830 if (!fw_work->name) { in request_firmware_nowait()
831 kfree(fw_work); in request_firmware_nowait()
834 fw_work->device = device; in request_firmware_nowait()
835 fw_work->context = context; in request_firmware_nowait()
836 fw_work->cont = cont; in request_firmware_nowait()
837 fw_work->opt_flags = FW_OPT_NOWAIT | in request_firmware_nowait()
841 kfree_const(fw_work->name); in request_firmware_nowait()
842 kfree(fw_work); in request_firmware_nowait()
847 kfree_const(fw_work->name); in request_firmware_nowait()
848 kfree(fw_work); in request_firmware_nowait()
852 get_device(fw_work->device); in request_firmware_nowait()
853 INIT_WORK(&fw_work->work, request_firmware_work_func); in request_firmware_nowait()
854 schedule_work(&fw_work->work); in request_firmware_nowait()