diff options
Diffstat (limited to 'drivers/usb/usb-debug.c')
-rw-r--r-- | drivers/usb/usb-debug.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/drivers/usb/usb-debug.c b/drivers/usb/usb-debug.c index 86d08cd78..084afcf14 100644 --- a/drivers/usb/usb-debug.c +++ b/drivers/usb/usb-debug.c @@ -24,11 +24,18 @@ static void usb_show_interface(struct usb_interface_descriptor *interface) static void usb_show_config(struct usb_config_descriptor *config) { - int i; - - usb_show_config_descriptor(config); - for (i = 0 ; i < config->bNumInterfaces; i++) - usb_show_interface(config->interface + i); + int i, j; + struct usb_alternate_setting *as; + + usb_show_config_descriptor(config); + for (i = 0; i < config->num_altsetting; i++) { + as = config->altsetting + i; + if ((as) == NULL) + break; + printk("\n Alternate Setting: %d\n", i); + for (j = 0 ; j < config->bNumInterfaces; j++) + usb_show_interface(as->interface + j); + } } void usb_show_device(struct usb_device *dev) @@ -124,4 +131,8 @@ void usb_show_hub_descriptor(struct usb_hub_descriptor * desc) printk("\n"); } - +void usb_show_string(struct usb_device* dev, char *id, int index) +{ + if (index <= dev->maxstring && dev->stringindex && dev->stringindex[index]) + printk("%s: %s\n", id, dev->stringindex[index]); +} |