From patchwork Fri Jan 8 05:44:24 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Chen X-Patchwork-Id: 7982761 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 11AE49F54F for ; Fri, 8 Jan 2016 05:49:11 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 3EA8720142 for ; Fri, 8 Jan 2016 05:49:10 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 623AF2013D for ; Fri, 8 Jan 2016 05:49:09 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1aHPtY-0003NM-Gi; Fri, 08 Jan 2016 05:47:28 +0000 Received: from mail-by2on0114.outbound.protection.outlook.com ([207.46.100.114] helo=na01-by2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1aHPtK-0003Kf-RN for linux-arm-kernel@lists.infradead.org; Fri, 08 Jan 2016 05:47:16 +0000 Received: from BN3PR0301CA0018.namprd03.prod.outlook.com (10.160.180.156) by CY1PR0301MB1993.namprd03.prod.outlook.com (10.164.2.11) with Microsoft SMTP Server (TLS) id 15.1.365.19; Fri, 8 Jan 2016 05:46:51 +0000 Received: from BY2FFO11FD050.protection.gbl (2a01:111:f400:7c0c::146) by BN3PR0301CA0018.outlook.office365.com (2a01:111:e400:4000::28) with Microsoft SMTP Server (TLS) id 15.1.361.13 via Frontend Transport; Fri, 8 Jan 2016 05:46:51 +0000 Authentication-Results: spf=permerror (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; freescale.mail.onmicrosoft.com; dmarc=none action=none header.from=freescale.com; Received-SPF: PermError (protection.outlook.com: domain of freescale.com used an invalid SPF mechanism) Received: from tx30smr01.am.freescale.net (192.88.168.50) by BY2FFO11FD050.mail.protection.outlook.com (10.1.15.187) with Microsoft SMTP Server (TLS) id 15.1.355.15 via Frontend Transport; Fri, 8 Jan 2016 05:46:50 +0000 Received: from shlinux2.ap.freescale.net (shlinux2.ap.freescale.net [10.192.224.44]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u085kahn029292; Thu, 7 Jan 2016 22:46:46 -0700 From: Peter Chen To: , Subject: [RFC PATCH 2/2] usb: Example for how to use device node at usb device driver Date: Fri, 8 Jan 2016 13:44:24 +0800 Message-ID: <1452231864-11171-3-git-send-email-peter.chen@freescale.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1452231864-11171-1-git-send-email-peter.chen@freescale.com> References: <1452231864-11171-1-git-send-email-peter.chen@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD050; 1:Gl5cIXUe1t0QDP8RhtaCyYl//i9SlshKQu9k/WSmDC5/A48kbJLaAn5vbV7pMYsI7EQSornwEkKJhKQD2MYdX+pn2hdcqNsnlq8FOD6R884VYDzF5IK6BOD6JPmpRV7nxm9cLPppw+8O8O9xA7jbzDFsGAkuQJAytmAI6hzaVYxMSfm8tvsS+bkxmSYhhLHfffxtisndNRNZ9wrAwUSyXl6PTFxdsBByAMssPuS8DUjrZnCJUAml9Rexbg1kQrFBFJQlWUMFEO60Wk2hKeW2Lu3w/f/qaWZXPKtDEZI8ZyP3KZ/M7LztgYBzLNX9JtnFWgj4cT1MPBwEUpPa0k/GBhcuv7rmBgBf06CV2E/lHRZ2mK05RNgNE6/flLT/7OUl8HsuN3A9UbDWxUbTXRGlJav4mT4TV1ifzRNmF2R3GEMqutcHOsTn61+U80WIWom1nm6KjJh8TzhqnMCjWQTXEw== X-Forefront-Antispam-Report: CIP:192.88.168.50; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(448002)(3190300001)(189002)(199003)(92566002)(1220700001)(1096002)(48376002)(229853001)(586003)(47776003)(106466001)(76176999)(2906002)(6806005)(85326001)(104016004)(86362001)(575784001)(5008740100001)(33646002)(189998001)(87936001)(107886002)(5001960100002)(2171001)(81156007)(19580395003)(11100500001)(5001770100001)(19580405001)(50986999)(97736004)(36756003)(5003940100001)(50466002)(2950100001)(4326007)(4001430100002)(77096005)(50226001)(217873001); DIR:OUT; SFP:1102; SCL:1; SRVR:CY1PR0301MB1993; H:tx30smr01.am.freescale.net; FPR:; SPF:PermError; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1993; 2:ERcLPnFAwlFV6u7/2gjqEvqHVGmz/T+8CP2TJgonbK1qebqq/7wimWdsqtCwW5aBNfP4Sj3p3iN921gsWFhY539NETRSsyp3gqG3IWBuyYo9rg5FO14flD7002fae6AX+tscdjyGWYpCg6CAAL5xvg==; 3:OLDXzBzIXzYHTj8/S8N69Xqhu8J/kT8cbcloH9KgH+rtOphsUDIxjgepkdb9PyneMLptmKjhTgv76E3d+ebcDW2kNIX6gv4pbi022F0RqgzlF2YcpYJRi9We/VqIYEXZoCX+Us+85/tgylIIKQQLO0yFMJUUi+oYa1NF6JbUiC1l0wzQrbEN3MNweooOz5QfQdxzFajsolZrstKk0GpUnqB5WFATQ0rGMtr5dDTJKhg=; 25:I1x3Qi+yog0EE14QMhynJPxWj//L9y+f/a89aYpnh/CiRZT2Tp1HR38Lf4oae6FOI8/7LqDYYuqKSMlpTMMETlEIhIvvxxzbej9MSIIKqTvg/t+Q1BC5e9RAuqQSSlU2/JkBt13vOdUYNkepmjol+h8TZAtcsElC+M7oqox8M3FImbKDCNUVRARR8VZ3JtZEFM/THAdqq86LqStIHs9RSbzQKWbQm3LrywXGkDRPcwQ+BuxiZLA9JbbJ55/ZXfnh X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1993; X-MS-Office365-Filtering-Correlation-Id: 9d1bd7bb-2b65-41db-bba6-08d317ef1b27 X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1993; 20:iv1PWSOM43vTpvJLz+9xz8w5lydgWYVVUciL3I55DwW85T736CAhz9cSGdd+w+VoCxwHR9kUlETqn+Vqcr7y7x6G5H1R2G3ZW/Hspn56zZDFAciNOJYRaMmVGN5o7t/rnbufAF7b+HQb5ZC6kqFzOL0wHqK+4SxLImfHfbKGHy8LzHmhwPcaB804aHADzEGkFZ7A6oxADCYtPOOMwhq+rxE+x77Zgc9M52EMeqmu3FKYxFwdmBym/tBP0evTQLcnJdxGoo+Fw8TQrCF1SFW8hUVE3Ls6d6aaIizvCQ9d1P5EG4+kBPPuhmxFRb8k2e5hDqRrHYlRvA6d2znSMXOtrNg4O73NIW+kUYE04NO5nDtc8ly3VFnxcC8z6BQUjo6B/BfPIZfCe6sWkWpgloG9ZOoWP+LYyBAiTrqJWzpsBKKQJSfQPOZTY72yHWmc7qRC; 4:856BhM4dy+7XsOdnFPWy1qJ+E51PrVKTisdsY2oPsrsLhh0/u/fe3B9TcnAnhmddszvi/9VplHJL7Gz8Q3aOkYxrobATCRK/p4/5NAEyjrWS9iZ2xMVdAtSTlDbvuy8ILQ0xu5R+6XYQKG2+FAgx39mxCQjDOgDX2wco8MsL4MuF9ObMp/IUF+7nFfnzTpp0OOlVuxKrS1IP5gjG/XzlD1jz68oyXIKkfW4ZJEWrViXC4JlWxRETOa35jGtncmJtWdQqTne5XsPdH9yxqy3X3laGv3neUhw0cINc0HDw1vFTIcKz16fklIslqHFx0tdgj6KBwvY9tFn8/9EormMBPN/o0gYQeAKJpBnjpzRH4m/+etGnROg96E7qYVelKbHAlihqNKlYr01RMVRBg5AsoZlxmdkp9elQuc2slsLj2M/PKnmv1dF/laD19/9+1wY8wJ56pN4QKWUnMFHfYm+Plg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(13017025)(13015025)(520078)(8121501046)(3002001)(10201501046); SRVR:CY1PR0301MB1993; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0301MB1993; X-Forefront-PRVS: 0815F8251E X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB1993; 23:Yw0QrXAZYypJkcIv4K5sLhpb8sXH4JIFRhxVdJz?= =?us-ascii?Q?nVzlmbIbQkenKa2bOlvnqHGPmnAFw+9J56lCpSNQohgXYg2ZN51AVBT2JB0a?= =?us-ascii?Q?cpV6ZL1+rwUoUoOnYxZYOwmiHA0FoA/xDkKC/VFnhUIVp3IHea8FECMTuNPh?= =?us-ascii?Q?MMFks82qgu+Zd6t3TJVbOdCx+d+ZBbgR5VMNn1pX+apnC2c7llZzLDalzW7K?= =?us-ascii?Q?wEWlyEiuamsGOkp7GEX+Qa3orvvUSoMsevmTdqhH+Qvid8MRusayuylKhMuD?= =?us-ascii?Q?lAuUQfnSOZbtsg2r09tY7KEpFUEM886DRiyMxLacp/AVgech+h7v19T5ETSD?= =?us-ascii?Q?9bgdsagyCW1uZSSaD3LP3hvfWD1o+BjYvfqArRFzFAWCwvUsXFIkM6o9749f?= =?us-ascii?Q?iUHxqT6FMdwdxTXMmmKT8iexcR0+tbCMnV+fn9QaWnrNixvLvVOyI2C++vPf?= =?us-ascii?Q?RJ2Hs5P3z3qiIVJkN4TnghyzGtwgAFSz4L28YaUnzzzp6TqQiDH7UGsykPul?= =?us-ascii?Q?EwKVzCgGjViszPKlvR2DAdITe5e6iqyXdPdaCY1odggxrgExXv0+KlJ3iJwH?= =?us-ascii?Q?JSsV4yEBMsMoJceLRql4MAy6jhg8n7NJPvZRt+Kx2+A+/SAdaL4alwQPyrbF?= =?us-ascii?Q?E8tnx3+vJaszIl+yGXfZZh0EBhT4+SfWpRqX3lVycMV9yDJB+oXzUNq3gSRQ?= =?us-ascii?Q?e5xfygbAAFXC0fR8jr5hnYI2yHhzMH5GoECeCPBuOnoUlr/OC7YDDQWAn2Ho?= =?us-ascii?Q?C0kkrHcHeqV3OzaE08AaB7mfaL/+Z4XdswynQtlUipwwZq18xSqCaPtmn2UW?= =?us-ascii?Q?glHEyMO2W86xhh/7tGhGK1rZaQt4jCAZ28d+aTmenFDBnxc+YMA0UJQPlYcy?= =?us-ascii?Q?Nyn6TqVFs+mfEMerKaw/WJ1pBJ8qNvBe1BHnV5mQ1oVx5gvIByC2XXq46CJg?= =?us-ascii?Q?brgfbW9tZJXwjz2JFIDK9V4yTYorjQZU26eKFpNMt+sMY6GlMytOzqMBjpDp?= =?us-ascii?Q?emwNGyzVlbcudZqZ3VlckDAvqzMyUrYLpVDegtgzTvYOE3X4Mv1lv5SVVf7s?= =?us-ascii?Q?nQMkOwWBptTM0HyHnfVdbojLpS8jYS8N0thX792+RO/21C9Gfr2w/wIDJn0e?= =?us-ascii?Q?E2ThvXIcz4LRaZZdG8pMbigXu+DCk/wKz8ZAKN0GdEthOsZdPWbW21w=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1993; 5:NEhJRlhkttVGSmeK2STuYeHmEAfZDv80FnQb4hzLuEmGKjIvpUenL6AtxyqIeGlwf6ARLZvq5GI+IGDYQU9l3d5wRMQy20YuVvGo5gFSNGcPvhGnobfWtBmR2T76rJHTrcIZN8Pxsl/8Kr/3Jap2Dg==; 24:7IaJ0VU1UQcmUm4PweThdG6l5khxjsW7dKFMR8kdVUM+e2dgT8SzCdCTyisSAGs5OoqP+GzGzylG3/zj2VmtWYtP7bA3Sf/LpOQhwr3sGpM= X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jan 2016 05:46:50.7711 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB1993 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160107_214715_050534_563AB45F X-CRM114-Status: GOOD ( 15.55 ) X-Spam-Score: -1.9 (-) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, arnd@arndb.de, pawel.moll@arm.com, valentin.longchamp@keymile.com, linux-usb@vger.kernel.org, balbi@ti.com, robh+dt@kernel.org, Peter Chen , linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP In this example, we take HUB driver as an example to show how to get properties in USB device driver if this device has device node. Signed-off-by: Peter Chen --- arch/arm/boot/dts/imx6sx-sdb.dtsi | 9 +++++++++ drivers/usb/core/hub.c | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/arch/arm/boot/dts/imx6sx-sdb.dtsi b/arch/arm/boot/dts/imx6sx-sdb.dtsi index 94ac400..fe0fd95 100644 --- a/arch/arm/boot/dts/imx6sx-sdb.dtsi +++ b/arch/arm/boot/dts/imx6sx-sdb.dtsi @@ -275,6 +275,15 @@ vbus-supply = <®_usb_otg2_vbus>; dr_mode = "host"; status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + hub: genesys@01 { + compatible = "05e3,0608"; + reg = <0x01>; + delay-duration-us = <50>; + }; + }; &usdhc2 { diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 4c77001..1babfd4 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -1748,6 +1749,7 @@ static int hub_probe(struct usb_interface *intf, const struct usb_device_id *id) struct usb_device *hdev; struct usb_hub *hub; int ret; + u32 duration_us = 0; desc = intf->cur_altsetting; hdev = interface_to_usbdev(intf); @@ -1873,6 +1875,12 @@ descriptor_error: return ret; } + of_property_read_u32(hdev->dev.of_node, "delay-duration-us", &duration_us); + if (duration_us > 0) { + usleep_range(duration_us, duration_us + 10); + dev_info(&hdev->dev, "The delay is %d us\n", duration_us); + } + if (hub_configure(hub, endpoint) >= 0) return 0;