aboutsummaryrefslogtreecommitdiffstats
path: root/tools/power/cpupower/utils/helpers/bitmask.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/power/cpupower/utils/helpers/bitmask.c')
-rw-r--r--tools/power/cpupower/utils/helpers/bitmask.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/tools/power/cpupower/utils/helpers/bitmask.c b/tools/power/cpupower/utils/helpers/bitmask.c
index 60f4d69bb20d..5c074c60f904 100644
--- a/tools/power/cpupower/utils/helpers/bitmask.c
+++ b/tools/power/cpupower/utils/helpers/bitmask.c
@@ -8,12 +8,12 @@
8#define bitsperlong (8 * sizeof(unsigned long)) 8#define bitsperlong (8 * sizeof(unsigned long))
9 9
10/* howmany(a,b) : how many elements of size b needed to hold all of a */ 10/* howmany(a,b) : how many elements of size b needed to hold all of a */
11#define howmany(x,y) (((x)+((y)-1))/(y)) 11#define howmany(x, y) (((x)+((y)-1))/(y))
12 12
13/* How many longs in mask of n bits */ 13/* How many longs in mask of n bits */
14#define longsperbits(n) howmany(n, bitsperlong) 14#define longsperbits(n) howmany(n, bitsperlong)
15 15
16#define max(a,b) ((a) > (b) ? (a) : (b)) 16#define max(a, b) ((a) > (b) ? (a) : (b))
17 17
18/* 18/*
19 * Allocate and free `struct bitmask *` 19 * Allocate and free `struct bitmask *`
@@ -73,7 +73,8 @@ static void _setbit(struct bitmask *bmp, unsigned int n, unsigned int v)
73 if (v) 73 if (v)
74 bmp->maskp[n/bitsperlong] |= 1UL << (n % bitsperlong); 74 bmp->maskp[n/bitsperlong] |= 1UL << (n % bitsperlong);
75 else 75 else
76 bmp->maskp[n/bitsperlong] &= ~(1UL << (n % bitsperlong)); 76 bmp->maskp[n/bitsperlong] &=
77 ~(1UL << (n % bitsperlong));
77 } 78 }
78} 79}
79 80
@@ -185,7 +186,7 @@ unsigned int bitmask_next(const struct bitmask *bmp, unsigned int i)
185 * 0-3 0,1,2,3 186 * 0-3 0,1,2,3
186 * 0-7:2 0,2,4,6 187 * 0-7:2 0,2,4,6
187 * 1,3,5-7 1,3,5,6,7 188 * 1,3,5-7 1,3,5,6,7
188 * 0-3:2,8-15:4 0,2,8,12 189 * 0-3:2,8-15:4 0,2,8,12
189 */ 190 */
190int bitmask_parselist(const char *buf, struct bitmask *bmp) 191int bitmask_parselist(const char *buf, struct bitmask *bmp)
191{ 192{
@@ -251,7 +252,8 @@ static inline int emit(char *buf, int buflen, int rbot, int rtop, int len)
251 if (rbot == rtop) 252 if (rbot == rtop)
252 len += snprintf(buf + len, max(buflen - len, 0), "%d", rbot); 253 len += snprintf(buf + len, max(buflen - len, 0), "%d", rbot);
253 else 254 else
254 len += snprintf(buf + len, max(buflen - len, 0), "%d-%d", rbot, rtop); 255 len += snprintf(buf + len, max(buflen - len, 0), "%d-%d",
256 rbot, rtop);
255 return len; 257 return len;
256} 258}
257 259