Thread (24 messages) 24 messages, 1 author, 2011-11-03
STALE5322d

[PATCH ethtool 04/21] Fix type of bit-number parameter to set_bit() and clear_bit()

From: Ben Hutchings <hidden>
Date: 2011-11-01 23:14:47
Subsystem: the rest · Maintainer: Linus Torvalds

The index must not be negative, so the parameter does not need to be
signed.  Division and modulus on signed operands generally cannot be
optimised to right-shift and bitwise-and.

Signed-off-by: Ben Hutchings <redacted>
---
 internal.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/internal.h b/internal.h
index 693b091..2b6a54a 100644
--- a/internal.h
+++ b/internal.h
@@ -62,12 +62,12 @@ static inline u64 cpu_to_be64(u64 value)
 #define DIV_ROUND_UP(n, d)	(((n) + (d) - 1) / (d))
 #define BITS_TO_LONGS(nr)	DIV_ROUND_UP(nr, BITS_PER_LONG)
 
-static inline void set_bit(int nr, unsigned long *addr)
+static inline void set_bit(unsigned int nr, unsigned long *addr)
 {
 	addr[nr / BITS_PER_LONG] |= 1UL << (nr % BITS_PER_LONG);
 }
 
-static inline void clear_bit(int nr, unsigned long *addr)
+static inline void clear_bit(unsigned int nr, unsigned long *addr)
 {
 	addr[nr / BITS_PER_LONG] &= ~(1UL << (nr % BITS_PER_LONG));
 }
-- 
1.7.4.4



-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help