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