Lines Matching refs:work
60 struct cpu_stop_work *work, in __cpu_stop_queue_work() argument
63 list_add_tail(&work->list, &stopper->works); in __cpu_stop_queue_work()
68 static bool cpu_stop_queue_work(unsigned int cpu, struct cpu_stop_work *work) in cpu_stop_queue_work() argument
79 __cpu_stop_queue_work(stopper, work, &wakeq); in cpu_stop_queue_work()
80 else if (work->done) in cpu_stop_queue_work()
81 cpu_stop_signal_done(work->done); in cpu_stop_queue_work()
117 struct cpu_stop_work work = { .fn = fn, .arg = arg, .done = &done }; in stop_one_cpu() local
120 if (!cpu_stop_queue_work(cpu, &work)) in stop_one_cpu()
418 struct cpu_stop_work *work; in queue_stop_cpus_work() local
431 work = &per_cpu(cpu_stopper.stop_work, cpu); in queue_stop_cpus_work()
432 work->fn = fn; in queue_stop_cpus_work()
433 work->arg = arg; in queue_stop_cpus_work()
434 work->done = done; in queue_stop_cpus_work()
435 if (cpu_stop_queue_work(cpu, work)) in queue_stop_cpus_work()
511 struct cpu_stop_work *work; in cpu_stopper_thread() local
514 work = NULL; in cpu_stopper_thread()
517 work = list_first_entry(&stopper->works, in cpu_stopper_thread()
519 list_del_init(&work->list); in cpu_stopper_thread()
523 if (work) { in cpu_stopper_thread()
524 cpu_stop_fn_t fn = work->fn; in cpu_stopper_thread()
525 void *arg = work->arg; in cpu_stopper_thread()
526 struct cpu_stop_done *done = work->done; in cpu_stopper_thread()