Lines Matching refs:work
77 struct cpu_stop_work *work) in __cpu_stop_queue_work() argument
79 list_add_tail(&work->list, &stopper->works); in __cpu_stop_queue_work()
84 static void cpu_stop_queue_work(unsigned int cpu, struct cpu_stop_work *work) in cpu_stop_queue_work() argument
91 __cpu_stop_queue_work(stopper, work); in cpu_stop_queue_work()
93 cpu_stop_signal_done(work->done, false); in cpu_stop_queue_work()
124 struct cpu_stop_work work = { .fn = fn, .arg = arg, .done = &done }; in stop_one_cpu() local
127 cpu_stop_queue_work(cpu, &work); in stop_one_cpu()
320 struct cpu_stop_work *work; in queue_stop_cpus_work() local
330 work = &per_cpu(cpu_stopper.stop_work, cpu); in queue_stop_cpus_work()
331 work->fn = fn; in queue_stop_cpus_work()
332 work->arg = arg; in queue_stop_cpus_work()
333 work->done = done; in queue_stop_cpus_work()
334 cpu_stop_queue_work(cpu, work); in queue_stop_cpus_work()
434 struct cpu_stop_work *work; in cpu_stopper_thread() local
438 work = NULL; in cpu_stopper_thread()
441 work = list_first_entry(&stopper->works, in cpu_stopper_thread()
443 list_del_init(&work->list); in cpu_stopper_thread()
447 if (work) { in cpu_stopper_thread()
448 cpu_stop_fn_t fn = work->fn; in cpu_stopper_thread()
449 void *arg = work->arg; in cpu_stopper_thread()
450 struct cpu_stop_done *done = work->done; in cpu_stopper_thread()