1*87634653SAndreas Hindborg // SPDX-License-Identifier: GPL-2.0
2*87634653SAndreas Hindborg
3*87634653SAndreas Hindborg #include <linux/workqueue.h>
4*87634653SAndreas Hindborg
rust_helper_init_work_with_key(struct work_struct * work,work_func_t func,bool onstack,const char * name,struct lock_class_key * key)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