From patchwork Mon Apr 8 10:35:54 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vivek Gautam X-Patchwork-Id: 234729 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 832072C00CF for ; Mon, 8 Apr 2013 20:38:24 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 2AA024A31E; Mon, 8 Apr 2013 12:38:18 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nGuq4jFePF4V; Mon, 8 Apr 2013 12:38:17 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 1C8214A327; Mon, 8 Apr 2013 12:38:10 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id A578B4A31D for ; Mon, 8 Apr 2013 12:38:02 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OwfXAp8QY-hf for ; Mon, 8 Apr 2013 12:38:00 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mailout4.samsung.com (mailout4.samsung.com [203.254.224.34]) by theia.denx.de (Postfix) with ESMTP id 502D94A2F1 for ; Mon, 8 Apr 2013 12:38:00 +0200 (CEST) Received: from epcpsbgr1.samsung.com (u141.gpu120.samsung.co.kr [203.254.230.141]) by mailout4.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MKX00A7PMU51V11@mailout4.samsung.com> for u-boot@lists.denx.de; Mon, 08 Apr 2013 19:37:56 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.125]) by epcpsbgr1.samsung.com (EPCPMTA) with SMTP id 7A.49.20872.30E92615; Mon, 08 Apr 2013 19:37:56 +0900 (KST) X-AuditID: cbfee68d-b7f786d000005188-43-51629e03bf47 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id EF.1E.17838.30E92615; Mon, 08 Apr 2013 19:37:55 +0900 (KST) Received: from vivekkumarg-linuxpc.sisodomain.com ([107.108.214.169]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MKX008PGMUQGH60@mmp1.samsung.com>; Mon, 08 Apr 2013 19:37:55 +0900 (KST) From: Vivek Gautam To: u-boot@lists.denx.de Date: Mon, 08 Apr 2013 16:05:54 +0530 Message-id: <1365417358-31921-2-git-send-email-gautam.vivek@samsung.com> X-Mailer: git-send-email 1.7.6.5 In-reply-to: <1365417358-31921-1-git-send-email-gautam.vivek@samsung.com> References: <1365417358-31921-1-git-send-email-gautam.vivek@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpgkeLIzCtJLcpLzFFi42JZI2JSq8syLynQYOdjZosvCzrZLd60NTJa TDn8hcWiZe0BVotvW7YxWix/vZHd4u1eoOzNZ9uZHDg8ZjdcZPGYN+sEi8eCTaUed67tYfM4 e2cHo0ffllWMAWxRXDYpqTmZZalF+nYJXBm7XkxlKWhTr3i4cSFrA+MruS5GTg4JAROJ1Tdu skPYYhIX7q1n62Lk4hASWMoocePLIzaYoldTnjNCJBYxSuyZfIgFwpnCJDH12WEWkCo2AV2J pre7GEFsEQEJiV/9V8FsZoHFjBIXdtmC2MICvhJPj59gBrFZBFQlNq9ZANbLK+AhMXsmRFxC QEHize1nQDYHB6eAp8StmVIgYSGgko4T91lB9koIrGKXePXmDhvEHAGJb2AHcQAlZCU2HYAa IylxcMUNlgmMwgsYGVYxiqYWJBcUJ6UXGeoVJ+YWl+al6yXn525iBIb+6X/Pencw3j5gfYgx GWjcRGYp0eR8YOzklcQbGpsZWZiamBobmVuakSasJM6r1mIdKCSQnliSmp2aWpBaFF9UmpNa fIiRiYNTqoEx8FvXzVnHZXt3n47lOy9uejt/Shr/9N1iTQeVph45YmjmInBHQ0iq8zmjQV43 wwZ7HcUJkb9vLpzBE6T3+tyU19vKzlm1PDtUssKXbeb7Sbuyf+zgabkte0bpup5e75KDmsb1 M87y55y9snLGgcwWX/6NSjKz7txjT7x+7Ny/Q6zqFvWcyQ91lViKMxINtZiLihMBCOa2jZMC AAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrLIsWRmVeSWpSXmKPExsVy+t9jAV3meUmBBiemmFt8WdDJbvGmrZHR YsrhLywWLWsPsFp827KN0WL5643sFm/3AmVvPtvO5MDhMbvhIovHvFknWDwWbCr1uHNtD5vH 2Ts7GD36tqxiDGCLamC0yUhNTEktUkjNS85PycxLt1XyDo53jjc1MzDUNbS0MFdSyEvMTbVV cvEJ0HXLzAG6SEmhLDGnFCgUkFhcrKRvh2lCaIibrgVMY4Sub0gQXI+RARpIWMOYsevFVJaC NvWKhxsXsjYwvpLrYuTkkBAwkXg15TkjhC0mceHeerYuRi4OIYFFjBJ7Jh9igXCmMElMfXaY BaSKTUBXountLrAOEQEJiV/9V8FsZoHFjBIXdtmC2MICvhJPj59gBrFZBFQlNq9ZANbLK+Ah MXsmRFxCQEHize1nQDYHB6eAp8StmVIgYSGgko4T91knMPIuYGRYxSiaWpBcUJyUnmuoV5yY W1yal66XnJ+7iREcWc+kdjCubLA4xCjAwajEwyv5IzFQiDWxrLgy9xCjBAezkgiv+MykQCHe lMTKqtSi/Pii0pzU4kOMyUBHTWSWEk3OB0Z9Xkm8obGJuamxqaWJhYmZJWnCSuK8B1qtA4UE 0hNLUrNTUwtSi2C2MHFwSjUwnlvG4fqFq3PTiSnfHlua3pvGOyP7Y9lp8WOygksEv6XHcAY+ e7fsnGbg/YsvHuybl68yb06b2HdHKT0uPfmqzfdPPP7+8tHikhVrwz6pcAXXWm5fn3WF9W49 +7xdxdluf1Yac3Rt8WUPnLH9+yHmJxunWL4xy9ofZad7w1tPOZXfI3XZytQHT5RYijMSDbWY i4oTAW4rpgnwAgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Cc: marex@denx.de, u-boot-review@google.com, patches@linaro.org, rajeshwari.s@samsung.com, vikas.sajjan@samsung.com Subject: [U-Boot] [PATCH v2 1/5] USB: Some cleanup prior to USB 3.0 interface addition X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de Some cleanup in usb framework, nothing much on feature side. Signed-off-by: Vikas C Sajjan Signed-off-by: Vivek Gautam --- common/usb.c | 21 +++++++++++++-------- common/usb_storage.c | 30 ++++++++++++++++-------------- include/usb_defs.h | 2 +- 3 files changed, 30 insertions(+), 23 deletions(-) diff --git a/common/usb.c b/common/usb.c index 6fc0fc1..872d62f 100644 --- a/common/usb.c +++ b/common/usb.c @@ -360,6 +360,7 @@ static int usb_parse_config(struct usb_device *dev, int index, ifno, epno, curr_if_num; int i; u16 ep_wMaxPacketSize; + struct usb_interface *if_desc = NULL; ifno = -1; epno = -1; @@ -387,23 +388,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].\ diff --git a/common/usb_storage.c b/common/usb_storage.c index fb322b4..7115992 100644 --- a/common/usb_storage.c +++ b/common/usb_storage.c @@ -278,9 +278,9 @@ int usb_stor_scan(int mode) lun++) { usb_dev_desc[usb_max_devs].lun = lun; if (usb_stor_get_info(dev, &usb_stor[start], - &usb_dev_desc[usb_max_devs]) == 1) { - usb_max_devs++; - } + &usb_dev_desc[usb_max_devs]) == 1) { + usb_max_devs++; + } } } /* if storage device */ @@ -511,7 +511,7 @@ static int usb_stor_BBB_comdat(ccb *srb, struct us_data *us) dir_in = US_DIRECTION(srb->cmd[0]); #ifdef BBB_COMDAT_TRACE - printf("dir %d lun %d cmdlen %d cmd %p datalen %d pdata %p\n", + printf("dir %d lun %d cmdlen %d cmd %p datalen %lu pdata %p\n", dir_in, srb->lun, srb->cmdlen, srb->cmd, srb->datalen, srb->pdata); if (srb->cmdlen) { @@ -1218,6 +1218,7 @@ int usb_storage_probe(struct usb_device *dev, unsigned int ifnum, { struct usb_interface *iface; int i; + struct usb_endpoint_descriptor *ep_desc; unsigned int flags = 0; int protocol = 0; @@ -1300,24 +1301,25 @@ int usb_storage_probe(struct usb_device *dev, unsigned int ifnum, * We will ignore any others. */ for (i = 0; i < iface->desc.bNumEndpoints; i++) { + ep_desc = &iface->ep_desc[i]; /* is it an BULK endpoint? */ - if ((iface->ep_desc[i].bmAttributes & + if ((ep_desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_BULK) { - if (iface->ep_desc[i].bEndpointAddress & USB_DIR_IN) - ss->ep_in = iface->ep_desc[i].bEndpointAddress & - USB_ENDPOINT_NUMBER_MASK; + if (ep_desc->bEndpointAddress & USB_DIR_IN) + ss->ep_in = ep_desc->bEndpointAddress & + USB_ENDPOINT_NUMBER_MASK; else ss->ep_out = - iface->ep_desc[i].bEndpointAddress & + ep_desc->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK; } /* is it an interrupt endpoint? */ - if ((iface->ep_desc[i].bmAttributes & - USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT) { - ss->ep_int = iface->ep_desc[i].bEndpointAddress & - USB_ENDPOINT_NUMBER_MASK; - ss->irqinterval = iface->ep_desc[i].bInterval; + if ((ep_desc->bmAttributes & + USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT) { + ss->ep_int = ep_desc->bEndpointAddress & + USB_ENDPOINT_NUMBER_MASK; + ss->irqinterval = ep_desc->bInterval; } } USB_STOR_PRINTF("Endpoints In %d Out %d Int %d\n", diff --git a/include/usb_defs.h b/include/usb_defs.h index 9502544..0c78d9d 100644 --- a/include/usb_defs.h +++ b/include/usb_defs.h @@ -234,7 +234,7 @@ #define HUB_CHAR_OCPM 0x0018 /* - *Hub Status & Hub Change bit masks + * Hub Status & Hub Change bit masks */ #define HUB_STATUS_LOCAL_POWER 0x0001 #define HUB_STATUS_OVERCURRENT 0x0002