bitops.h apparently suffered from some level of bitrot, it
was missing the smp_mb__{before,after}_clear_bit functions,
and included other headers in an invalid order.
This changes the file so that new architectures can use
it out of the box.
Signed-off-by: Remis Lima Baima <remis.developer@googlemail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
		
	
			
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.3 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.3 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef __ASM_GENERIC_BITOPS_H
 | 
						|
#define __ASM_GENERIC_BITOPS_H
 | 
						|
 | 
						|
/*
 | 
						|
 * For the benefit of those who are trying to port Linux to another
 | 
						|
 * architecture, here are some C-language equivalents.  You should
 | 
						|
 * recode these in the native assembly language, if at all possible.
 | 
						|
 *
 | 
						|
 * C language equivalents written by Theodore Ts'o, 9/26/92
 | 
						|
 */
 | 
						|
 | 
						|
#include <linux/irqflags.h>
 | 
						|
#include <linux/compiler.h>
 | 
						|
 | 
						|
/*
 | 
						|
 * clear_bit may not imply a memory barrier
 | 
						|
 */
 | 
						|
#ifndef smp_mb__before_clear_bit
 | 
						|
#define smp_mb__before_clear_bit()	smp_mb()
 | 
						|
#define smp_mb__after_clear_bit()	smp_mb()
 | 
						|
#endif
 | 
						|
 | 
						|
#include <asm-generic/bitops/__ffs.h>
 | 
						|
#include <asm-generic/bitops/ffz.h>
 | 
						|
#include <asm-generic/bitops/fls.h>
 | 
						|
#include <asm-generic/bitops/__fls.h>
 | 
						|
#include <asm-generic/bitops/fls64.h>
 | 
						|
#include <asm-generic/bitops/find.h>
 | 
						|
 | 
						|
#ifndef _LINUX_BITOPS_H
 | 
						|
#error only <linux/bitops.h> can be included directly
 | 
						|
#endif
 | 
						|
 | 
						|
#include <asm-generic/bitops/sched.h>
 | 
						|
#include <asm-generic/bitops/ffs.h>
 | 
						|
#include <asm-generic/bitops/hweight.h>
 | 
						|
#include <asm-generic/bitops/lock.h>
 | 
						|
 | 
						|
#include <asm-generic/bitops/atomic.h>
 | 
						|
#include <asm-generic/bitops/non-atomic.h>
 | 
						|
#include <asm-generic/bitops/ext2-non-atomic.h>
 | 
						|
#include <asm-generic/bitops/ext2-atomic.h>
 | 
						|
#include <asm-generic/bitops/minix.h>
 | 
						|
 | 
						|
#endif /* __ASM_GENERIC_BITOPS_H */
 |