xref: /linux/rust/helpers/workqueue.c (revision 60675d4ca1ef0857e44eba5849b74a3a998d0c0f)
1*87634653SAndreas Hindborg // SPDX-License-Identifier: GPL-2.0
2*87634653SAndreas Hindborg 
3*87634653SAndreas Hindborg #include <linux/workqueue.h>
4*87634653SAndreas Hindborg 
5*87634653SAndreas Hindborg void rust_helper_init_work_with_key(struct work_struct *work, work_func_t func,
6*87634653SAndreas Hindborg 				    bool onstack, const char *name,
7*87634653SAndreas Hindborg 				    struct lock_class_key *key)
8*87634653SAndreas Hindborg {
9*87634653SAndreas Hindborg 	__init_work(work, onstack);
10*87634653SAndreas Hindborg 	work->data = (atomic_long_t)WORK_DATA_INIT();
11*87634653SAndreas Hindborg 	lockdep_init_map(&work->lockdep_map, name, key, 0);
12*87634653SAndreas Hindborg 	INIT_LIST_HEAD(&work->entry);
13*87634653SAndreas Hindborg 	work->func = func;
14*87634653SAndreas Hindborg }
15