MINOR: standard: Add my_ffsl function to get the position of the bit set to one
diff --git a/include/common/standard.h b/include/common/standard.h
index b2d67ed..dd89203 100644
--- a/include/common/standard.h
+++ b/include/common/standard.h
@@ -793,6 +793,46 @@
 	return cnt;
 }
 
+/* Simple ffs implementation. It returns the position of the lowest bit set to
+ * one. */
+static inline unsigned int my_ffsl(unsigned long a)
+{
+	unsigned int cnt;
+
+	if (!a)
+		return 0;
+
+	cnt = 1;
+#if LONG_MAX > 0x7FFFFFFFL /* 64bits */
+	if (!(a & 0xFFFFFFFFUL)) {
+		a >>= 32;
+		cnt += 32;
+	}
+#endif
+	if (!(a & 0XFFFFU)) {
+		a >>= 16;
+		cnt += 16;
+	}
+	if (!(a & 0XFF)) {
+		a >>= 8;
+		cnt += 8;
+	}
+	if (!(a & 0xf)) {
+		a >>= 4;
+		cnt += 4;
+	}
+	if (!(a & 0x3)) {
+		a >>= 2;
+		cnt += 2;
+	}
+	if (!(a & 0x1)) {
+		a >>= 1;
+		cnt += 1;
+	}
+
+	return cnt;
+}
+
 /* Build a word with the <bits> lower bits set (reverse of my_popcountl) */
 static inline unsigned long nbits(int bits)
 {