move gic to new devtree interface
[lunaix-os.git] / lunaix-os / includes / lunaix / bits.h
index 1029bb08bfd314e97cf74678efb748499fe2ef9b..65a6ef81ff513a0962233f3cbb2ff2c878af2e67 100644 (file)
@@ -2,13 +2,17 @@
 #define __LUNAIX_BITS_H
 
 #include <lunaix/compiler.h>
+#include <asm/bits.h>
 
-#define BITS(h, l)               (((1UL << ((h) + 1)) - 1) ^ ((1UL << (l)) - 1))
-#define BIT(p)                   BITS(p, p)
+#define BITFIELD(h, l)               (h), (l)
 
-#define BITS_GET(from, bits)     (((from) & (bits)) >> ctzl(bits))
+#define BIT(p)                       BITFIELD(p, p)
+#define BITFLAG(p)                   (1UL << (p))
 
-#define BITS_SET(to, bits, val)  \
-            (((to) & ~(bits)) | (((val) << ctzl(bits)) & (bits)))
+#define BITS_GENMASK(bitfield)       _BITS_GENMASK(bitfield)
+
+#define BITS_GET(from, bitfield)     _BITS_EXTRACT(from, bitfield)
+
+#define BITS_SET(to, bitfield, val)  _BITS_INSERT(to, val, bitfield)
 
 #endif /* __LUNAIX_BITS_H */