Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] bitops: generic minix_{test,set,test_and_clear,test,find_first_zero}_bit()

This patch introduces the C-language equivalents of the functions below:

int minix_test_and_set_bit(int nr, volatile unsigned long *addr);
int minix_set_bit(int nr, volatile unsigned long *addr);
int minix_test_and_clear_bit(int nr, volatile unsigned long *addr);
int minix_test_bit(int nr, const volatile unsigned long *addr);
unsigned long minix_find_first_zero_bit(const unsigned long *addr,
unsigned long size);

In include/asm-generic/bitops/minix.h
and include/asm-generic/bitops/minix-le.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>

authored by

Akinobu Mita and committed by
Linus Torvalds
b1bb9522 765f34fe

+32
+17
include/asm-generic/bitops/minix-le.h
··· 1 + #ifndef _ASM_GENERIC_BITOPS_MINIX_LE_H_ 2 + #define _ASM_GENERIC_BITOPS_MINIX_LE_H_ 3 + 4 + #include <asm-generic/bitops/le.h> 5 + 6 + #define minix_test_and_set_bit(nr,addr) \ 7 + generic___test_and_set_le_bit((nr),(unsigned long *)(addr)) 8 + #define minix_set_bit(nr,addr) \ 9 + generic___set_le_bit((nr),(unsigned long *)(addr)) 10 + #define minix_test_and_clear_bit(nr,addr) \ 11 + generic___test_and_clear_le_bit((nr),(unsigned long *)(addr)) 12 + #define minix_test_bit(nr,addr) \ 13 + generic_test_le_bit((nr),(unsigned long *)(addr)) 14 + #define minix_find_first_zero_bit(addr,size) \ 15 + generic_find_first_zero_le_bit((unsigned long *)(addr),(size)) 16 + 17 + #endif /* _ASM_GENERIC_BITOPS_MINIX_LE_H_ */
+15
include/asm-generic/bitops/minix.h
··· 1 + #ifndef _ASM_GENERIC_BITOPS_MINIX_H_ 2 + #define _ASM_GENERIC_BITOPS_MINIX_H_ 3 + 4 + #define minix_test_and_set_bit(nr,addr) \ 5 + __test_and_set_bit((nr),(unsigned long *)(addr)) 6 + #define minix_set_bit(nr,addr) \ 7 + __set_bit((nr),(unsigned long *)(addr)) 8 + #define minix_test_and_clear_bit(nr,addr) \ 9 + __test_and_clear_bit((nr),(unsigned long *)(addr)) 10 + #define minix_test_bit(nr,addr) \ 11 + test_bit((nr),(unsigned long *)(addr)) 12 + #define minix_find_first_zero_bit(addr,size) \ 13 + find_first_zero_bit((unsigned long *)(addr),(size)) 14 + 15 + #endif /* _ASM_GENERIC_BITOPS_MINIX_H_ */