Lines Matching defs:kmod_req
47 static void get_kmod_req(struct kmod_dup_req *kmod_req)
49 refcount_inc(&kmod_req->refcount);
52 static void put_kmod_req(struct kmod_dup_req *kmod_req)
54 if (refcount_dec_and_test(&kmod_req->refcount))
55 kfree(kmod_req);
62 struct kmod_dup_req *kmod_req;
66 list_for_each_entry(kmod_req, &dup_kmod_reqs, list) {
67 if (!strcmp(kmod_req->name, module_name))
68 return kmod_req;
76 struct kmod_dup_req *kmod_req;
77 kmod_req = container_of(to_delayed_work(work), struct kmod_dup_req, delete_work);
93 list_del(&kmod_req->list);
95 put_kmod_req(kmod_req);
100 struct kmod_dup_req *kmod_req = kzalloc_obj(*kmod_req);
102 if (!kmod_req)
105 refcount_set(&kmod_req->refcount, 1);
106 strscpy(kmod_req->name, module_name);
107 INIT_DELAYED_WORK(&kmod_req->delete_work, kmod_dup_request_delete);
108 init_completion(&kmod_req->first_req_done);
109 return kmod_req;
114 struct kmod_dup_req *kmod_req __free(put_kmod_req) = NULL;
120 kmod_req = kmod_dup_request_lookup(module_name);
121 if (kmod_req) {
122 get_kmod_req(kmod_req);
191 ret = wait_for_completion_state(&kmod_req->first_req_done,
199 *dup_ret = kmod_req->dup_ret;
205 struct kmod_dup_req *kmod_req;
214 kmod_req = kmod_dup_request_lookup(module_name);
215 if (!kmod_req || completion_done(&kmod_req->first_req_done))
218 kmod_req->dup_ret = ret;
221 complete_all(&kmod_req->first_req_done);
231 queue_delayed_work(system_dfl_wq, &kmod_req->delete_work, 60 * HZ);