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_ */
							 |