|
@@ -315,6 +315,22 @@ int bitmap_scnprintf(char *buf, unsigned int buflen,
|
|
|
}
|
|
|
EXPORT_SYMBOL(bitmap_scnprintf);
|
|
|
|
|
|
+/**
|
|
|
+ * bitmap_scnprintf_len - return buffer length needed to convert
|
|
|
+ * bitmap to an ASCII hex string.
|
|
|
+ * @len: number of bits to be converted
|
|
|
+ */
|
|
|
+int bitmap_scnprintf_len(unsigned int len)
|
|
|
+{
|
|
|
+ /* we need 9 chars per word for 32 bit words (8 hexdigits + sep/null) */
|
|
|
+ int bitslen = ALIGN(len, CHUNKSZ);
|
|
|
+ int wordlen = CHUNKSZ / 4;
|
|
|
+ int buflen = (bitslen / wordlen) * (wordlen + 1) * sizeof(char);
|
|
|
+
|
|
|
+ return buflen;
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(bitmap_scnprintf_len);
|
|
|
+
|
|
|
/**
|
|
|
* __bitmap_parse - convert an ASCII hex string into a bitmap.
|
|
|
* @buf: pointer to buffer containing string.
|