Lines Matching refs:work
69 struct cpu_stop_work *work, in __cpu_stop_queue_work() argument
72 list_add_tail(&work->list, &stopper->works); in __cpu_stop_queue_work()
77 static bool cpu_stop_queue_work(unsigned int cpu, struct cpu_stop_work *work) in cpu_stop_queue_work() argument
88 __cpu_stop_queue_work(stopper, work, &wakeq); in cpu_stop_queue_work()
89 else if (work->done) in cpu_stop_queue_work()
90 cpu_stop_signal_done(work->done); in cpu_stop_queue_work()
126 struct cpu_stop_work work = { .fn = fn, .arg = arg, .done = &done }; in stop_one_cpu() local
129 if (!cpu_stop_queue_work(cpu, &work)) in stop_one_cpu()
377 struct cpu_stop_work *work; in queue_stop_cpus_work() local
390 work = &per_cpu(cpu_stopper.stop_work, cpu); in queue_stop_cpus_work()
391 work->fn = fn; in queue_stop_cpus_work()
392 work->arg = arg; in queue_stop_cpus_work()
393 work->done = done; in queue_stop_cpus_work()
394 if (cpu_stop_queue_work(cpu, work)) in queue_stop_cpus_work()
500 struct cpu_stop_work *work; in cpu_stopper_thread() local
503 work = NULL; in cpu_stopper_thread()
506 work = list_first_entry(&stopper->works, in cpu_stopper_thread()
508 list_del_init(&work->list); in cpu_stopper_thread()
512 if (work) { in cpu_stopper_thread()
513 cpu_stop_fn_t fn = work->fn; in cpu_stopper_thread()
514 void *arg = work->arg; in cpu_stopper_thread()
515 struct cpu_stop_done *done = work->done; in cpu_stopper_thread()