From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754470AbbIHIGx (ORCPT ); Tue, 8 Sep 2015 04:06:53 -0400 Received: from mail-bl2on0119.outbound.protection.outlook.com ([65.55.169.119]:60128 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754439AbbIHIGj (ORCPT ); Tue, 8 Sep 2015 04:06:39 -0400 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=freescale.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=freescale.com; Date: Tue, 8 Sep 2015 14:54:25 +0800 From: Peter Chen To: Roger Quadros CC: , , , , , , , , , , , Subject: Re: [PATCH v4 04/13] otg-fsm: move usb_bus_start_enum into otg-fsm->ops Message-ID: <20150908065424.GC7802@shlinux2> References: <1440422484-4737-1-git-send-email-rogerq@ti.com> <1440422484-4737-5-git-send-email-rogerq@ti.com> <20150907012437.GH4914@shlinux2> <55ED5F81.5060601@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <55ED5F81.5060601@ti.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11FD021;1:JAo4brvn+sPcBGnqUg/XVTKnsZn8315Pw4zm6yKEgdAgnBsqw8S+11kQokS33frYH2GWnXPCFfib7pGpVxzGCxNVkG2Qh05xxxsOUIRY/4LO2yem93nofCeWIZr8jXSnSFzOqIPUiEuYhH/F0/HXP5NYhuTKPqg/LwZzl8YLQ0jdVn1mWs3D45iLVcJf0tdZAfiR5SmSIg7BGl0lX2H2iy0EKztJxRF/bXED1vrkgNlTW/07ESyJhZ+O8Zhm9TZH3vqRNKKPzM0DB2itXjoTvN5Qg5EBl0B+bx6FOea3wvvvouRTkDs+nXx0Gm9OfVt6D7dtvjBnYp32XMVdr3NEOauwuA3ZY7JOk04NReuAqhAkU9ZRdZ7XhKtNhlLguZPIafugGHxY1DyanPQdkJpC0ttim4cNlnhs1tlC9IWoHL4= X-Forefront-Antispam-Report: CIP:192.88.158.2;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(1109001)(339900001)(24454002)(189002)(199003)(479174004)(6806004)(69596002)(19580395003)(97756001)(19580405001)(87936001)(77096005)(68736005)(104016003)(106466001)(83506001)(62966003)(85426001)(105606002)(77156002)(93886004)(4001540100001)(81156007)(97736004)(46102003)(4001350100001)(50466002)(2950100001)(5001960100002)(50986999)(5001920100001)(189998001)(54356999)(33716001)(64706001)(33656002)(5001830100001)(5001860100001)(46406003)(86362001)(110136002)(92566002)(23726002)(5007970100001)(76176999)(47776003);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR0301MB1226;H:az84smr01.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1226;2:vZ2lbBM58NrJOG+CIvoHSvsOpwBCaVrY8AWY0LCMLs8xL88c0+KjlzDPXlFv41HcsDbYoIyDm2Ocz1NwNrIQ/KVYBOv4i19ADri87hpBkFtDeDpw/dU7cqs00jodWGVEw/JHQAWg7OiC1VwCbLUF4rZJlYjYQh18j1xuLdHj7/0=;3:sZ4HP1HZKjlOeYB71Y86X1voFJAUM4/AK3CKZCfq/XRpqQQBxOd+q/TIiVYNq6U5R5hsCzBCVh2ixJ8Sge90USTs+QPlC0kKdQfwoMaaJ16ZkIjtsFq1rCf8hClV7Yu83E/HH2LOEB7mJ73vpOpDqVE/3nxnUSbKvkl6M/MO4Da05JUSVKRrmPniX43awrLW6C4gRR1X7cd2mep4wMpSdl+MlZ+ZDEA9Q4HqU+YoTd0=;25:ynAMIlhjCtjVeO0rIxsnGbGWr4R2JYIofy7K+pEXlBjODLhqcpRLpd0ifKlBNlR+pejl+Sq/a35/DAmNYBjbD3wrMr+N9LyP7+KVGI4EC82ZuYAUrNb1fDUmrd7LRlxj1htewPiqJyviMvd16wpIa2pQ5VbTcrzbfFjaoWy7os93xbeKs18jXZ01upwkhKCE+hcJMy58PACP1Wn3omLxGA+yVt74gUB4cQguH/Swo6Ff6qajokqBsiFU8yno9+gZ3zWZZ45vKaqzfa5h0FPvGw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1226; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1226;20:sTLMDR6GhJD+QdPzxLTvLWyi8O1KZ9gUHq21w4NMb3GDnpe0Vr5Ffqk8krBt77Xo82RPqAnp7TalPJ5DMWJmB3epFFNVGpYVRhcmvOCCUBQ/XQC1QrMITRBSZBAjpAD2eXA+CRRffloM07ROm6jwAMF5gP1lqJc4sp0vBFl7PgKSdIn8tefDwIw4uqR/vAjvnkG8oZmaRYAaMRfYVrM2iYJD3fmEIb0yDM56r1wyCWW+rQH9Mt5+IrsX69D7OupslssFfuZrZNOe+BRsB5m5ibhXjCUnnVgAygYGBjgGL4A8Rqz0V6kZ3BJgJf+djayQE/MbQrnQOVoZqlcGKmi5Qfkn2zziP1Xq63i8w/JZ1pM=;4:fq5zWHFatkRqNqd2DkE+GKK3WCjdnkfixBrkZZUA6A/mQXirw9tynFx2RLeAJ0LuLm1V+sFBwVC0Iqbu97OlLNL94Y4561GR+Jl1/WLxHmSvb/XVGXdmQf6SRfFNw10rxo0uGq3r7zwTX0PrqyIXpf/FTL5KWFAIAs7RUGX2xCKjQ+CMYDJtuamk1M0zWwSMnPxQy3CQgWfmpQha4rECVxwiT8L8DlMG3pBSEeVpPDdzn7oN8m7XKDl0fGAhj7eDGtJI8OomXfsjrv8hPaBTNUFWjMYYfTySf6xXaQegO0/a+f1YESSk9NlVgbjgyY5P X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(8121501046)(5005006)(3002001);SRVR:CY1PR0301MB1226;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1226; X-Forefront-PRVS: 069373DFB6 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR0301MB1226;23:KvxVU0L3vKo3vwd8Hzg0E3aDPO3/SVVd8wCsUrk?= =?us-ascii?Q?9xeXeCI9CjaOulWxtD3k0AnIItDWurN7Q8B3Uc4FCtqf5viM8yWL9ATCQHxw?= =?us-ascii?Q?nJ13FnMEI2zTVJwalXBihBx1PFTXwKAFOPgjW+3F9H8SKFvrmQpu9f3O0tu0?= =?us-ascii?Q?n4w/+WOQzlALuZaYHX1zQg0lAHUzx6ZT9Nx5Yai3JA3cdvoUEtawTtZZbqJM?= =?us-ascii?Q?kHUaNJ1z6TmkuWAGLHHSh7Q5aNJh9nRJ3hyNaocjyX7bEwF+KJqCChk1GUtB?= =?us-ascii?Q?3SF9Gl3FSxOSNFh8BikJigdZX2Ma0/IYNuH/Zqv5LIHJgmez54RT+RVS2nnh?= =?us-ascii?Q?DxG0lHn1z1kKRRqTXl1ohNsZgfwlMsNZk49X18BthiA4k5JrLRNrGPzEXG/w?= =?us-ascii?Q?Zkkv+VwojI661X4S2agzLP6KWbCR2J4qi62r6vg95Wymha1kYF578soAqMbV?= =?us-ascii?Q?0DYlERxPDaCxrcVtxlOsFgy/X4LqV6sK/X7Zxl1o502oW3yDFEOAw9TOeMLV?= =?us-ascii?Q?hqpiqx0ksPyZPudi+ktLNhOzzBwM0bMpMSMWNG/ihRnKfZwdKWjMtQMy4QhZ?= =?us-ascii?Q?vg1CJHIw1ex7zPyPS8JhQwZa376VcTBcWSm51TeMp4j5yeQSNTCJFNqNnLIU?= =?us-ascii?Q?B+ora+bWeclyhwAMLomYhNGTvlYB4hpTruE53zG7eQuS/0FShm86xutbqKDp?= =?us-ascii?Q?QPOAw1ZHvtL4iWq36C23NaVYuIqVAhTm4p2vSSDqBiKCndT5q70SwJ1vchoM?= =?us-ascii?Q?KUGqkue5i6+KBeosS0Fo2lTOqXTsuv3Cf8gxfY3O18zeQZQwCB3NtdEleWBC?= =?us-ascii?Q?KemPtifu7GkmkJH54qqDwsM3Gk/9o+ma2CZADiTml0euHaWarb5/B8R1ZgU5?= =?us-ascii?Q?R6EvvakncM2F6F+5eJYiil/DDvoFRCRar2iHd7cyNGQEIcwdrcrIvZiZXYKd?= =?us-ascii?Q?bNjqU0vff9rkhMm0dBl4336F1Y+pib6myZs4XmU76JzRVO/hTf2Hh+QLwALS?= =?us-ascii?Q?1PyTfiqATLne7JLi33wR5Qw0+lzjcrg7Hux/lR+07m5Z4dCBRrlCgVqBSa5k?= =?us-ascii?Q?aDLCM+UZLWX7B0B40BjxLt21Euz5reryoejSOMGeoGxCdCp5tmMkRh9yIVGK?= =?us-ascii?Q?lhnpm9cqsALmfT7ZcCkk2BfDRD1V6dqcOiwV7yJM508vwbp5xydcZTOuqM5i?= =?us-ascii?Q?UrY4Y8gTQaOutmfnio0btaW5tLSqQFyUOUkaFllQ7O4QV6ZQKgdgfsONd3hB?= =?us-ascii?Q?LpcWyDe4gH7xC/yxDiVSQ6HgfjaDCjgyAqVW0B+/NJ/AKqNwsae4vuJBlyIF?= =?us-ascii?Q?4EUcFQtinQQOfYzMVbxFTrp0=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1226;5:6ANP6YTE0G+jOHYdZaf6DhV4Xtw8hMgVVIcYGHwdBV9u0Yf8b8TNMKTUCaSOjx/lbpcJKlFpksTMaQp0VsIE/jLWiFTjFQzlhKF0qydx81KaoH1ho6ghruDf4risne5dI83KBz08AOYUft7BRVeEcQ==;24:QWouzoAnay/ayByBuCT4D2f5koaVdo3kJmRkrQD3k9Lj+0BkxQ9QHQmfNoaeSW3xyhFnH9O/fK1MlS5ZWSMusfyPuUc6kJI81+0G8fPtxRg=;20:tkrnEUNOUZcUtxgBmFvq/JhTnd8+u07XCphRIGWjWNfSUOB0nxTPWG7FMWKe/VMxsRjKExj8yG4LuAWjlWdpTg== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2015 08:06:36.2333 (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: CY1PR0301MB1226 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Sep 07, 2015 at 12:57:21PM +0300, Roger Quadros wrote: > On 07/09/15 04:24, Peter Chen wrote: > > On Mon, Aug 24, 2015 at 04:21:15PM +0300, Roger Quadros wrote: > >> This is to prevent missing symbol build error if OTG is > >> enabled (built-in) and HCD core (CONFIG_USB) is module. > >> > >> Signed-off-by: Roger Quadros > >> Acked-by: Peter Chen > >> --- > >> drivers/usb/common/usb-otg-fsm.c | 6 ++++-- > >> drivers/usb/phy/phy-fsl-usb.c | 2 ++ > >> include/linux/usb/otg-fsm.h | 1 + > >> 3 files changed, 7 insertions(+), 2 deletions(-) > >> > >> diff --git a/drivers/usb/common/usb-otg-fsm.c b/drivers/usb/common/usb-otg-fsm.c > >> index a46f29a..6e56c8c 100644 > >> --- a/drivers/usb/common/usb-otg-fsm.c > >> +++ b/drivers/usb/common/usb-otg-fsm.c > >> @@ -165,8 +165,10 @@ static int otg_set_state(struct otg_fsm *fsm, enum usb_otg_state new_state) > >> otg_loc_conn(fsm, 0); > >> otg_loc_sof(fsm, 1); > >> otg_set_protocol(fsm, PROTO_HOST); > >> - usb_bus_start_enum(fsm->otg->host, > >> - fsm->otg->host->otg_port);usb_bus_start_enum > >> + if (fsm->ops->start_enum) { > >> + fsm->ops->start_enum(fsm->otg->host, > >> + fsm->otg->host->otg_port); > >> + } > >> break; > >> case OTG_STATE_A_IDLE: > >> otg_drv_vbus(fsm, 0); > >> diff --git a/drivers/usb/phy/phy-fsl-usb.c b/drivers/usb/phy/phy-fsl-usb.c > >> index ee3f2c2..19541ed 100644 > >> --- a/drivers/usb/phy/phy-fsl-usb.c > >> +++ b/drivers/usb/phy/phy-fsl-usb.c > >> @@ -783,6 +783,8 @@ static struct otg_fsm_ops fsl_otg_ops = { > >> > >> .start_host = fsl_otg_start_host, > >> .start_gadget = fsl_otg_start_gadget, > >> + > >> + .start_enum = usb_bus_start_enum, > >> }; > >> > >> /* Initialize the global variable fsl_otg_dev and request IRQ for OTG */ > >> diff --git a/include/linux/usb/otg-fsm.h b/include/linux/usb/otg-fsm.h > >> index 672551c..75e82cc 100644 > >> --- a/include/linux/usb/otg-fsm.h > >> +++ b/include/linux/usb/otg-fsm.h > >> @@ -199,6 +199,7 @@ struct otg_fsm_ops { > >> void (*del_timer)(struct otg_fsm *fsm, enum otg_fsm_timer timer); > >> int (*start_host)(struct otg_fsm *fsm, int on); > >> int (*start_gadget)(struct otg_fsm *fsm, int on); > >> + int (*start_enum)(struct usb_bus *bus, unsigned port_num); > >> }; > >> > >> > > > > Get one build warning: > > > > In file included from /u/home/b29397/work/projects/usb/drivers/usb/chipidea/udc.c:23:0: > > /u/home/b29397/work/projects/usb/include/linux/usb/otg-fsm.h:207:27: warning: 'struct usb_bus' declared inside parameter list > > int (*start_enum)(struct usb_bus *bus, unsigned port_num); > > ^ > > /u/home/b29397/work/projects/usb/include/linux/usb/otg-fsm.h:207:27: warning: its scope is only this definition or declaration, which is probably not what you want > > > > It probably dues to we should not have struct usb_bus* at udc driver > > > How about changing it to struct otg_fsm instead like the other APIs? > And do we leave usb_bus_start_enum() as it is? > You have defined struct otg_hcd_ops to let otg visit hcd stuff, how about move this to otg_hcd_ops? > cheers, > -roger -- Best Regards, Peter Chen