diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/bitmap.h | 13 | ||||
| -rw-r--r-- | include/linux/cpumask.h | 14 | ||||
| -rw-r--r-- | include/linux/nodemask.h | 14 |
3 files changed, 25 insertions, 16 deletions
diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h index dcc5de7cc487..64b4641904fe 100644 --- a/include/linux/bitmap.h +++ b/include/linux/bitmap.h | |||
| @@ -46,7 +46,8 @@ | |||
| 46 | * bitmap_remap(dst, src, old, new, nbits) *dst = map(old, new)(src) | 46 | * bitmap_remap(dst, src, old, new, nbits) *dst = map(old, new)(src) |
| 47 | * bitmap_bitremap(oldbit, old, new, nbits) newbit = map(old, new)(oldbit) | 47 | * bitmap_bitremap(oldbit, old, new, nbits) newbit = map(old, new)(oldbit) |
| 48 | * bitmap_scnprintf(buf, len, src, nbits) Print bitmap src to buf | 48 | * bitmap_scnprintf(buf, len, src, nbits) Print bitmap src to buf |
| 49 | * bitmap_parse(ubuf, ulen, dst, nbits) Parse bitmap dst from user buf | 49 | * bitmap_parse(buf, buflen, dst, nbits) Parse bitmap dst from kernel buf |
| 50 | * bitmap_parse_user(ubuf, ulen, dst, nbits) Parse bitmap dst from user buf | ||
| 50 | * bitmap_scnlistprintf(buf, len, src, nbits) Print bitmap src as list to buf | 51 | * bitmap_scnlistprintf(buf, len, src, nbits) Print bitmap src as list to buf |
| 51 | * bitmap_parselist(buf, dst, nbits) Parse bitmap dst from list | 52 | * bitmap_parselist(buf, dst, nbits) Parse bitmap dst from list |
| 52 | * bitmap_find_free_region(bitmap, bits, order) Find and allocate bit region | 53 | * bitmap_find_free_region(bitmap, bits, order) Find and allocate bit region |
| @@ -106,7 +107,9 @@ extern int __bitmap_weight(const unsigned long *bitmap, int bits); | |||
| 106 | 107 | ||
| 107 | extern int bitmap_scnprintf(char *buf, unsigned int len, | 108 | extern int bitmap_scnprintf(char *buf, unsigned int len, |
| 108 | const unsigned long *src, int nbits); | 109 | const unsigned long *src, int nbits); |
| 109 | extern int bitmap_parse(const char __user *ubuf, unsigned int ulen, | 110 | extern int __bitmap_parse(const char *buf, unsigned int buflen, int is_user, |
| 111 | unsigned long *dst, int nbits); | ||
| 112 | extern int bitmap_parse_user(const char __user *ubuf, unsigned int ulen, | ||
| 110 | unsigned long *dst, int nbits); | 113 | unsigned long *dst, int nbits); |
| 111 | extern int bitmap_scnlistprintf(char *buf, unsigned int len, | 114 | extern int bitmap_scnlistprintf(char *buf, unsigned int len, |
| 112 | const unsigned long *src, int nbits); | 115 | const unsigned long *src, int nbits); |
| @@ -270,6 +273,12 @@ static inline void bitmap_shift_left(unsigned long *dst, | |||
| 270 | __bitmap_shift_left(dst, src, n, nbits); | 273 | __bitmap_shift_left(dst, src, n, nbits); |
| 271 | } | 274 | } |
| 272 | 275 | ||
| 276 | static inline int bitmap_parse(const char *buf, unsigned int buflen, | ||
| 277 | unsigned long *maskp, int nmaskbits) | ||
| 278 | { | ||
| 279 | return __bitmap_parse(buf, buflen, 0, maskp, nmaskbits); | ||
| 280 | } | ||
| 281 | |||
| 273 | #endif /* __ASSEMBLY__ */ | 282 | #endif /* __ASSEMBLY__ */ |
| 274 | 283 | ||
| 275 | #endif /* __LINUX_BITMAP_H */ | 284 | #endif /* __LINUX_BITMAP_H */ |
diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h index b268a3c0c376..d0e8c8b0e34d 100644 --- a/include/linux/cpumask.h +++ b/include/linux/cpumask.h | |||
| @@ -8,8 +8,8 @@ | |||
| 8 | * See detailed comments in the file linux/bitmap.h describing the | 8 | * See detailed comments in the file linux/bitmap.h describing the |
| 9 | * data type on which these cpumasks are based. | 9 | * data type on which these cpumasks are based. |
| 10 | * | 10 | * |
| 11 | * For details of cpumask_scnprintf() and cpumask_parse(), | 11 | * For details of cpumask_scnprintf() and cpumask_parse_user(), |
| 12 | * see bitmap_scnprintf() and bitmap_parse() in lib/bitmap.c. | 12 | * see bitmap_scnprintf() and bitmap_parse_user() in lib/bitmap.c. |
| 13 | * For details of cpulist_scnprintf() and cpulist_parse(), see | 13 | * For details of cpulist_scnprintf() and cpulist_parse(), see |
| 14 | * bitmap_scnlistprintf() and bitmap_parselist(), also in bitmap.c. | 14 | * bitmap_scnlistprintf() and bitmap_parselist(), also in bitmap.c. |
| 15 | * For details of cpu_remap(), see bitmap_bitremap in lib/bitmap.c | 15 | * For details of cpu_remap(), see bitmap_bitremap in lib/bitmap.c |
| @@ -49,7 +49,7 @@ | |||
| 49 | * unsigned long *cpus_addr(mask) Array of unsigned long's in mask | 49 | * unsigned long *cpus_addr(mask) Array of unsigned long's in mask |
| 50 | * | 50 | * |
| 51 | * int cpumask_scnprintf(buf, len, mask) Format cpumask for printing | 51 | * int cpumask_scnprintf(buf, len, mask) Format cpumask for printing |
| 52 | * int cpumask_parse(ubuf, ulen, mask) Parse ascii string as cpumask | 52 | * int cpumask_parse_user(ubuf, ulen, mask) Parse ascii string as cpumask |
| 53 | * int cpulist_scnprintf(buf, len, mask) Format cpumask as list for printing | 53 | * int cpulist_scnprintf(buf, len, mask) Format cpumask as list for printing |
| 54 | * int cpulist_parse(buf, map) Parse ascii string as cpulist | 54 | * int cpulist_parse(buf, map) Parse ascii string as cpulist |
| 55 | * int cpu_remap(oldbit, old, new) newbit = map(old, new)(oldbit) | 55 | * int cpu_remap(oldbit, old, new) newbit = map(old, new)(oldbit) |
| @@ -273,12 +273,12 @@ static inline int __cpumask_scnprintf(char *buf, int len, | |||
| 273 | return bitmap_scnprintf(buf, len, srcp->bits, nbits); | 273 | return bitmap_scnprintf(buf, len, srcp->bits, nbits); |
| 274 | } | 274 | } |
| 275 | 275 | ||
| 276 | #define cpumask_parse(ubuf, ulen, dst) \ | 276 | #define cpumask_parse_user(ubuf, ulen, dst) \ |
| 277 | __cpumask_parse((ubuf), (ulen), &(dst), NR_CPUS) | 277 | __cpumask_parse_user((ubuf), (ulen), &(dst), NR_CPUS) |
| 278 | static inline int __cpumask_parse(const char __user *buf, int len, | 278 | static inline int __cpumask_parse_user(const char __user *buf, int len, |
| 279 | cpumask_t *dstp, int nbits) | 279 | cpumask_t *dstp, int nbits) |
| 280 | { | 280 | { |
| 281 | return bitmap_parse(buf, len, dstp->bits, nbits); | 281 | return bitmap_parse_user(buf, len, dstp->bits, nbits); |
| 282 | } | 282 | } |
| 283 | 283 | ||
| 284 | #define cpulist_scnprintf(buf, len, src) \ | 284 | #define cpulist_scnprintf(buf, len, src) \ |
diff --git a/include/linux/nodemask.h b/include/linux/nodemask.h index 5dce5c21822c..b1063e9cdb1b 100644 --- a/include/linux/nodemask.h +++ b/include/linux/nodemask.h | |||
| @@ -8,8 +8,8 @@ | |||
| 8 | * See detailed comments in the file linux/bitmap.h describing the | 8 | * See detailed comments in the file linux/bitmap.h describing the |
| 9 | * data type on which these nodemasks are based. | 9 | * data type on which these nodemasks are based. |
| 10 | * | 10 | * |
| 11 | * For details of nodemask_scnprintf() and nodemask_parse(), | 11 | * For details of nodemask_scnprintf() and nodemask_parse_user(), |
| 12 | * see bitmap_scnprintf() and bitmap_parse() in lib/bitmap.c. | 12 | * see bitmap_scnprintf() and bitmap_parse_user() in lib/bitmap.c. |
| 13 | * For details of nodelist_scnprintf() and nodelist_parse(), see | 13 | * For details of nodelist_scnprintf() and nodelist_parse(), see |
| 14 | * bitmap_scnlistprintf() and bitmap_parselist(), also in bitmap.c. | 14 | * bitmap_scnlistprintf() and bitmap_parselist(), also in bitmap.c. |
| 15 | * For details of node_remap(), see bitmap_bitremap in lib/bitmap.c. | 15 | * For details of node_remap(), see bitmap_bitremap in lib/bitmap.c. |
| @@ -51,7 +51,7 @@ | |||
| 51 | * unsigned long *nodes_addr(mask) Array of unsigned long's in mask | 51 | * unsigned long *nodes_addr(mask) Array of unsigned long's in mask |
| 52 | * | 52 | * |
| 53 | * int nodemask_scnprintf(buf, len, mask) Format nodemask for printing | 53 | * int nodemask_scnprintf(buf, len, mask) Format nodemask for printing |
| 54 | * int nodemask_parse(ubuf, ulen, mask) Parse ascii string as nodemask | 54 | * int nodemask_parse_user(ubuf, ulen, mask) Parse ascii string as nodemask |
| 55 | * int nodelist_scnprintf(buf, len, mask) Format nodemask as list for printing | 55 | * int nodelist_scnprintf(buf, len, mask) Format nodemask as list for printing |
| 56 | * int nodelist_parse(buf, map) Parse ascii string as nodelist | 56 | * int nodelist_parse(buf, map) Parse ascii string as nodelist |
| 57 | * int node_remap(oldbit, old, new) newbit = map(old, new)(oldbit) | 57 | * int node_remap(oldbit, old, new) newbit = map(old, new)(oldbit) |
| @@ -288,12 +288,12 @@ static inline int __nodemask_scnprintf(char *buf, int len, | |||
| 288 | return bitmap_scnprintf(buf, len, srcp->bits, nbits); | 288 | return bitmap_scnprintf(buf, len, srcp->bits, nbits); |
| 289 | } | 289 | } |
| 290 | 290 | ||
| 291 | #define nodemask_parse(ubuf, ulen, dst) \ | 291 | #define nodemask_parse_user(ubuf, ulen, dst) \ |
| 292 | __nodemask_parse((ubuf), (ulen), &(dst), MAX_NUMNODES) | 292 | __nodemask_parse_user((ubuf), (ulen), &(dst), MAX_NUMNODES) |
| 293 | static inline int __nodemask_parse(const char __user *buf, int len, | 293 | static inline int __nodemask_parse_user(const char __user *buf, int len, |
| 294 | nodemask_t *dstp, int nbits) | 294 | nodemask_t *dstp, int nbits) |
| 295 | { | 295 | { |
| 296 | return bitmap_parse(buf, len, dstp->bits, nbits); | 296 | return bitmap_parse_user(buf, len, dstp->bits, nbits); |
| 297 | } | 297 | } |
| 298 | 298 | ||
| 299 | #define nodelist_scnprintf(buf, len, src) \ | 299 | #define nodelist_scnprintf(buf, len, src) \ |
