Commit f799b1a7 authored by Tejun Heo's avatar Tejun Heo Committed by Linus Torvalds

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: default avatarTejun Heo <tj@kernel.org>
Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 125918db
...@@ -245,7 +245,7 @@ static ssize_t print_cpus_offline(struct device *dev, ...@@ -245,7 +245,7 @@ static ssize_t print_cpus_offline(struct device *dev,
if (!alloc_cpumask_var(&offline, GFP_KERNEL)) if (!alloc_cpumask_var(&offline, GFP_KERNEL))
return -ENOMEM; return -ENOMEM;
cpumask_andnot(offline, cpu_possible_mask, cpu_online_mask); 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); free_cpumask_var(offline);
/* display offline cpus >= nr_cpu_ids */ /* display offline cpus >= nr_cpu_ids */
......
...@@ -605,7 +605,8 @@ static ssize_t print_nodes_state(enum node_states state, char *buf) ...@@ -605,7 +605,8 @@ static ssize_t print_nodes_state(enum node_states state, char *buf)
{ {
int n; 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++] = '\n';
buf[n] = '\0'; buf[n] = '\0';
return n; return n;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment