From patchwork Wed Mar 27 09:29:03 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vivek Gautam X-Patchwork-Id: 231634 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 52BDF2C0099 for ; Wed, 27 Mar 2013 20:33:15 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 04AC04A08D; Wed, 27 Mar 2013 10:33:07 +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 c+sqValymC2y; Wed, 27 Mar 2013 10:33:06 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 327554A0BB; Wed, 27 Mar 2013 10:33:00 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 9E1804A0A8 for ; Wed, 27 Mar 2013 10:32:54 +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 quzjZzQIu6oD for ; Wed, 27 Mar 2013 10:32:53 +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 mailout3.samsung.com (mailout3.samsung.com [203.254.224.33]) by theia.denx.de (Postfix) with ESMTP id 4753A4A0C3 for ; Wed, 27 Mar 2013 10:32:38 +0100 (CET) Received: from epcpsbgr4.samsung.com (u144.gpu120.samsung.co.kr [203.254.230.144]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MKB00AOWBT44UL0@mailout3.samsung.com> for u-boot@lists.denx.de; Wed, 27 Mar 2013 18:32:38 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.126]) by epcpsbgr4.samsung.com (EPCPMTA) with SMTP id 8B.6A.02019.6BCB2515; Wed, 27 Mar 2013 18:32:38 +0900 (KST) X-AuditID: cbfee690-b7f656d0000007e3-6b-5152bcb6ad83 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 5A.E7.17838.5BCB2515; Wed, 27 Mar 2013 18:32:38 +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:32:37 +0900 (KST) From: Vivek Gautam To: u-boot@lists.denx.de Date: Wed, 27 Mar 2013 14:59:03 +0530 Message-id: <1364376543-7526-8-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+NgFvrJLMWRmVeSWpSXmKPExsWyRsSkTnfbnqBAg+evuC2+LOhkt3jT1sho MeXwFxaLlrUHWC2+bdnGaPF2L1Di5rPtTA7sHrMbLrJ4zJt1gsXjzrU9bB5n7+xg9Ojbsoox gDWKyyYlNSezLLVI3y6BK+P72ofMBTPlKp5O/83UwLhRoouRk0NCwETi26XrTBC2mMSFe+vZ uhi5OIQEljJK/O27wAhT1LvjEitEYjqjxNpLH9ghnClMErdnbWMBqWIT0JVoersLrENEQELi V/9VRpAiZoF2RonNG2ezgSSEBYIljq6cyQxiswioSsxfMZcVxOYVcJeY2TCbFWKdgsSb28/A ajgFPCRmvJoGtkAIqObQuT1gQyUE5rFLrO14wAoxSEDi2+RDQEUcQAlZiU0HmCHmSEocXHGD ZQKj8AJGhlWMoqkFyQXFSelFJnrFibnFpXnpesn5uZsYgcF++t+zCTsY7x2wPsSYDDRuIrOU aHI+MFrySuINjc2MLExNTI2NzC3NSBNWEudVb7EOFBJITyxJzU5NLUgtii8qzUktPsTIxMEp 1cBo67v24LdNeSK7l+yvv2I2OeQN54x9bR1aG+9lbtNUu2FWGiMap8R7ZdbJuTvD/y7VSZjp xcV668FuHevlzuJe6bf6vnMcq4+QijR2m7Y8q8XhmkTsW26Jvc4K727dM1K8oXydfdW84CP6 4r9DVG3Y7b5u96g65Pb8zM7uq58veb9hSDA2NLymxFKckWioxVxUnAgAW+94AowCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrGIsWRmVeSWpSXmKPExsVy+t9jQd1te4ICDX7vZLb4sqCT3eJNWyOj xZTDX1gsWtYeYLX4tmUbo8XbvUCJm8+2Mzmwe8xuuMjiMW/WCRaPO9f2sHmcvbOD0aNvyyrG ANaoBkabjNTElNQihdS85PyUzLx0WyXv4HjneFMzA0NdQ0sLcyWFvMTcVFslF58AXbfMHKBD lBTKEnNKgUIBicXFSvp2mCaEhrjpWsA0Ruj6hgTB9RgZoIGENYwZ39c+ZC6YKVfxdPpvpgbG jRJdjJwcEgImEr07LrFC2GISF+6tZ+ti5OIQEpjOKLH20gd2CGcKk8TtWdtYQKrYBHQlmt7u YgSxRQQkJH71X2UEKWIWaGeU2LxxNhtIQlggWOLoypnMIDaLgKrE/BVzwVbwCrhLzGyYDbVO QeLN7WdgNZwCHhIzXk0DWyAEVHPo3B7GCYy8CxgZVjGKphYkFxQnpeca6hUn5haX5qXrJefn bmIEx9IzqR2MKxssDjEKcDAq8fDOYAgKFGJNLCuuzD3EKMHBrCTC+2IFUIg3JbGyKrUoP76o NCe1+BBjMtBVE5mlRJPzgXGeVxJvaGxibmpsamliYWJmSZqwkjjvgVbrQCGB9MSS1OzU1ILU IpgtTBycUg2MSzb80RX+9V7R8trzqWXvkgzCSzcdXe//Of0Sr/Abs8sHI2MPVfR6dnzcbltl 8vNRduP9T0xz7FJku9h2LpTv8dH6Z7Ls6PXfa9gTL1Tvm/Hprm7P4fjbNt8uKHCun/6LXc0p 9gTv7r4qvw7VnOysbWKakyprdzbyfKmfIDbRtNrweIh2g1+wEktxRqKhFnNRcSIArSNO4ukC AAA= 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 7/7] usb: eth: Fix for updated usb interface descriptor structure 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 Now usb interface structure doesn't contain the Ep descriptor directly, in fact it contains a pointer to 'usb_ep_desc' structure which contains the Ep descriptor. So updating the usb-eth drivers accordingly. Signed-off-by: Vivek Gautam --- drivers/usb/eth/asix.c | 14 ++++++++------ drivers/usb/eth/smsc95xx.c | 24 ++++++++++++------------ 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/drivers/usb/eth/asix.c b/drivers/usb/eth/asix.c index 75ec8f7..42e98f1 100644 --- a/drivers/usb/eth/asix.c +++ b/drivers/usb/eth/asix.c @@ -611,6 +611,7 @@ int asix_eth_probe(struct usb_device *dev, unsigned int ifnum, { struct usb_interface *iface; struct usb_interface_descriptor *iface_desc; + struct usb_endpoint_descriptor *ep_desc; int ep_in_found = 0, ep_out_found = 0; int i; @@ -652,10 +653,11 @@ int asix_eth_probe(struct usb_device *dev, unsigned int ifnum, * int. We will ignore any others. */ for (i = 0; i < iface_desc->bNumEndpoints; i++) { + ep_desc = &iface->ep_desc[i].ep_desc; /* is it an BULK endpoint? */ - if ((iface->ep_desc[i].bmAttributes & + if ((ep_desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_BULK) { - u8 ep_addr = iface->ep_desc[i].bEndpointAddress; + u8 ep_addr = ep_desc->bEndpointAddress; if (ep_addr & USB_DIR_IN) { if (!ep_in_found) { ss->ep_in = ep_addr & @@ -672,11 +674,11 @@ int asix_eth_probe(struct usb_device *dev, unsigned int ifnum, } /* is it an interrupt endpoint? */ - if ((iface->ep_desc[i].bmAttributes & + if ((ep_desc->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; + ss->ep_int = ep_desc->bEndpointAddress & + USB_ENDPOINT_NUMBER_MASK; + ss->irqinterval = ep_desc->bInterval; } } debug("Endpoints In %d Out %d Int %d\n", diff --git a/drivers/usb/eth/smsc95xx.c b/drivers/usb/eth/smsc95xx.c index fd8f8a7..3f58c89 100644 --- a/drivers/usb/eth/smsc95xx.c +++ b/drivers/usb/eth/smsc95xx.c @@ -807,6 +807,7 @@ int smsc95xx_eth_probe(struct usb_device *dev, unsigned int ifnum, { struct usb_interface *iface; struct usb_interface_descriptor *iface_desc; + struct usb_endpoint_descriptor *ep_desc; int i; /* let's examine the device now */ @@ -837,25 +838,24 @@ int smsc95xx_eth_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].ep_desc; /* 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 & - USB_ENDPOINT_NUMBER_MASK; + ss->ep_out = ep_desc->bEndpointAddress & + USB_ENDPOINT_NUMBER_MASK; } /* is it an interrupt endpoint? */ - if ((iface->ep_desc[i].bmAttributes & + if ((ep_desc->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; + ss->ep_int = ep_desc->bEndpointAddress & + USB_ENDPOINT_NUMBER_MASK; + ss->irqinterval = ep_desc->bInterval; } } debug("Endpoints In %d Out %d Int %d\n",