mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	asm-generic: rename generic little-endian bitops functions
As a preparation for providing little-endian bitops for all architectures, This renames generic implementation of little-endian bitops. (remove "generic_" prefix and postfix "_le") s/generic_find_next_le_bit/find_next_bit_le/ s/generic_find_next_zero_le_bit/find_next_zero_bit_le/ s/generic_find_first_zero_le_bit/find_first_zero_bit_le/ s/generic___test_and_set_le_bit/__test_and_set_bit_le/ s/generic___test_and_clear_le_bit/__test_and_clear_bit_le/ s/generic_test_le_bit/test_bit_le/ s/generic___set_le_bit/__set_bit_le/ s/generic___clear_le_bit/__clear_bit_le/ s/generic_test_and_set_le_bit/test_and_set_bit_le/ s/generic_test_and_clear_le_bit/test_and_clear_bit_le/ Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Andreas Schwab <schwab@linux-m68k.org> Cc: Greg Ungerer <gerg@uclinux.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									63ab595fb6
								
							
						
					
					
						commit
						c4945b9ed4
					
				
					 9 changed files with 46 additions and 46 deletions
				
			
		| 
						 | 
				
			
			@ -58,8 +58,8 @@ EXPORT_SYMBOL(find_first_zero_bit);
 | 
			
		|||
EXPORT_SYMBOL(find_next_zero_bit);
 | 
			
		||||
EXPORT_SYMBOL(find_first_bit);
 | 
			
		||||
EXPORT_SYMBOL(find_next_bit);
 | 
			
		||||
EXPORT_SYMBOL(generic_find_next_le_bit);
 | 
			
		||||
EXPORT_SYMBOL(generic_find_next_zero_le_bit);
 | 
			
		||||
EXPORT_SYMBOL(find_next_bit_le);
 | 
			
		||||
EXPORT_SYMBOL(find_next_zero_bit_le);
 | 
			
		||||
 | 
			
		||||
/* I/O primitives (lib/io-*.S) */
 | 
			
		||||
EXPORT_SYMBOL(__raw_readsb);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -123,7 +123,7 @@ ENTRY(find_next_bit)
 | 
			
		|||
	brgt	1b
 | 
			
		||||
	retal	r11
 | 
			
		||||
 | 
			
		||||
ENTRY(generic_find_next_le_bit)
 | 
			
		||||
ENTRY(find_next_bit_le)
 | 
			
		||||
	lsr	r8, r10, 5
 | 
			
		||||
	sub	r9, r11, r10
 | 
			
		||||
	retle	r11
 | 
			
		||||
| 
						 | 
				
			
			@ -153,7 +153,7 @@ ENTRY(generic_find_next_le_bit)
 | 
			
		|||
	brgt	1b
 | 
			
		||||
	retal	r11
 | 
			
		||||
 | 
			
		||||
ENTRY(generic_find_next_zero_le_bit)
 | 
			
		||||
ENTRY(find_next_zero_bit_le)
 | 
			
		||||
	lsr	r8, r10, 5
 | 
			
		||||
	sub	r9, r11, r10
 | 
			
		||||
	retle	r11
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -366,9 +366,9 @@ static inline int minix_test_bit(int nr, const void *vaddr)
 | 
			
		|||
#define ext2_clear_bit(nr, addr)		__test_and_clear_bit((nr) ^ 24, (unsigned long *)(addr))
 | 
			
		||||
#define ext2_clear_bit_atomic(lock, nr, addr)	test_and_clear_bit((nr) ^ 24, (unsigned long *)(addr))
 | 
			
		||||
#define ext2_find_next_zero_bit(addr, size, offset) \
 | 
			
		||||
	generic_find_next_zero_le_bit((unsigned long *)addr, size, offset)
 | 
			
		||||
	find_next_zero_bit_le((unsigned long *)addr, size, offset)
 | 
			
		||||
#define ext2_find_next_bit(addr, size, offset) \
 | 
			
		||||
	generic_find_next_le_bit((unsigned long *)addr, size, offset)
 | 
			
		||||
	find_next_bit_le((unsigned long *)addr, size, offset)
 | 
			
		||||
 | 
			
		||||
