-#define BITS(h, l) (((1UL << ((h) + 1)) - 1) ^ ((1UL << (l)) - 1))
-#define BIT(p) BITS(p, p)
+#define BITFIELD(h, l) (h), (l)
+
+#define BIT(p) BITFIELD(p, p)
+#define BITFLAG(p) (1UL << (p))
+
+#define BITS_GENMASK(bitfield) _BITS_GENMASK(bitfield)
+
+#define BITS_GET(from, bitfield) _BITS_EXTRACT(from, bitfield)