From patchwork Wed Mar 27 09:28:57 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vivek Gautam X-Patchwork-Id: 231628 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 25F8A2C00A4 for ; Wed, 27 Mar 2013 20:31:39 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 930644A04E; Wed, 27 Mar 2013 10:31:36 +0100 (CET) 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 S-tbv5rfJRX5; Wed, 27 Mar 2013 10:31:36 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id C28E74A098; Wed, 27 Mar 2013 10:31:33 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 4E93F4A0A5 for ; Wed, 27 Mar 2013 10:31:31 +0100 (CET) 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 bK4WwIm4H3mi for ; Wed, 27 Mar 2013 10:31:30 +0100 (CET) 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 mailout1.samsung.com (mailout1.samsung.com [203.254.224.24]) by theia.denx.de (Postfix) with ESMTP id 6D5104A0A2 for ; Wed, 27 Mar 2013 10:31:25 +0100 (CET) Received: from epcpsbgr2.samsung.com (u142.gpu120.samsung.co.kr [203.254.230.142]) by mailout1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MKB00EHPBSBA3J0@mailout1.samsung.com> for u-boot@lists.denx.de; Wed, 27 Mar 2013 18:31:23 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.123]) by epcpsbgr2.samsung.com (EPCPMTA) with SMTP id 62.CC.07735.B6CB2515; Wed, 27 Mar 2013 18:31:23 +0900 (KST) X-AuditID: cbfee68e-b7f946d000001e37-16-5152bc6b4f69 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id F8.A7.17838.B6CB2515; Wed, 27 Mar 2013 18:31:23 +0900 (KST) Received: from vivekkumarg-linuxpc.sisodomain.com ([107.108.214.169]) by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MKB00C14BRFI6F0@mmp2.samsung.com>; Wed, 27 Mar 2013 18:31:23 +0900 (KST) From: Vivek Gautam To: u-boot@lists.denx.de Date: Wed, 27 Mar 2013 14:58:57 +0530 Message-id: <1364376543-7526-2-git-send-email-gautam.vivek@samsung.com> X-Mailer: git-send-email 1.7.6.5 In-reply-to: <1364376543-7526-1-git-send-email-gautam.vivek@samsung.com> References: <1364376543-7526-1-git-send-email-gautam.vivek@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrBLMWRmVeSWpSXmKPExsWyRsSkWjd7T1CgwaFLUhZfFnSyW7xpa2S0 mHL4C4tFy9oDrBbftmxjtHi7Fyhx89l2Jgd2j9kNF1k85s06weJx59oeNo+zd3YwevRtWcUY wBrFZZOSmpNZllqkb5fAlfFvyhPmgrtqFR/2H2NvYLwu18XIySEhYCIxu/kaO4QtJnHh3nq2 LkYuDiGBpYwSPbMussEULd43GcwWEpjOKHFurRdE0RQmiQUTXzGDJNgEdCWa3u5iBLFFBCQk fvVfZQQpYhZoZ5TYvHE2WLewgJfE8RcbWUBsFgFViQ+zHoGt5hVwlzj39xkTxDYFiTe3n4EN 5RTwkJjxahoLxGZ3iUPn9oANlRBYxC4x6dg5qEECEt8mHwKyOYASshKbDjBDzJGUOLjiBssE RuEFjAyrGEVTC5ILipPSi4z0ihNzi0vz0vWS83M3MQJD/fS/Z307GG8esD7EmAw0biKzlGhy PjBW8kriDY3NjCxMTUyNjcwtzUgTVhLnVWuxDhQSSE8sSc1OTS1ILYovKs1JLT7EyMTBKdXA mLGiWCgtN9VqWcQvrv1ROXsM6xZxeUhcUWu3WB3pdfPLybpn925PypwybVJy+LITstazFq53 OlT4VfLfaol7KUwfAvbnsnaZdJ6aNtl2/8fzGqeN+k5ksiukK6dznLYo23VCmpux1EnprK5x o9jkeYsP6qzSPfxH4THD8rSoG2EO6dwGjq/SlViKMxINtZiLihMBRgpjXYsCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrKIsWRmVeSWpSXmKPExsVy+t9jQd3sPUGBBq8WClh8WdDJbvGmrZHR YsrhLywWLWsPsFp827KN0eLtXqDEzWfbmRzYPWY3XGTxmDfrBIvHnWt72DzO3tnB6NG3ZRVj AGtUA6NNRmpiSmqRQmpecn5KZl66rZJ3cLxzvKmZgaGuoaWFuZJCXmJuqq2Si0+ArltmDtAh SgpliTmlQKGAxOJiJX07TBNCQ9x0LWAaI3R9Q4LgeowM0EDCGsaMf1OeMBfcVav4sP8YewPj dbkuRk4OCQETicX7JrNB2GISF+6tB7OFBKYzSpxb69XFyAVkT2GSWDDxFTNIgk1AV6Lp7S5G EFtEQELiV/9VRpAiZoF2RonNG2eDdQsLeEkcf7GRBcRmEVCV+DDrETuIzSvgLnHu7zMmiG0K Em9uPwMbyingITHj1TQWiM3uEofO7WGcwMi7gJFhFaNoakFyQXFSeq6hXnFibnFpXrpecn7u JkZwJD2T2sG4ssHiEKMAB6MSD+8MhqBAIdbEsuLK3EOMEhzMSiK8L1YAhXhTEiurUovy44tK c1KLDzEmA101kVlKNDkfGOV5JfGGxibmpsamliYWJmaWpAkrifMeaLUOFBJITyxJzU5NLUgt gtnCxMEp1cAou/rdvfUcW37qXZw96U949Q87w4PnZ0ts0OYy/5/ddnzCsqZJO3asNHl697Zg pWW8ca34RI3mbTsXzns44ZLjreb22fIsXLEvzW5kTF3Lf/FqrMmebel7FbY8q9jv8HTXlHxh k8OJ849M3XNv20HfKunMIO+Lpe1qh5cezFh9Pv+KVvKNLaZHJimxFGckGmoxFxUnAgDvGRmI 6AIAAA== DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Cc: marex@denx.de, patches@linaro.org, rajeshwari.s@samsung.com, vikas.sajjan@samsung.com Subject: [U-Boot] [PATCH 1/7] 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 | 18 ++++++++++-------- common/usb_storage.c | 30 ++++++++++++++++-------------- include/usb_defs.h | 2 +- 3 files changed, 27 insertions(+), 23 deletions(-) diff --git a/common/usb.c b/common/usb.c index 6fc0fc1..40c1547 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,24 @@ 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_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..475c218 100644 --- a/common/usb_storage.c +++ b/common/usb_storage.c @@ -278,10 +278,10 @@ 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 */ if (usb_max_devs == USB_MAX_STOR_DEV) { @@ -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