drivers/base: use %*pb[l] to print bitmaps including cpumasks and nodemasks
printk and friends can now format bitmaps using '%*pb[l]'. cpumask and nodemask also provide cpumask_pr_args() and nodemask_pr_args() respectively which can be used to generate the two printf arguments necessary to format the specified cpu/nodemask. * Line termination only requires one extra space at the end of the buffer. Use PAGE_SIZE - 1 instead of PAGE_SIZE - 2 when formatting. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
125918dbd8
commit
f799b1a7fb
|
@ -245,7 +245,7 @@ static ssize_t print_cpus_offline(struct device *dev,
|
|||
if (!alloc_cpumask_var(&offline, GFP_KERNEL))
|
||||
return -ENOMEM;
|
||||
cpumask_andnot(offline, cpu_possible_mask, cpu_online_mask);
|
||||
n = cpulist_scnprintf(buf, len, offline);
|
||||
n = scnprintf(buf, len, "%*pbl", cpumask_pr_args(offline));
|
||||
free_cpumask_var(offline);
|
||||
|
||||
/* display offline cpus >= nr_cpu_ids */
|
||||
|
|
|
@ -605,7 +605,8 @@ static ssize_t print_nodes_state(enum node_states state, char *buf)
|
|||
{
|
||||
int n;
|
||||
|
||||
n = nodelist_scnprintf(buf, PAGE_SIZE-2, node_states[state]);
|
||||
n = scnprintf(buf, PAGE_SIZE - 1, "%*pbl",
|
||||
nodemask_pr_args(&node_states[state]));
|
||||
buf[n++] = '\n';
|
||||
buf[n] = '\0';
|
||||
return n;
|
||||
|
|
Loading…
Reference in a new issue