]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
f5e706ad SR |
2 | /* |
3 | * bitops.h: Bit string operations on the V9. | |
4 | * | |
5 | * Copyright 1996, 1997 David S. Miller (davem@caip.rutgers.edu) | |
6 | */ | |
7 | ||
8 | #ifndef _SPARC64_BITOPS_H | |
9 | #define _SPARC64_BITOPS_H | |
10 | ||
11 | #ifndef _LINUX_BITOPS_H | |
12 | #error only <linux/bitops.h> can be included directly | |
13 | #endif | |
14 | ||
15 | #include <linux/compiler.h> | |
16 | #include <asm/byteorder.h> | |
56d36489 | 17 | #include <asm/barrier.h> |
f5e706ad | 18 | |
f05a6865 SR |
19 | int test_and_set_bit(unsigned long nr, volatile unsigned long *addr); |
20 | int test_and_clear_bit(unsigned long nr, volatile unsigned long *addr); | |
21 | int test_and_change_bit(unsigned long nr, volatile unsigned long *addr); | |
22 | void set_bit(unsigned long nr, volatile unsigned long *addr); | |
23 | void clear_bit(unsigned long nr, volatile unsigned long *addr); | |
24 | void change_bit(unsigned long nr, volatile unsigned long *addr); | |
f5e706ad SR |
25 | |
26 | #include <asm-generic/bitops/non-atomic.h> | |
27 | ||
f5e706ad SR |
28 | #include <asm-generic/bitops/fls.h> |
29 | #include <asm-generic/bitops/__fls.h> | |
30 | #include <asm-generic/bitops/fls64.h> | |
31 | ||
32 | #ifdef __KERNEL__ | |
33 | ||
f05a6865 SR |
34 | int ffs(int x); |
35 | unsigned long __ffs(unsigned long); | |
56d205cc DM |
36 | |
37 | #include <asm-generic/bitops/ffz.h> | |
f5e706ad | 38 | #include <asm-generic/bitops/sched.h> |
f5e706ad SR |
39 | |
40 | /* | |
41 | * hweightN: returns the hamming weight (i.e. the number | |
42 | * of bits set) of a N-bit word | |
43 | */ | |
44 | ||
f05a6865 SR |
45 | unsigned long __arch_hweight64(__u64 w); |
46 | unsigned int __arch_hweight32(unsigned int w); | |
47 | unsigned int __arch_hweight16(unsigned int w); | |
48 | unsigned int __arch_hweight8(unsigned int w); | |
f5e706ad | 49 | |
1527bc8b | 50 | #include <asm-generic/bitops/const_hweight.h> |
f5e706ad SR |
51 | #include <asm-generic/bitops/lock.h> |
52 | #endif /* __KERNEL__ */ | |
53 | ||
54 | #include <asm-generic/bitops/find.h> | |
55 | ||
56 | #ifdef __KERNEL__ | |
57 | ||
861b5ae7 | 58 | #include <asm-generic/bitops/le.h> |
f5e706ad | 59 | |
148817ba | 60 | #include <asm-generic/bitops/ext2-atomic-setbit.h> |
f5e706ad | 61 | |
f5e706ad SR |
62 | #endif /* __KERNEL__ */ |
63 | ||
64 | #endif /* defined(_SPARC64_BITOPS_H) */ |