aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/bitops.h
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
committerJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
commit8dea78da5cee153b8af9c07a2745f6c55057fe12 (patch)
treea8f4d49d63b1ecc92f2fddceba0655b2472c5bd9 /include/linux/bitops.h
parent406089d01562f1e2bf9f089fd7637009ebaad589 (diff)
Patched in Tegra support.
Diffstat (limited to 'include/linux/bitops.h')
-rw-r--r--include/linux/bitops.h41
1 files changed, 2 insertions, 39 deletions
diff --git a/include/linux/bitops.h b/include/linux/bitops.h
index a3b6b82108b..a3ef66a2a08 100644
--- a/include/linux/bitops.h
+++ b/include/linux/bitops.h
@@ -22,27 +22,10 @@ extern unsigned long __sw_hweight64(__u64 w);
22#include <asm/bitops.h> 22#include <asm/bitops.h>
23 23
24#define for_each_set_bit(bit, addr, size) \ 24#define for_each_set_bit(bit, addr, size) \
25 for ((bit) = find_first_bit((addr), (size)); \ 25 for ((bit) = find_first_bit((addr), (size)); \
26 (bit) < (size); \ 26 (bit) < (size); \
27 (bit) = find_next_bit((addr), (size), (bit) + 1)) 27 (bit) = find_next_bit((addr), (size), (bit) + 1))
28 28
29/* same as for_each_set_bit() but use bit as value to start with */
30#define for_each_set_bit_from(bit, addr, size) \
31 for ((bit) = find_next_bit((addr), (size), (bit)); \
32 (bit) < (size); \
33 (bit) = find_next_bit((addr), (size), (bit) + 1))
34
35#define for_each_clear_bit(bit, addr, size) \
36 for ((bit) = find_first_zero_bit((addr), (size)); \
37 (bit) < (size); \
38 (bit) = find_next_zero_bit((addr), (size), (bit) + 1))
39
40/* same as for_each_clear_bit() but use bit as value to start with */
41#define for_each_clear_bit_from(bit, addr, size) \
42 for ((bit) = find_next_zero_bit((addr), (size), (bit)); \
43 (bit) < (size); \
44 (bit) = find_next_zero_bit((addr), (size), (bit) + 1))
45
46static __inline__ int get_bitmask_order(unsigned int count) 29static __inline__ int get_bitmask_order(unsigned int count)
47{ 30{
48 int order; 31 int order;
@@ -67,26 +50,6 @@ static inline unsigned long hweight_long(unsigned long w)
67} 50}
68 51
69/** 52/**
70 * rol64 - rotate a 64-bit value left
71 * @word: value to rotate
72 * @shift: bits to roll
73 */
74static inline __u64 rol64(__u64 word, unsigned int shift)
75{
76 return (word << shift) | (word >> (64 - shift));
77}
78
79/**
80 * ror64 - rotate a 64-bit value right
81 * @word: value to rotate
82 * @shift: bits to roll
83 */
84static inline __u64 ror64(__u64 word, unsigned int shift)
85{
86 return (word >> shift) | (word << (64 - shift));
87}
88
89/**
90 * rol32 - rotate a 32-bit value left 53 * rol32 - rotate a 32-bit value left
91 * @word: value to rotate 54 * @word: value to rotate
92 * @shift: bits to roll 55 * @shift: bits to roll