diff options
-rw-r--r-- | Documentation/DocBook/kernel-api.tmpl | 4 | ||||
-rw-r--r-- | lib/bitmap.c | 31 |
2 files changed, 20 insertions, 15 deletions
diff --git a/Documentation/DocBook/kernel-api.tmpl b/Documentation/DocBook/kernel-api.tmpl index 31b727ceb127..920aed8465a8 100644 --- a/Documentation/DocBook/kernel-api.tmpl +++ b/Documentation/DocBook/kernel-api.tmpl | |||
@@ -112,6 +112,10 @@ X!Ilib/string.c | |||
112 | <sect1><title>Bit Operations</title> | 112 | <sect1><title>Bit Operations</title> |
113 | !Iinclude/asm-i386/bitops.h | 113 | !Iinclude/asm-i386/bitops.h |
114 | </sect1> | 114 | </sect1> |
115 | <sect1><title>Bitmap Operations</title> | ||
116 | !Elib/bitmap.c | ||
117 | !Ilib/bitmap.c | ||
118 | </sect1> | ||
115 | </chapter> | 119 | </chapter> |
116 | 120 | ||
117 | <chapter id="mm"> | 121 | <chapter id="mm"> |
diff --git a/lib/bitmap.c b/lib/bitmap.c index ed2ae3b0cd06..d71e38c54ea5 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c | |||
@@ -317,16 +317,16 @@ EXPORT_SYMBOL(bitmap_scnprintf); | |||
317 | 317 | ||
318 | /** | 318 | /** |
319 | * bitmap_parse - convert an ASCII hex string into a bitmap. | 319 | * bitmap_parse - convert an ASCII hex string into a bitmap. |
320 | * @buf: pointer to buffer in user space containing string. | 320 | * @ubuf: pointer to buffer in user space containing string. |
321 | * @buflen: buffer size in bytes. If string is smaller than this | 321 | * @ubuflen: buffer size in bytes. If string is smaller than this |
322 | * then it must be terminated with a \0. | 322 | * then it must be terminated with a \0. |
323 | * @maskp: pointer to bitmap array that will contain result. | 323 | * @maskp: pointer to bitmap array that will contain result. |
324 | * @nmaskbits: size of bitmap, in bits. | 324 | * @nmaskbits: size of bitmap, in bits. |
325 | * | 325 | * |
326 | * Commas group hex digits into chunks. Each chunk defines exactly 32 | 326 | * Commas group hex digits into chunks. Each chunk defines exactly 32 |
327 | * bits of the resultant bitmask. No chunk may specify a value larger | 327 | * bits of the resultant bitmask. No chunk may specify a value larger |
328 | * than 32 bits (-EOVERFLOW), and if a chunk specifies a smaller value | 328 | * than 32 bits (%-EOVERFLOW), and if a chunk specifies a smaller value |
329 | * then leading 0-bits are prepended. -EINVAL is returned for illegal | 329 | * then leading 0-bits are prepended. %-EINVAL is returned for illegal |
330 | * characters and for grouping errors such as "1,,5", ",44", "," and "". | 330 | * characters and for grouping errors such as "1,,5", ",44", "," and "". |
331 | * Leading and trailing whitespace accepted, but not embedded whitespace. | 331 | * Leading and trailing whitespace accepted, but not embedded whitespace. |
332 | */ | 332 | */ |
@@ -452,8 +452,8 @@ EXPORT_SYMBOL(bitmap_scnlistprintf); | |||
452 | 452 | ||
453 | /** | 453 | /** |
454 | * bitmap_parselist - convert list format ASCII string to bitmap | 454 | * bitmap_parselist - convert list format ASCII string to bitmap |
455 | * @buf: read nul-terminated user string from this buffer | 455 | * @bp: read nul-terminated user string from this buffer |
456 | * @mask: write resulting mask here | 456 | * @maskp: write resulting mask here |
457 | * @nmaskbits: number of bits in mask to be written | 457 | * @nmaskbits: number of bits in mask to be written |
458 | * | 458 | * |
459 | * Input format is a comma-separated list of decimal numbers and | 459 | * Input format is a comma-separated list of decimal numbers and |
@@ -461,10 +461,11 @@ EXPORT_SYMBOL(bitmap_scnlistprintf); | |||
461 | * decimal numbers, the smallest and largest bit numbers set in | 461 | * decimal numbers, the smallest and largest bit numbers set in |
462 | * the range. | 462 | * the range. |
463 | * | 463 | * |
464 | * Returns 0 on success, -errno on invalid input strings: | 464 | * Returns 0 on success, -errno on invalid input strings. |
465 | * -EINVAL: second number in range smaller than first | 465 | * Error values: |
466 | * -EINVAL: invalid character in string | 466 | * %-EINVAL: second number in range smaller than first |
467 | * -ERANGE: bit number specified too large for mask | 467 | * %-EINVAL: invalid character in string |
468 | * %-ERANGE: bit number specified too large for mask | ||
468 | */ | 469 | */ |
469 | int bitmap_parselist(const char *bp, unsigned long *maskp, int nmaskbits) | 470 | int bitmap_parselist(const char *bp, unsigned long *maskp, int nmaskbits) |
470 | { | 471 | { |
@@ -625,10 +626,10 @@ EXPORT_SYMBOL(bitmap_remap); | |||
625 | 626 | ||
626 | /** | 627 | /** |
627 | * bitmap_bitremap - Apply map defined by a pair of bitmaps to a single bit | 628 | * bitmap_bitremap - Apply map defined by a pair of bitmaps to a single bit |
628 | * @oldbit - bit position to be mapped | 629 | * @oldbit: bit position to be mapped |
629 | * @old: defines domain of map | 630 | * @old: defines domain of map |
630 | * @new: defines range of map | 631 | * @new: defines range of map |
631 | * @bits: number of bits in each of these bitmaps | 632 | * @bits: number of bits in each of these bitmaps |
632 | * | 633 | * |
633 | * Let @old and @new define a mapping of bit positions, such that | 634 | * Let @old and @new define a mapping of bit positions, such that |
634 | * whatever position is held by the n-th set bit in @old is mapped | 635 | * whatever position is held by the n-th set bit in @old is mapped |
@@ -790,7 +791,7 @@ EXPORT_SYMBOL(bitmap_release_region); | |||
790 | * | 791 | * |
791 | * Allocate (set bits in) a specified region of a bitmap. | 792 | * Allocate (set bits in) a specified region of a bitmap. |
792 | * | 793 | * |
793 | * Return 0 on success, or -EBUSY if specified region wasn't | 794 | * Return 0 on success, or %-EBUSY if specified region wasn't |
794 | * free (not all bits were zero). | 795 | * free (not all bits were zero). |
795 | */ | 796 | */ |
796 | int bitmap_allocate_region(unsigned long *bitmap, int pos, int order) | 797 | int bitmap_allocate_region(unsigned long *bitmap, int pos, int order) |