static inline int ext2_test_bit(int nr, const void *vaddr)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -398,7 +398,7 @@ static inline int ext2_find_first_zero_bit(const void *vaddr, unsigned size)
 | 
			
		|||
	return (p - addr) * 32 + res;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline unsigned long generic_find_next_zero_le_bit(const unsigned long *addr,
 | 
			
		||||
static inline unsigned long find_next_zero_bit_le(const unsigned long *addr,
 | 
			
		||||
		unsigned long size, unsigned long offset)
 | 
			
		||||
{
 | 
			
		||||
	const unsigned long *p = addr + (offset >> 5);
 | 
			
		||||
| 
						 | 
				
			
			@ -440,7 +440,7 @@ static inline int ext2_find_first_bit(const void *vaddr, unsigned size)
 | 
			
		|||
	return (p - addr) * 32 + res;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline unsigned long generic_find_next_le_bit(const unsigned long *addr,
 | 
			
		||||
static inline unsigned long find_next_bit_le(const unsigned long *addr,
 | 
			
		||||
		unsigned long size, unsigned long offset)
 | 
			
		||||
{
 | 
			
		||||
	const unsigned long *p = addr + (offset >> 5);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -325,7 +325,7 @@ static __inline__ unsigned long ext2_find_next_zero_bit(void *addr, unsigned lon
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
#define ext2_find_next_bit(addr, size, off) \
 | 
			
		||||
	generic_find_next_le_bit((unsigned long *)(addr), (size), (off))
 | 
			
		||||
	find_next_bit_le((unsigned long *)(addr), (size), (off))
 | 
			
		||||
#include <asm-generic/bitops/minix.h>
 | 
			
		||||
 | 
			
		||||
#endif /* __KERNEL__ */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -303,11 +303,12 @@ static __inline__ int test_le_bit(unsigned long nr,
 | 
			
		|||
#define __test_and_clear_le_bit(nr, addr) \
 | 
			
		||||
	__test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 | 
			
		||||
 | 
			
		||||
#define find_first_zero_le_bit(addr, size) generic_find_next_zero_le_bit((addr), (size), 0)
 | 
			
		||||
unsigned long generic_find_next_zero_le_bit(const unsigned long *addr,
 | 
			
		||||
#define find_first_zero_bit_le(addr, size) \
 | 
			
		||||
	find_next_zero_bit_le((addr), (size), 0)
 | 
			
		||||
unsigned long find_next_zero_bit_le(const unsigned long *addr,
 | 
			
		||||
				    unsigned long size, unsigned long offset);
 | 
			
		||||
 | 
			
		||||
unsigned long generic_find_next_le_bit(const unsigned long *addr,
 | 
			
		||||
unsigned long find_next_bit_le(const unsigned long *addr,
 | 
			
		||||
				    unsigned long size, unsigned long offset);
 | 
			
		||||
/* Bitmap functions for the ext2 filesystem */
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -324,12 +325,12 @@ unsigned long generic_find_next_le_bit(const unsigned long *addr,
 | 
			
		|||
#define ext2_test_bit(nr, addr)      test_le_bit((nr),(unsigned long*)addr)
 | 
			
		||||
 | 
			
		||||
#define ext2_find_first_zero_bit(addr, size) \
 | 
			
		||||
	find_first_zero_le_bit((unsigned long*)addr, size)
 | 
			
		||||
	find_first_zero_bit_le((unsigned long*)addr, size)
 | 
			
		||||
#define ext2_find_next_zero_bit(addr, size, off) \
 | 
			
		||||
	generic_find_next_zero_le_bit((unsigned long*)addr, size, off)
 | 
			
		||||
	find_next_zero_bit_le((unsigned long *)addr, size, off)
 | 
			
		||||
 | 
			
		||||
#define ext2_find_next_bit(addr, size, off) \
 | 
			
		||||
	generic_find_next_le_bit((unsigned long *)addr, size, off)
 | 
			
		||||
	find_next_bit_le((unsigned long *)addr, size, off)
 | 
			
		||||
/* Bitmap functions for the minix filesystem.  */
 | 
			
		||||
 | 
			
		||||
#define minix_test_and_set_bit(nr,addr) \
 | 
			
		||||
| 
						 | 
				
			
			@ -342,7 +343,7 @@ unsigned long generic_find_next_le_bit(const unsigned long *addr,
 | 
			
		|||
	test_le_bit(nr, (unsigned long *)addr)
 | 
			
		||||
 | 
			
		||||
#define minix_find_first_zero_bit(addr,size) \
 | 
			
		||||
	find_first_zero_le_bit((unsigned long *)addr, size)
 | 
			
		||||
	find_first_zero_bit_le((unsigned long *)addr, size)
 | 
			
		||||
 | 
			
		||||
#include <asm-generic/bitops/sched.h>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,17 +4,17 @@
 | 
			
		|||
#include <asm-generic/bitops/le.h>
 | 
			
		||||
 | 
			
		||||
#define ext2_set_bit(nr,addr)	\
 | 
			
		||||
	generic___test_and_set_le_bit((nr),(unsigned long *)(addr))
 | 
			
		||||
	__test_and_set_bit_le((nr), (unsigned long *)(addr))
 | 
			
		||||
#define ext2_clear_bit(nr,addr)	\
 | 
			
		||||
	generic___test_and_clear_le_bit((nr),(unsigned long *)(addr))
 | 
			
		||||
	__test_and_clear_bit_le((nr), (unsigned long *)(addr))
 | 
			
		||||
 | 
			
		||||
#define ext2_test_bit(nr,addr)	\
 | 
			
		||||
	generic_test_le_bit((nr),(unsigned long *)(addr))
 | 
			
		||||
	test_bit_le((nr), (unsigned long *)(addr))
 | 
			
		||||
#define ext2_find_first_zero_bit(addr, size) \
 | 
			
		||||
	generic_find_first_zero_le_bit((unsigned long *)(addr), (size))
 | 
			
		||||
	find_first_zero_bit_le((unsigned long *)(addr), (size))
 | 
			
		||||
#define ext2_find_next_zero_bit(addr, size, off) \
 | 
			
		||||
	generic_find_next_zero_le_bit((unsigned long *)(addr), (size), (off))
 | 
			
		||||
	find_next_zero_bit_le((unsigned long *)(addr), (size), (off))
 | 
			
		||||
#define ext2_find_next_bit(addr, size, off) \
 | 
			
		||||
	generic_find_next_le_bit((unsigned long *)(addr), (size), (off))
 | 
			
		||||
	find_next_bit_le((unsigned long *)(addr), (size), (off))
 | 
			
		||||
 | 
			
		||||
#endif /* _ASM_GENERIC_BITOPS_EXT2_NON_ATOMIC_H_ */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,44 +8,44 @@
 | 
			
		|||
 | 
			
		||||
#define BITOP_LE_SWIZZLE	0
 | 
			
		||||
 | 
			
		||||
#define generic_find_next_zero_le_bit(addr, size, offset) \
 | 
			
		||||
#define find_next_zero_bit_le(addr, size, offset) \
 | 
			
		||||
	find_next_zero_bit(addr, size, offset)
 | 
			
		||||
#define generic_find_next_le_bit(addr, size, offset) \
 | 
			
		||||
#define find_next_bit_le(addr, size, offset) \
 | 
			
		||||
	find_next_bit(addr, size, offset)
 | 
			
		||||
#define generic_find_first_zero_le_bit(addr, size) \
 | 
			
		||||
#define find_first_zero_bit_le(addr, size) \
 | 
			
		||||
	find_first_zero_bit(addr, size)
 | 
			
		||||
 | 
			
		||||
#elif defined(__BIG_ENDIAN)
 | 
			
		||||
 | 
			
		||||
#define BITOP_LE_SWIZZLE	((BITS_PER_LONG-1) & ~0x7)
 | 
			
		||||
 | 
			
		||||
extern unsigned long generic_find_next_zero_le_bit(const unsigned long *addr,
 | 
			
		||||
extern unsigned long find_next_zero_bit_le(const unsigned long *addr,
 | 
			
		||||
		unsigned long size, unsigned long offset);
 | 
			
		||||
extern unsigned long generic_find_next_le_bit(const unsigned long *addr,
 | 
			
		||||
extern unsigned long find_next_bit_le(const unsigned long *addr,
 | 
			
		||||
		unsigned long size, unsigned long offset);
 | 
			
		||||
 | 
			
		||||
#define generic_find_first_zero_le_bit(addr, size) \
 | 
			
		||||
	generic_find_next_zero_le_bit((addr), (size), 0)
 | 
			
		||||
#define find_first_zero_bit_le(addr, size) \
 | 
			
		||||
	find_next_zero_bit_le((addr), (size), 0)
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
#error "Please fix <asm/byteorder.h>"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define generic_test_le_bit(nr, addr) \
 | 
			
		||||
#define test_bit_le(nr, addr) \
 | 
			
		||||
	test_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 | 
			
		||||
#define generic___set_le_bit(nr, addr) \
 | 
			
		||||
#define __set_bit_le(nr, addr) \
 | 
			
		||||
	__set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 | 
			
		||||
#define generic___clear_le_bit(nr, addr) \
 | 
			
		||||
#define __clear_bit_le(nr, addr) \
 | 
			
		||||
	__clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 | 
			
		||||
 | 
			
		||||
#define generic_test_and_set_le_bit(nr, addr) \
 | 
			
		||||
#define test_and_set_bit_le(nr, addr) \
 | 
			
		||||
	test_and_set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 | 
			
		||||
#define generic_test_and_clear_le_bit(nr, addr) \
 | 
			
		||||
#define test_and_clear_bit_le(nr, addr) \
 | 
			
		||||
	test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 | 
			
		||||
 | 
			
		||||
#define generic___test_and_set_le_bit(nr, addr) \
 | 
			
		||||
#define __test_and_set_bit_le(nr, addr) \
 | 
			
		||||
	__test_and_set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 | 
			
		||||
#define generic___test_and_clear_le_bit(nr, addr) \
 | 
			
		||||
#define __test_and_clear_bit_le(nr, addr) \
 | 
			
		||||
	__test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
 | 
			
		||||
 | 
			
		||||
#endif /* _ASM_GENERIC_BITOPS_LE_H_ */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,14 +4,14 @@
 | 
			
		|||
#include <asm-generic/bitops/le.h>
 | 
			
		||||
 | 
			
		||||
#define minix_test_and_set_bit(nr,addr)	\
 | 
			
		||||
	generic___test_and_set_le_bit((nr),(unsigned long *)(addr))
 | 
			
		||||
	__test_and_set_bit_le((nr), (unsigned long *)(addr))
 | 
			
		||||
#define minix_set_bit(nr,addr)		\
 | 
			
		||||
	generic___set_le_bit((nr),(unsigned long *)(addr))
 | 
			
		||||
	__set_bit_le((nr), (unsigned long *)(addr))
 | 
			
		||||
#define minix_test_and_clear_bit(nr,addr) \
 | 
			
		||||
	generic___test_and_clear_le_bit((nr),(unsigned long *)(addr))
 | 
			
		||||
	__test_and_clear_bit_le((nr), (unsigned long *)(addr))
 | 
			
		||||
#define minix_test_bit(nr,addr)		\
 | 
			
		||||
	generic_test_le_bit((nr),(unsigned long *)(addr))
 | 
			
		||||
	test_bit_le((nr), (unsigned long *)(addr))
 | 
			
		||||
#define minix_find_first_zero_bit(addr,size) \
 | 
			
		||||
	generic_find_first_zero_le_bit((unsigned long *)(addr),(size))
 | 
			
		||||
	find_first_zero_bit_le((unsigned long *)(addr), (size))
 | 
			
		||||
 | 
			
		||||
#endif /* _ASM_GENERIC_BITOPS_MINIX_LE_H_ */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -185,7 +185,7 @@ static inline unsigned long ext2_swab(const unsigned long y)
 | 
			
		|||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
unsigned long generic_find_next_zero_le_bit(const unsigned long *addr, unsigned
 | 
			
		||||
unsigned long find_next_zero_bit_le(const unsigned long *addr, unsigned
 | 
			
		||||
		long size, unsigned long offset)
 | 
			
		||||
{
 | 
			
		||||
	const unsigned long *p = addr + BITOP_WORD(offset);
 | 
			
		||||
| 
						 | 
				
			
			@ -226,10 +226,9 @@ unsigned long generic_find_next_zero_le_bit(const unsigned long *addr, unsigned
 | 
			
		|||
found_middle_swap:
 | 
			
		||||
	return result + ffz(ext2_swab(tmp));
 | 
			
		||||
}
 | 
			
		||||
EXPORT_SYMBOL(find_next_zero_bit_le);
 | 
			
		||||
 | 
			
		||||
EXPORT_SYMBOL(generic_find_next_zero_le_bit);
 | 
			
		||||
 | 
			
		||||
unsigned long generic_find_next_le_bit(const unsigned long *addr, unsigned
 | 
			
		||||
unsigned long find_next_bit_le(const unsigned long *addr, unsigned
 | 
			
		||||
		long size, unsigned long offset)
 | 
			
		||||
{
 | 
			
		||||
	const unsigned long *p = addr + BITOP_WORD(offset);
 | 
			
		||||
| 
						 | 
				
			
			@ -271,5 +270,5 @@ unsigned long generic_find_next_le_bit(const unsigned long *addr, unsigned
 | 
			
		|||
found_middle_swap:
 | 
			
		||||
	return result + __ffs(ext2_swab(tmp));
 | 
			
		||||
}
 | 
			
		||||
EXPORT_SYMBOL(generic_find_next_le_bit);
 | 
			
		||||
EXPORT_SYMBOL(find_next_bit_le);
 | 
			
		||||
#endif /* __BIG_ENDIAN */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue