// SPDX-License-Identifier: GPL-2.0 #include #include void rust_helper___set_bit(unsigned long nr, unsigned long *addr) { __set_bit(nr, addr); } void rust_helper___clear_bit(unsigned long nr, unsigned long *addr) { __clear_bit(nr, addr); } void rust_helper_set_bit(unsigned long nr, volatile unsigned long *addr) { set_bit(nr, addr); } void rust_helper_clear_bit(unsigned long nr, volatile unsigned long *addr) { clear_bit(nr, addr); } /* * The rust_helper_ prefix is intentionally omitted below so that the * declarations in include/linux/find.h are compatible with these helpers. * * Note that the below #ifdefs mean that the helper is only created if C does * not provide a definition. */ #ifdef find_first_zero_bit __rust_helper unsigned long _find_first_zero_bit(const unsigned long *p, unsigned long size) { return find_first_zero_bit(p, size); } #endif /* find_first_zero_bit */ #ifdef find_next_zero_bit __rust_helper unsigned long _find_next_zero_bit(const unsigned long *addr, unsigned long size, unsigned long offset) { return find_next_zero_bit(addr, size, offset); } #endif /* find_next_zero_bit */ #ifdef find_first_bit __rust_helper unsigned long _find_first_bit(const unsigned long *addr, unsigned long size) { return find_first_bit(addr, size); } #endif /* find_first_bit */ #ifdef find_next_bit __rust_helper unsigned long _find_next_bit(const unsigned long *addr, unsigned long size, unsigned long offset) { return find_next_bit(addr, size, offset); } #endif /* find_next_bit */