Index: kernel/generic/include/bitops.h
===================================================================
--- kernel/generic/include/bitops.h	(revision eb239dc81f44cabbda761a1c5ed77357bd72652e)
+++ kernel/generic/include/bitops.h	(revision d92bf462a666dbc8e25bc56006b03724997951c4)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup generic	
+/** @addtogroup generic
  * @{
  */
@@ -36,13 +36,21 @@
 #define KERN_BITOPS_H_
 
+#ifdef __32_BITS__
+	#define fnzb(arg)  fnzb32(arg)
+#endif
 
-/** Return position of first non-zero bit from left (i.e. [log_2(arg)]).
+#ifdef __64_BITS__
+	#define fnzb(arg)  fnzb64(arg)
+#endif
+
+/** Return position of first non-zero bit from left (32b variant).
  *
- * If number is zero, it returns 0
+ * @return 0 (if the number is zero) or [log_2(arg)].
+ *
  */
-static inline int fnzb32(uint32_t arg)
+static inline uint8_t fnzb32(uint32_t arg)
 {
-	int n = 0;
-
+	uint8_t n = 0;
+	
 	if (arg >> 16) {
 		arg >>= 16;
@@ -71,8 +79,13 @@
 }
 
-static inline int fnzb64(uint64_t arg)
+/** Return position of first non-zero bit from left (64b variant).
+ *
+ * @return 0 (if the number is zero) or [log_2(arg)].
+ *
+ */
+static inline uint8_t fnzb64(uint64_t arg)
 {
-	int n = 0;
-
+	uint8_t n = 0;
+	
 	if (arg >> 32) {
 		arg >>= 32;
@@ -83,6 +96,4 @@
 }
 
-#define fnzb(x) fnzb32(x)
-
 #endif
 
