18f63d947SOnur Özkan // SPDX-License-Identifier: GPL-2.0 28f63d947SOnur Özkan 38f63d947SOnur Özkan #include <linux/srcu.h> 48f63d947SOnur Özkan rust_helper_init_srcu_struct_with_key(struct srcu_struct * ssp,const char * name,struct lock_class_key * key)58f63d947SOnur Özkan__rust_helper int rust_helper_init_srcu_struct_with_key(struct srcu_struct *ssp, 68f63d947SOnur Özkan const char *name, 78f63d947SOnur Özkan struct lock_class_key *key) 88f63d947SOnur Özkan { 98f63d947SOnur Özkan return __init_srcu_struct(ssp, name, key); 108f63d947SOnur Özkan } 118f63d947SOnur Özkan rust_helper_srcu_readers_active(struct srcu_struct * ssp)12*91d51851SOnur Özkan__rust_helper bool rust_helper_srcu_readers_active(struct srcu_struct *ssp) 13*91d51851SOnur Özkan { 14*91d51851SOnur Özkan return srcu_readers_active(ssp); 15*91d51851SOnur Özkan } 16*91d51851SOnur Özkan rust_helper_srcu_read_lock(struct srcu_struct * ssp)178f63d947SOnur Özkan__rust_helper int rust_helper_srcu_read_lock(struct srcu_struct *ssp) 188f63d947SOnur Özkan { 198f63d947SOnur Özkan return srcu_read_lock(ssp); 208f63d947SOnur Özkan } 218f63d947SOnur Özkan rust_helper_srcu_read_unlock(struct srcu_struct * ssp,int idx)228f63d947SOnur Özkan__rust_helper void rust_helper_srcu_read_unlock(struct srcu_struct *ssp, int idx) 238f63d947SOnur Özkan { 248f63d947SOnur Özkan srcu_read_unlock(ssp, idx); 258f63d947SOnur Özkan } 268f63d947SOnur Özkan rust_helper_srcu_barrier(struct srcu_struct * ssp)278f63d947SOnur Özkan__rust_helper void rust_helper_srcu_barrier(struct srcu_struct *ssp) 288f63d947SOnur Özkan { 298f63d947SOnur Özkan srcu_barrier(ssp); 308f63d947SOnur Özkan } 318f63d947SOnur Özkan rust_helper_synchronize_srcu_expedited(struct srcu_struct * ssp)328f63d947SOnur Özkan__rust_helper void rust_helper_synchronize_srcu_expedited(struct srcu_struct *ssp) 338f63d947SOnur Özkan { 348f63d947SOnur Özkan synchronize_srcu_expedited(ssp); 358f63d947SOnur Özkan } 36