diff options
| author | Steve French <sfrench@us.ibm.com> | 2008-04-24 11:26:50 -0400 |
|---|---|---|
| committer | Steve French <sfrench@us.ibm.com> | 2008-04-24 11:26:50 -0400 |
| commit | 36d99df2fb474222ab47fbe8ae7385661033223b (patch) | |
| tree | 962e068491b752a944f61c454fad3f8619a1ea3f /lib/bitmap.c | |
| parent | 076d8423a98659a92837b07aa494cb74bfefe77c (diff) | |
| parent | 3dc5063786b273f1aee545844f6bd4e9651ebffe (diff) | |
Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'lib/bitmap.c')
| -rw-r--r-- | lib/bitmap.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/bitmap.c b/lib/bitmap.c index 2c9242e3fed0..a6939e18d7bb 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c | |||
| @@ -316,6 +316,22 @@ int bitmap_scnprintf(char *buf, unsigned int buflen, | |||
| 316 | EXPORT_SYMBOL(bitmap_scnprintf); | 316 | EXPORT_SYMBOL(bitmap_scnprintf); |
| 317 | 317 | ||
| 318 | /** | 318 | /** |
| 319 | * bitmap_scnprintf_len - return buffer length needed to convert | ||
| 320 | * bitmap to an ASCII hex string. | ||
| 321 | * @len: number of bits to be converted | ||
| 322 | */ | ||
| 323 | int bitmap_scnprintf_len(unsigned int len) | ||
| 324 | { | ||
| 325 | /* we need 9 chars per word for 32 bit words (8 hexdigits + sep/null) */ | ||
| 326 | int bitslen = ALIGN(len, CHUNKSZ); | ||
| 327 | int wordlen = CHUNKSZ / 4; | ||
| 328 | int buflen = (bitslen / wordlen) * (wordlen + 1) * sizeof(char); | ||
| 329 | |||
| 330 | return buflen; | ||
| 331 | } | ||
| 332 | EXPORT_SYMBOL(bitmap_scnprintf_len); | ||
| 333 | |||
| 334 | /** | ||
| 319 | * __bitmap_parse - convert an ASCII hex string into a bitmap. | 335 | * __bitmap_parse - convert an ASCII hex string into a bitmap. |
| 320 | * @buf: pointer to buffer containing string. | 336 | * @buf: pointer to buffer containing string. |
| 321 | * @buflen: buffer size in bytes. If string is smaller than this | 337 | * @buflen: buffer size in bytes. If string is smaller than this |
