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

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 <>
Acked-by: default avatarGreg Kroah-Hartman <>
Signed-off-by: default avatarAndrew Morton <>
Signed-off-by: default avatarLinus Torvalds <>
parent 125918db
......@@ -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));
/* 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",
buf[n++] = '\n';
buf[n] = '\0';
return n;
Supports Markdown
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