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: 15683 Return-Path: X-Original-To: patchwork@peony.canonical.com Delivered-To: patchwork@peony.canonical.com Received: from fiordland.canonical.com (fiordland.canonical.com [91.189.94.145]) by peony.canonical.com (Postfix) with ESMTP id 5AB7023E10 for ; Wed, 27 Mar 2013 09:32:41 +0000 (UTC) Received: from mail-ve0-f178.google.com (mail-ve0-f178.google.com [209.85.128.178]) by fiordland.canonical.com (Postfix) with ESMTP id F0A73A180F9 for ; Wed, 27 Mar 2013 09:32:40 +0000 (UTC) Received: by mail-ve0-f178.google.com with SMTP id db10so2672682veb.37 for ; Wed, 27 Mar 2013 02:32:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:x-forwarded-to:x-forwarded-for:delivered-to:x-received :received-spf:x-auditid:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references:x-brightmail-tracker:x-brightmail-tracker :dlp-filter:x-mtr:x-cfilter-loop:x-gm-message-state; bh=YkApNQUYXbpjn3+zwyAJNCDqQ6SbqgrSdSbqvWwEwNg=; b=Q8sgodFviJncofwmp6vSL3mw4xsmLOj7/GZavvPdYsnhR1v711EQ0DnC2qtyrGq0hn QBzRc/I3v0hyystiuL2ukhDpwjf137jn6ovvHxP8LYtsJeBdjGox9z/y1Qh/CqwHeft0 QJIz5MiID6h12M1djr1D5SbHpujcc8HLWeVfkwdn5EVY3dIANmwLNl/tqFQNvNphbMcJ ACRbrx7VEUoNPeBE/ZFU0NEbMqtNGMGSRhus5lkMBCySsV1R3IaJjYb8z1tMKWi+P2Yy XwxbTy4FSDbtEN44icw+bB6IZfPah01zmP8xw14X8/qR532VDQnlL3jYNjBDoRJsLaVy JkqA== X-Received: by 10.58.224.101 with SMTP id rb5mr22736683vec.17.1364376760498; Wed, 27 Mar 2013 02:32:40 -0700 (PDT) X-Forwarded-To: linaro-patchwork@canonical.com X-Forwarded-For: patch@linaro.org linaro-patchwork@canonical.com Delivered-To: patches@linaro.org Received: by 10.59.4.204 with SMTP id cg12csp107613ved; Wed, 27 Mar 2013 02:32:39 -0700 (PDT) X-Received: by 10.68.243.98 with SMTP id wx2mr28484929pbc.68.1364376759586; Wed, 27 Mar 2013 02:32:39 -0700 (PDT) Received: from mailout3.samsung.com (mailout3.samsung.com. [203.254.224.33]) by mx.google.com with ESMTP id zo5si21112630pbc.282.2013.03.27.02.32.38; Wed, 27 Mar 2013 02:32:39 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of gautam.vivek@samsung.com designates 203.254.224.33 as permitted sender) client-ip=203.254.224.33; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of gautam.vivek@samsung.com designates 203.254.224.33 as permitted sender) smtp.mail=gautam.vivek@samsung.com 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 patches@linaro.org; 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 Cc: patches@linaro.org, marex@denx.de, sjg@chromium.org, rajeshwari.s@samsung.com, vikas.sajjan@samsung.com, amarendra.xt@samsung.com Subject: [PATCH 7/7] usb: eth: Fix for updated usb interface descriptor structure 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 X-Gm-Message-State: ALoCoQlaHimZnzEFUptX59IcqIMleMAFnU68dCX6VLTFCG2Yaz9Y5JKfnMFEQC3Ho8k49p8hXkb/ 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",