usb: 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. * drivers/uwb/drp.c::uwb_drp_handle_alien_drp() was formatting mas.bm into a buffer but never used it. Removed. 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
c7badc9017
commit
125918dbd8
@ -86,17 +86,14 @@ static void qset_print(struct seq_file *s, struct whc_qset *qset)
|
|||||||
static int di_print(struct seq_file *s, void *p)
|
static int di_print(struct seq_file *s, void *p)
|
||||||
{
|
{
|
||||||
struct whc *whc = s->private;
|
struct whc *whc = s->private;
|
||||||
char buf[72];
|
|
||||||
int d;
|
int d;
|
||||||
|
|
||||||
for (d = 0; d < whc->n_devices; d++) {
|
for (d = 0; d < whc->n_devices; d++) {
|
||||||
struct di_buf_entry *di = &whc->di_buf[d];
|
struct di_buf_entry *di = &whc->di_buf[d];
|
||||||
|
|
||||||
bitmap_scnprintf(buf, sizeof(buf),
|
|
||||||
(unsigned long *)di->availability_info, UWB_NUM_MAS);
|
|
||||||
|
|
||||||
seq_printf(s, "DI[%d]\n", d);
|
seq_printf(s, "DI[%d]\n", d);
|
||||||
seq_printf(s, " availability: %s\n", buf);
|
seq_printf(s, " availability: %*pb\n",
|
||||||
|
UWB_NUM_MAS, (unsigned long *)di->availability_info);
|
||||||
seq_printf(s, " %c%c key idx: %d dev addr: %d\n",
|
seq_printf(s, " %c%c key idx: %d dev addr: %d\n",
|
||||||
(di->addr_sec_info & WHC_DI_SECURE) ? 'S' : ' ',
|
(di->addr_sec_info & WHC_DI_SECURE) ? 'S' : ' ',
|
||||||
(di->addr_sec_info & WHC_DI_DISABLE) ? 'D' : ' ',
|
(di->addr_sec_info & WHC_DI_DISABLE) ? 'D' : ' ',
|
||||||
|
@ -49,14 +49,13 @@ static void wusbhc_rsv_complete_cb(struct uwb_rsv *rsv)
|
|||||||
struct wusbhc *wusbhc = rsv->pal_priv;
|
struct wusbhc *wusbhc = rsv->pal_priv;
|
||||||
struct device *dev = wusbhc->dev;
|
struct device *dev = wusbhc->dev;
|
||||||
struct uwb_mas_bm mas;
|
struct uwb_mas_bm mas;
|
||||||
char buf[72];
|
|
||||||
|
|
||||||
dev_dbg(dev, "%s: state = %d\n", __func__, rsv->state);
|
dev_dbg(dev, "%s: state = %d\n", __func__, rsv->state);
|
||||||
switch (rsv->state) {
|
switch (rsv->state) {
|
||||||
case UWB_RSV_STATE_O_ESTABLISHED:
|
case UWB_RSV_STATE_O_ESTABLISHED:
|
||||||
uwb_rsv_get_usable_mas(rsv, &mas);
|
uwb_rsv_get_usable_mas(rsv, &mas);
|
||||||
bitmap_scnprintf(buf, sizeof(buf), mas.bm, UWB_NUM_MAS);
|
dev_dbg(dev, "established reservation: %*pb\n",
|
||||||
dev_dbg(dev, "established reservation: %s\n", buf);
|
UWB_NUM_MAS, mas.bm);
|
||||||
wusbhc_bwa_set(wusbhc, rsv->stream, &mas);
|
wusbhc_bwa_set(wusbhc, rsv->stream, &mas);
|
||||||
break;
|
break;
|
||||||
case UWB_RSV_STATE_NONE:
|
case UWB_RSV_STATE_NONE:
|
||||||
|
@ -496,10 +496,9 @@ void wa_rpipes_destroy(struct wahc *wa)
|
|||||||
struct device *dev = &wa->usb_iface->dev;
|
struct device *dev = &wa->usb_iface->dev;
|
||||||
|
|
||||||
if (!bitmap_empty(wa->rpipe_bm, wa->rpipes)) {
|
if (!bitmap_empty(wa->rpipe_bm, wa->rpipes)) {
|
||||||
char buf[256];
|
|
||||||
WARN_ON(1);
|
WARN_ON(1);
|
||||||
bitmap_scnprintf(buf, sizeof(buf), wa->rpipe_bm, wa->rpipes);
|
dev_err(dev, "BUG: pipes not released on exit: %*pb\n",
|
||||||
dev_err(dev, "BUG: pipes not released on exit: %s\n", buf);
|
wa->rpipes, wa->rpipe_bm);
|
||||||
}
|
}
|
||||||
kfree(wa->rpipe_bm);
|
kfree(wa->rpipe_bm);
|
||||||
}
|
}
|
||||||
|
@ -496,11 +496,8 @@ static void __exit wusbcore_exit(void)
|
|||||||
{
|
{
|
||||||
clear_bit(0, wusb_cluster_id_table);
|
clear_bit(0, wusb_cluster_id_table);
|
||||||
if (!bitmap_empty(wusb_cluster_id_table, CLUSTER_IDS)) {
|
if (!bitmap_empty(wusb_cluster_id_table, CLUSTER_IDS)) {
|
||||||
char buf[256];
|
printk(KERN_ERR "BUG: WUSB Cluster IDs not released on exit: %*pb\n",
|
||||||
bitmap_scnprintf(buf, sizeof(buf), wusb_cluster_id_table,
|
CLUSTER_IDS, wusb_cluster_id_table);
|
||||||
CLUSTER_IDS);
|
|
||||||
printk(KERN_ERR "BUG: WUSB Cluster IDs not released "
|
|
||||||
"on exit: %s\n", buf);
|
|
||||||
WARN_ON(1);
|
WARN_ON(1);
|
||||||
}
|
}
|
||||||
usb_unregister_notify(&wusb_usb_notifier);
|
usb_unregister_notify(&wusb_usb_notifier);
|
||||||
|
@ -619,11 +619,9 @@ static void uwb_drp_handle_alien_drp(struct uwb_rc *rc, struct uwb_ie_drp *drp_i
|
|||||||
struct device *dev = &rc->uwb_dev.dev;
|
struct device *dev = &rc->uwb_dev.dev;
|
||||||
struct uwb_mas_bm mas;
|
struct uwb_mas_bm mas;
|
||||||
struct uwb_cnflt_alien *cnflt;
|
struct uwb_cnflt_alien *cnflt;
|
||||||
char buf[72];
|
|
||||||
unsigned long delay_us = UWB_MAS_LENGTH_US * UWB_MAS_PER_ZONE;
|
unsigned long delay_us = UWB_MAS_LENGTH_US * UWB_MAS_PER_ZONE;
|
||||||
|
|
||||||
uwb_drp_ie_to_bm(&mas, drp_ie);
|
uwb_drp_ie_to_bm(&mas, drp_ie);
|
||||||
bitmap_scnprintf(buf, sizeof(buf), mas.bm, UWB_NUM_MAS);
|
|
||||||
|
|
||||||
list_for_each_entry(cnflt, &rc->cnflt_alien_list, rc_node) {
|
list_for_each_entry(cnflt, &rc->cnflt_alien_list, rc_node) {
|
||||||
if (bitmap_equal(cnflt->mas.bm, mas.bm, UWB_NUM_MAS)) {
|
if (bitmap_equal(cnflt->mas.bm, mas.bm, UWB_NUM_MAS)) {
|
||||||
|
@ -217,7 +217,6 @@ static int reservations_print(struct seq_file *s, void *p)
|
|||||||
struct uwb_dev_addr devaddr;
|
struct uwb_dev_addr devaddr;
|
||||||
char owner[UWB_ADDR_STRSIZE], target[UWB_ADDR_STRSIZE];
|
char owner[UWB_ADDR_STRSIZE], target[UWB_ADDR_STRSIZE];
|
||||||
bool is_owner;
|
bool is_owner;
|
||||||
char buf[72];
|
|
||||||
|
|
||||||
uwb_dev_addr_print(owner, sizeof(owner), &rsv->owner->dev_addr);
|
uwb_dev_addr_print(owner, sizeof(owner), &rsv->owner->dev_addr);
|
||||||
if (rsv->target.type == UWB_RSV_TARGET_DEV) {
|
if (rsv->target.type == UWB_RSV_TARGET_DEV) {
|
||||||
@ -234,8 +233,7 @@ static int reservations_print(struct seq_file *s, void *p)
|
|||||||
owner, target, uwb_rsv_state_str(rsv->state));
|
owner, target, uwb_rsv_state_str(rsv->state));
|
||||||
seq_printf(s, " stream: %d type: %s\n",
|
seq_printf(s, " stream: %d type: %s\n",
|
||||||
rsv->stream, uwb_rsv_type_str(rsv->type));
|
rsv->stream, uwb_rsv_type_str(rsv->type));
|
||||||
bitmap_scnprintf(buf, sizeof(buf), rsv->mas.bm, UWB_NUM_MAS);
|
seq_printf(s, " %*pb\n", UWB_NUM_MAS, rsv->mas.bm);
|
||||||
seq_printf(s, " %s\n", buf);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mutex_unlock(&rc->rsvs_mutex);
|
mutex_unlock(&rc->rsvs_mutex);
|
||||||
@ -259,14 +257,10 @@ static const struct file_operations reservations_fops = {
|
|||||||
static int drp_avail_print(struct seq_file *s, void *p)
|
static int drp_avail_print(struct seq_file *s, void *p)
|
||||||
{
|
{
|
||||||
struct uwb_rc *rc = s->private;
|
struct uwb_rc *rc = s->private;
|
||||||
char buf[72];
|
|
||||||
|
|
||||||
bitmap_scnprintf(buf, sizeof(buf), rc->drp_avail.global, UWB_NUM_MAS);
|
seq_printf(s, "global: %*pb\n", UWB_NUM_MAS, rc->drp_avail.global);
|
||||||
seq_printf(s, "global: %s\n", buf);
|
seq_printf(s, "local: %*pb\n", UWB_NUM_MAS, rc->drp_avail.local);
|
||||||
bitmap_scnprintf(buf, sizeof(buf), rc->drp_avail.local, UWB_NUM_MAS);
|
seq_printf(s, "pending: %*pb\n", UWB_NUM_MAS, rc->drp_avail.pending);
|
||||||
seq_printf(s, "local: %s\n", buf);
|
|
||||||
bitmap_scnprintf(buf, sizeof(buf), rc->drp_avail.pending, UWB_NUM_MAS);
|
|
||||||
seq_printf(s, "pending: %s\n", buf);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user