From 631ada5feebb48f5af7b130be93559b313966d39 Mon Sep 17 00:00:00 2001 From: Akinobu Mita Date: Fri, 23 Mar 2012 15:02:04 -0700 Subject: [PATCH] --- yaml --- r: 295175 b: refs/heads/master c: 03f4a8226c2f9c14361f75848d1e93139bab90c4 h: refs/heads/master i: 295173: b3607ef976a212e1db8bc7fec67ab04ff3b03943 295171: 6ccc90b9070e5a901c6d8b15ea13ff745adb5f0c 295167: d89f356f609853bd36b458030db77ae7bf67cc5b v: v3 --- [refs] | 2 +- trunk/include/linux/bitops.h | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 9c41126ae983..6d90ea8abaa9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0a329d2d5a1dd75273597538cdc33512ee38855e +refs/heads/master: 03f4a8226c2f9c14361f75848d1e93139bab90c4 diff --git a/trunk/include/linux/bitops.h b/trunk/include/linux/bitops.h index 348b1dca477a..a3b6b82108b9 100644 --- a/trunk/include/linux/bitops.h +++ b/trunk/include/linux/bitops.h @@ -32,6 +32,17 @@ extern unsigned long __sw_hweight64(__u64 w); (bit) < (size); \ (bit) = find_next_bit((addr), (size), (bit) + 1)) +#define for_each_clear_bit(bit, addr, size) \ + for ((bit) = find_first_zero_bit((addr), (size)); \ + (bit) < (size); \ + (bit) = find_next_zero_bit((addr), (size), (bit) + 1)) + +/* same as for_each_clear_bit() but use bit as value to start with */ +#define for_each_clear_bit_from(bit, addr, size) \ + for ((bit) = find_next_zero_bit((addr), (size), (bit)); \ + (bit) < (size); \ + (bit) = find_next_zero_bit((addr), (size), (bit) + 1)) + static __inline__ int get_bitmask_order(unsigned int count) { int order;