USB: Some cleanup prior to USB 3.0 interface addition
Some cleanup in usb framework, nothing much on feature side. Signed-off-by: Vikas C Sajjan <vikas.sajjan@samsung.com> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
This commit is contained in:
committed by
Marek Vasut
parent
ceb4972a8f
commit
605bd75af5
+13
-8
@@ -348,6 +348,7 @@ static int usb_parse_config(struct usb_device *dev,
|
||||
struct usb_descriptor_header *head;
|
||||
int index, ifno, epno, curr_if_num;
|
||||
u16 ep_wMaxPacketSize;
|
||||
struct usb_interface *if_desc = NULL;
|
||||
|
||||
ifno = -1;
|
||||
epno = -1;
|
||||
@@ -375,23 +376,27 @@ static int usb_parse_config(struct usb_device *dev,
|
||||
&buffer[index])->bInterfaceNumber != curr_if_num) {
|
||||
/* this is a new interface, copy new desc */
|
||||
ifno = dev->config.no_of_if;
|
||||
if_desc = &dev->config.if_desc[ifno];
|
||||
dev->config.no_of_if++;
|
||||
memcpy(&dev->config.if_desc[ifno],
|
||||
&buffer[index], buffer[index]);
|
||||
dev->config.if_desc[ifno].no_of_ep = 0;
|
||||
dev->config.if_desc[ifno].num_altsetting = 1;
|
||||
memcpy(if_desc, &buffer[index], buffer[index]);
|
||||
if_desc->no_of_ep = 0;
|
||||
if_desc->num_altsetting = 1;
|
||||
curr_if_num =
|
||||
dev->config.if_desc[ifno].desc.bInterfaceNumber;
|
||||
if_desc->desc.bInterfaceNumber;
|
||||
} else {
|
||||
/* found alternate setting for the interface */
|
||||
dev->config.if_desc[ifno].num_altsetting++;
|
||||
if (ifno >= 0) {
|
||||
if_desc = &dev->config.if_desc[ifno];
|
||||
if_desc->num_altsetting++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case USB_DT_ENDPOINT:
|
||||
epno = dev->config.if_desc[ifno].no_of_ep;
|
||||
if_desc = &dev->config.if_desc[ifno];
|
||||
/* found an endpoint */
|
||||
dev->config.if_desc[ifno].no_of_ep++;
|
||||
memcpy(&dev->config.if_desc[ifno].ep_desc[epno],
|
||||
if_desc->no_of_ep++;
|
||||
memcpy(&if_desc->ep_desc[epno],
|
||||
&buffer[index], buffer[index]);
|
||||
ep_wMaxPacketSize = get_unaligned(&dev->config.\
|
||||
if_desc[ifno].\
|
||||
|
||||
Reference in New Issue
Block a user