mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

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>
51 lines
1.5 KiB
C
51 lines
1.5 KiB
C
#ifndef _ASM_GENERIC_BITOPS_LE_H_
|
|
#define _ASM_GENERIC_BITOPS_LE_H_
|
|
|
|
#include <asm/types.h>
|
|
#include <asm/byteorder.h>
|
|
|
|
#if defined(__LITTLE_ENDIAN)
|
|
|
|
#define BITOP_LE_SWIZZLE 0
|
|
|
|
#define find_next_zero_bit_le(addr, size, offset) \
|
|
find_next_zero_bit(addr, size, offset)
|
|
#define find_next_bit_le(addr, size, offset) \
|
|
find_next_bit(addr, size, offset)
|
|
#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 find_next_zero_bit_le(const unsigned long *addr,
|
|
unsigned long size, unsigned long offset);
|
|
extern unsigned long find_next_bit_le(const unsigned long *addr,
|
|
unsigned long size, unsigned long offset);
|
|
|
|
#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 test_bit_le(nr, addr) \
|
|
test_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
|
|
#define __set_bit_le(nr, addr) \
|
|
__set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
|
|
#define __clear_bit_le(nr, addr) \
|
|
__clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
|
|
|
|
#define test_and_set_bit_le(nr, addr) \
|
|
test_and_set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
|
|
#define test_and_clear_bit_le(nr, addr) \
|
|
test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
|
|
|
|
#define __test_and_set_bit_le(nr, addr) \
|
|
__test_and_set_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
|
|
#define __test_and_clear_bit_le(nr, addr) \
|
|
__test_and_clear_bit((nr) ^ BITOP_LE_SWIZZLE, (addr))
|
|
|
|
#endif /* _ASM_GENERIC_BITOPS_LE_H_ */
|