ia64: use %*pb[l] to print bitmaps including cpumasks and nodemasks
authorTejun Heo <tj@kernel.org>
Fri, 13 Feb 2015 22:37:14 +0000 (14:37 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 14 Feb 2015 05:21:37 +0000 (21:21 -0800)
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.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/ia64/kernel/topology.c

index f295f9abba4b04772679a6ff232a2f1387572c27..965ab42fabb022e0f49fda632815dcaa140aa9e8 100644 (file)
@@ -217,14 +217,12 @@ static ssize_t show_number_of_sets(struct cache_info *this_leaf, char *buf)
 
 static ssize_t show_shared_cpu_map(struct cache_info *this_leaf, char *buf)
 {
-       ssize_t len;
        cpumask_t shared_cpu_map;
 
        cpumask_and(&shared_cpu_map,
                                &this_leaf->shared_cpu_map, cpu_online_mask);
-       len = cpumask_scnprintf(buf, NR_CPUS+1, &shared_cpu_map);
-       len += sprintf(buf+len, "\n");
-       return len;
+       return scnprintf(buf, PAGE_SIZE, "%*pb\n",
+                        cpumask_pr_args(&shared_cpu_map));
 }
 
 static ssize_t show_type(struct cache_info *this_leaf, char *buf)