Lines Matching refs:config

415 int usb_parse_configuration(struct usb_device *dev, struct usb_host_config *config, char *buffer)  in usb_parse_configuration()  argument
421 memcpy(&config->desc, buffer, USB_DT_CONFIG_SIZE); in usb_parse_configuration()
422 config->desc.wTotalLength = LE16ToCPU(config->desc.wTotalLength); in usb_parse_configuration()
423 size = config->desc.wTotalLength; in usb_parse_configuration()
428 if (config->desc.bNumInterfaces > USB_MAXINTERFACES) { in usb_parse_configuration()
433 for (i = 0; i < config->desc.bNumInterfaces; ++i) { in usb_parse_configuration()
434config->interface[i] = (struct usb_interface *) kmalloc(sizeof(struct usb_interface), GFP_KERNEL); in usb_parse_configuration()
435 dbg("kmalloc IF %p, numif %i", config->interface[i], i); in usb_parse_configuration()
436 if (!config->interface[i]) { in usb_parse_configuration()
441 memset(config->interface[i], 0x00, sizeof(struct usb_interface)); in usb_parse_configuration()
444 buffer += config->desc.bLength; in usb_parse_configuration()
445 size -= config->desc.bLength; in usb_parse_configuration()
447 config->extra = NULL; in usb_parse_configuration()
448 config->extralen = 0; in usb_parse_configuration()
450 for (i = 0; i < config->desc.bNumInterfaces; i++) { in usb_parse_configuration()
489 if (config->extralen) { in usb_parse_configuration()
492 config->extra = (unsigned char*) kmalloc(len, GFP_KERNEL); in usb_parse_configuration()
493 if (!config->extra) { in usb_parse_configuration()
495 config->extralen = 0; in usb_parse_configuration()
499 memcpy(config->extra, begin, len); in usb_parse_configuration()
500 config->extralen = len; in usb_parse_configuration()
504 retval = usb_parse_interface(dev, config->interface[i], (unsigned char*) buffer, size); in usb_parse_configuration()
515 kfree(config->interface[i]); in usb_parse_configuration()
523 if (!dev->config) in usb_destroy_configuration()
534 struct usb_host_config *cf = &dev->config[c]; in usb_destroy_configuration()
544 kfree(dev->config); in usb_destroy_configuration()
567 dev->config = (struct usb_host_config *) in usb_get_configuration()
570 if (!dev->config) { in usb_get_configuration()
574 memset(dev->config, 0, dev->descriptor.bNumConfigurations * in usb_get_configuration()
634 result = usb_parse_configuration(dev, &dev->config[cfgno], (char*) bigbuffer); in usb_get_configuration()