]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - include/linux/bitops.h
Move c_src dirs back to toplevel
[bcachefs-tools-debian] / include / linux / bitops.h
index 2fe736e95b86cc333b50019e049c0490891ddfbb..758476b1699cc34516d3fd3e2772c96a2a9a9901 100644 (file)
@@ -16,6 +16,7 @@
 
 #define BIT_MASK(nr)           (1UL << ((nr) % BITS_PER_LONG))
 #define BIT_WORD(nr)           ((nr) / BITS_PER_LONG)
+#define BITS_PER_TYPE(type)    (sizeof(type) * BITS_PER_BYTE)
 #define BITS_PER_BYTE          8
 #define BITS_TO_LONGS(nr)      DIV_ROUND_UP(nr, BITS_PER_BYTE * sizeof(long))
 #define BITS_TO_U64(nr)                DIV_ROUND_UP(nr, BITS_PER_BYTE * sizeof(u64))
@@ -137,6 +138,11 @@ static inline unsigned long hweight64(u64 w)
               __builtin_popcount(w >> 32);
 }
 
+static inline unsigned long hweight32(u32 w)
+{
+       return __builtin_popcount(w);
+}
+
 static inline unsigned long hweight8(unsigned long w)
 {
        return __builtin_popcountl(w);