1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef _TOOLS_LINUX_ASM_GENERIC_BITOPS_ATOMIC_H_ 3*4882a593Smuzhiyun #define _TOOLS_LINUX_ASM_GENERIC_BITOPS_ATOMIC_H_ 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <asm/types.h> 6*4882a593Smuzhiyun #include <asm/bitsperlong.h> 7*4882a593Smuzhiyun set_bit(int nr,unsigned long * addr)8*4882a593Smuzhiyunstatic inline void set_bit(int nr, unsigned long *addr) 9*4882a593Smuzhiyun { 10*4882a593Smuzhiyun addr[nr / __BITS_PER_LONG] |= 1UL << (nr % __BITS_PER_LONG); 11*4882a593Smuzhiyun } 12*4882a593Smuzhiyun clear_bit(int nr,unsigned long * addr)13*4882a593Smuzhiyunstatic inline void clear_bit(int nr, unsigned long *addr) 14*4882a593Smuzhiyun { 15*4882a593Smuzhiyun addr[nr / __BITS_PER_LONG] &= ~(1UL << (nr % __BITS_PER_LONG)); 16*4882a593Smuzhiyun } 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun #endif /* _TOOLS_LINUX_ASM_GENERIC_BITOPS_ATOMIC_H_ */ 19