mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 20:06:46 +00:00 
			
		
		
		
	 765f34fe32
			
		
	
	
		765f34fe32
		
	
	
	
	
		
			
			This patch introduces the C-language equivalents of the functions below: int ext2_set_bit_atomic(int nr, volatile unsigned long *addr); int ext2_clear_bit_atomic(int nr, volatile unsigned long *addr); In include/asm-generic/bitops/ext2-atomic.h This code largely copied from: include/asm-sparc/bitops.h Signed-off-by: Akinobu Mita <mita@miraclelinux.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
		
			
				
	
	
		
			23 lines
		
	
	
		
			529 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			529 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_
 | |
| #define _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_
 | |
| 
 | |
| #define ext2_set_bit_atomic(lock, nr, addr)		\
 | |
| 	({						\
 | |
| 		int ret;				\
 | |
| 		spin_lock(lock);			\
 | |
| 		ret = ext2_set_bit((nr), (unsigned long *)(addr)); \
 | |
| 		spin_unlock(lock);			\
 | |
| 		ret;					\
 | |
| 	})
 | |
| 
 | |
| #define ext2_clear_bit_atomic(lock, nr, addr)		\
 | |
| 	({						\
 | |
| 		int ret;				\
 | |
| 		spin_lock(lock);			\
 | |
| 		ret = ext2_clear_bit((nr), (unsigned long *)(addr)); \
 | |
| 		spin_unlock(lock);			\
 | |
| 		ret;					\
 | |
| 	})
 | |
| 
 | |
| #endif /* _ASM_GENERIC_BITOPS_EXT2_ATOMIC_H_ */
 |