xref: /linux/rust/helpers/srcu.c (revision 83684c4e4d62cb02b2e4d0d18963d1035439278e)
1 // SPDX-License-Identifier: GPL-2.0
2 
3 #include <linux/srcu.h>
4 
rust_helper_init_srcu_struct_with_key(struct srcu_struct * ssp,const char * name,struct lock_class_key * key)5 __rust_helper int rust_helper_init_srcu_struct_with_key(struct srcu_struct *ssp,
6 							const char *name,
7 							struct lock_class_key *key)
8 {
9 	return __init_srcu_struct(ssp, name, key);
10 }
11 
rust_helper_srcu_readers_active(struct srcu_struct * ssp)12 __rust_helper bool rust_helper_srcu_readers_active(struct srcu_struct *ssp)
13 {
14 	return srcu_readers_active(ssp);
15 }
16 
rust_helper_srcu_read_lock(struct srcu_struct * ssp)17 __rust_helper int rust_helper_srcu_read_lock(struct srcu_struct *ssp)
18 {
19 	return srcu_read_lock(ssp);
20 }
21 
rust_helper_srcu_read_unlock(struct srcu_struct * ssp,int idx)22 __rust_helper void rust_helper_srcu_read_unlock(struct srcu_struct *ssp, int idx)
23 {
24 	srcu_read_unlock(ssp, idx);
25 }
26 
rust_helper_srcu_barrier(struct srcu_struct * ssp)27 __rust_helper void rust_helper_srcu_barrier(struct srcu_struct *ssp)
28 {
29 	srcu_barrier(ssp);
30 }
31 
rust_helper_synchronize_srcu_expedited(struct srcu_struct * ssp)32 __rust_helper void rust_helper_synchronize_srcu_expedited(struct srcu_struct *ssp)
33 {
34 	synchronize_srcu_expedited(ssp);
35 }
36