Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753837AbbKWIci (ORCPT ); Mon, 23 Nov 2015 03:32:38 -0500 Received: from mail-bn1bon0117.outbound.protection.outlook.com ([157.56.111.117]:12087 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753416AbbKWIce (ORCPT ); Mon, 23 Nov 2015 03:32:34 -0500 Authentication-Results: spf=permerror (sender IP is 192.88.158.2) smtp.mailfrom=freescale.com; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=freescale.com; Date: Mon, 23 Nov 2015 16:29:30 +0800 From: Peter Chen To: Tim Bird CC: , , , , , , , , , , Subject: Re: [PATCH v4 3/3] usb: chipidea: register driver as a peripheral with the phy Message-ID: <20151123082929.GA8193@shlinux2> References: <1448063240-2739-1-git-send-email-tim.bird@sonymobile.com> <1448063240-2739-3-git-send-email-tim.bird@sonymobile.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <1448063240-2739-3-git-send-email-tim.bird@sonymobile.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11FD029;1:iqOvYOb+rrQpB8b4oTC0jBLmBCOIy6QR8Q46oz/s8jNkeO8GuC2DJ5lqVNhIaZLYKHywhN0HsI0ZavwU7rBn5YE44lOBuShQitGoBEV+YuYQzCiCE43Y/wcsG7YZV1/4+3adhqq0aqFBfKQw4EKrFej59+3M3o6r4BiUESiUzkvupUgRIY7TfmWs404Fh6eTgipVCh1mHkta1qwSa7zCU7Ui4dr1xOvt1uO+Izu1BPYYmjaoNnl6eijTTVyU98mBjCX1U23L2yPA4Y9ODiLHT7J62JYWJTKPnZ4T6rGZv8Wq0zn8yds/fHv/4qEBNoXUwMrLx/+i1uO45a5Lf1BMCRf74xHPfjStjrJnZ20IxRP1T4kQs/KEZH/Hmk7IEB5EGnZRGBLUiygOjNMsAoSnv3ICBPyrO2CJ5cqJTeLx/A4= X-Forefront-Antispam-Report: CIP:192.88.158.2;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(1060300003)(448002)(24454002)(189002)(199003)(50466002)(87936001)(5007970100001)(106466001)(4290100001)(85326001)(77096005)(76176999)(54356999)(83506001)(110436001)(33716001)(5001960100002)(110136002)(2950100001)(575784001)(92566002)(47776003)(4001350100001)(86362001)(50986999)(6806005)(81156007)(104016004)(19580405001)(5008740100001)(69596002)(33656002)(97736004)(97756001)(19580395003)(23726003)(606003)(46406003);DIR:OUT;SFP:1102;SCL:1;SRVR:BY2PR03MB554;H:az84smr01.freescale.net;FPR:;SPF:PermError;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2PR03MB554;2:HufA7CZZtoIN+cFfytFu0pn86YjhmHDQZW99EOXjjB5QAKY/EmR40XLpQqFLiGNPqr1VXSDh0GqBmXSe+MTTeTGrZVxtmA6WbkCLiPW1F3iZ0x08AzxGTdGRjl3JiUPPnraAXUAkdaTEwldaBwJfww==;3:/fvkBFQeyBHvR7vVDPgcoTOZ8IBmejF+C8uFQqOZSL4k7fvFXw1Kovj0eCEBxW8+H+Sw6WzGoMQ5+HYmzxG8IufoljQ11y1JI/8nZ2jZNFWSTOPbPXKVIfJ1WrV8w1deg6rJ3xBCBSFapOwbDuX0EzUlnFBFYdIaJMvNiHUQdWIbnHO95DyaNxmUDhyXZ00B/yPgDcdgJOWMaGjUunbGhq8TmKuLdqQnzvYq0xoVPDc=;25:x3VmjmAseA9LseZvAyyHMhrCkgDnhcuOtoUpdN1nlguxBsFZWDT1dd15GVCIONELFqDs0YFL12gElHrUiBTelq0jQtAINiqJSS6tXPDcQ64UWol2Q/uc3ckkOKJZ4mP/SdEpJqT3cgSVYaFmB63t1OdZ5CstOpIKx9ajHBAyEtMkmdi8I30o5A4xttd3t7kC7fFlocoybJGw6JwQ1wbtDBM0D/Ag0dhiBy2txKblzTk4Khw2b9L770MvPjd3hkF1ZJhle8fwmFygWfHKw4rsSw== X-Microsoft-Antispam: UriScan:;BCL:1;PCL:0;RULEID:;SRVR:BY2PR03MB554; X-Microsoft-Exchange-Diagnostics: 1;BY2PR03MB554;20:VWNdC5lieQ4vc6fpfO3kLT9nDvCqMYSxAd+hzPteo4JkrSxRHIs+mVanH9ByjrlKXXuK602ezEdQwx+VidSYaQBlx7HlBaq/+/6X6n+cPBoWKlN4dhr7IIzlc/LMrDE9uHzv4Cl7poG30N2Ew/51VPg972QWQpowCyt4y7z+vz+rEOLD7zAHOBwYVBq/EIas4t5g8N9ZemOKpvQVDedfpO4nTCUO1N7DjnAdW8Yg8/C+Bo5qq51k1K7M2db+edLkBSSqovTsnzSxxVsWaMEKAty3abQssV9vfZ1Vby7/zA4VY8E7vKXJgqva58AjFMdTy45XKxHGt+gKBh1ySTd7PBqKIDqbrdk+PAjWGfvNrkg=;4:UT1cYJDwDz19/GXliDOKnJSdN3RfeO3Z7hCdSbTVe58cPBFPNpy5RPlMqum/8YrhZDc0X1OE0saCE0eEy3QiGrSRVZ7EnsBZF9ifX3krkwRsaw8dz+/ClXyk/IC9osMMxHyFGR3NYz8pTSI36Hh6QPntWCNpuOzj1dsVgpYR2N9eBIcmLZGBjqOtPtllAlZJTcQrC4RIgkznviGiH4F33+HEYdabjyRo1M8A6iogsW43ropX8vfYSM+Niql5xZVtFVsygGl/6fFcXklzrhuFzXDwIQjQffeHMllhR41eJfsTTx7uaEQMwUCj6jeCgpJosnP/LDTXEsefUzbiTZJE1m4WAsd2piq6WgfUjZcUT6EO/0wnAr/rL6BVsyDI3r15HtgKGk6OUwvJDy8ZmGoauA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:1;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(1201001)(3002001)(10201501046);SRVR:BY2PR03MB554;BCL:1;PCL:0;RULEID:;SRVR:BY2PR03MB554; X-Forefront-PRVS: 07697999E6 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR03MB554;23:X+U0QLo/IcI1IvrfZdp7EOGvwyx/28sI2wyj7aFdzX?= =?us-ascii?Q?Lsql0C1nzWgvGCoJHykfnxSsiTAHRsyFkVcXDMq/z4TryYCdYhkzFdT9NGiV?= =?us-ascii?Q?2aBbsUIDX6dYOjuRCJU0oRoidqrHHv3kafBEnSfJw0dSNVM03vpnYq7tcKN8?= =?us-ascii?Q?RsQ4v+PMIVND0ec9JQ2Z6tNcL2uEa+kH/tu1ics1X++aWjPYlROjN1NrMDhW?= =?us-ascii?Q?GzhjxqjGJvUGrRVtE48TwGH3ZF+86eZ31pnhZm3Pn/GNyZy2zpqUL006acDU?= =?us-ascii?Q?nex7Cs6g3mpYkXL4xf1YrNnv/y/zu41+FYWyp9S50Pnkx8ZjklL3QxWZ0biX?= =?us-ascii?Q?ALySsuWU5kuK8hVXYhx+lJ23h10V8DsKIGQGOZuEQ1VIOk/odwpiy5l/Tcaq?= =?us-ascii?Q?XhdF41dfqehM9ZE/ZxZmqH7WMXEQLRuujN41yYiXRLvXXBXug0wmlfx5Waik?= =?us-ascii?Q?9n/lxfxotoiygbz5pirzwxDCV47Ii1PwgDAK2id8u7KVNf5q/twuRLs4kUxg?= =?us-ascii?Q?TM9biKTnIoc0Uedt5kTGZACTUQuKTiGbSEAOlwRIEJjF3b5hlGq91QlNz7eK?= =?us-ascii?Q?UEXybjDcvmhybQbo1eaOmRW1Xa9G3zm7dBenDIgA6Rli9hB9vF0KG6/kNMoH?= =?us-ascii?Q?jjPwSGZxTo8egI3ejN6w9yXV0UQn/uZwQrmTj3qZoGKhsWU8hkL3+sYzOWLV?= =?us-ascii?Q?TFVvcO6iC1lHcaQYgFlqzhS9hk83XYrXeRLOqLaLJlhFNK8QByOCUqY1qhzi?= =?us-ascii?Q?WEZqOu9L9N5MRtnK3ZAOFkUJzpXFWZJ1rqBxvPSIWfnI6CxkPsu1X7tdUq15?= =?us-ascii?Q?xHF2s+1hnxGKQmCyok6+c0GyUs5aktNhuVzZr4u3R44vGqxjCPEaGf383jdl?= =?us-ascii?Q?sf99mkAohWTfNmQHJ/UoY7a4BsYOur1551+SfhfF+Nvf6GtT09UrABpjJKAg?= =?us-ascii?Q?ZkINvKYTlkPzHz4aZyTdDgG68LRFWgiLiBKASVxvqCIHZyFhbmzyIHLMr1j/?= =?us-ascii?Q?cWurkeE70NywuHlPBk/Fb0UHWZ2rmO9M1GlRDTWVWz/Yi6VsCFdUSnTEt3Pm?= =?us-ascii?Q?fWmCrJHf1K4cnaxJ5V9VMYoBv1EzX46ykWCao+qVAy0gE5qQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR03MB554;5:LNJ2BUuiLHriK+HTOoCx4LBoNjAJm2/MQFXQoBARi43Dfz4lfG5TFKs8AaBMj7bx9OZLNEe4iV1iiIoLs5ANRK3wbWz/LrTiE+3J4LlQDLRLWet5ySxMXcyAGXtAPOG5gl57OiOLfRY14s0E3ZqjWw==;24:zsZJpWr/gkacNkoLG2fi2UzKvMNGJuyfqUVik+FcLdVwcLKaIX4SzXiNjMcszjPVteioNDE+h41H3MyBO4D/KD835GgR3B6feH/9B5DCkfQ= SpamDiagnosticOutput: 1:5 SpamDiagnosticMetadata: 00000000%2D0000%2D0000%2D0000%2D000000000000 SpamDiagnosticMetadata: 1 X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2015 08:32:30.7839 (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.158.2];Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR03MB554 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1565 Lines: 47 On Fri, Nov 20, 2015 at 03:47:20PM -0800, Tim Bird wrote: > Register the chipidea driver with the phy, so that the phy > driver can kick the gadget driver when it resumes from low power. > The phy-msm-usb (Qualcomm) driver requires this in order to > recover gadget operation after you disconnect the USB cable > and reconnect it. > > Signed-off-by: Tim Bird > --- > drivers/usb/chipidea/udc.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c > index 8223fe7..06234cd 100644 > --- a/drivers/usb/chipidea/udc.c > +++ b/drivers/usb/chipidea/udc.c > @@ -1890,6 +1890,12 @@ static int udc_start(struct ci_hdrc *ci) > > ci->gadget.ep0 = &ci->ep0in->ep; > > + if (ci->usb_phy) { > + retval = otg_set_peripheral(ci->usb_phy->otg, &ci->gadget); > + if (retval) > + goto destroy_eps; > + } > + > retval = usb_add_gadget_udc(dev, &ci->gadget); > if (retval) > goto destroy_eps; Hi Tim, I am afraid it can't work for current chipidea framework (find this problem after testing), the chipidea core manages its host and device function using its own API start/stop, it does not define struct usb_otg APIs. In fact, it is not reasonable control host and device function at PHY driver. -- Best Regards, Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/