Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752156AbcDSCDs (ORCPT ); Mon, 18 Apr 2016 22:03:48 -0400 Received: from mail-pa0-f65.google.com ([209.85.220.65]:33672 "EHLO mail-pa0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751520AbcDSCDq (ORCPT ); Mon, 18 Apr 2016 22:03:46 -0400 Date: Tue, 19 Apr 2016 09:56:22 +0800 From: Peter Chen To: Alan Stern Cc: Roger Quadros , Felipe Balbi , gregkh@linuxfoundation.org, peter.chen@freescale.com, dan.j.williams@intel.com, jun.li@freescale.com, mathias.nyman@linux.intel.com, tony@atomide.com, Joao.Pinto@synopsys.com, abrestic@chromium.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org Subject: Re: [PATCH v6 01/12] usb: hcd: Initialize hcd->flags to 0 Message-ID: <20160419015622.GH4477@shlinux2.ap.freescale.net> References: <20160418022956.GB32090@shlinux2.ap.freescale.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1813 Lines: 51 On Mon, Apr 18, 2016 at 10:11:29AM -0400, Alan Stern wrote: > On Mon, 18 Apr 2016, Peter Chen wrote: > > > On Wed, Apr 06, 2016 at 09:32:22AM +0300, Roger Quadros wrote: > > > On 06/04/16 09:09, Felipe Balbi wrote: > > > > > > > > Hi, > > > > > > > > Roger Quadros writes: > > > >> diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c > > > >> index 2ca2cef..6b1930d 100644 > > > >> --- a/drivers/usb/core/hcd.c > > > >> +++ b/drivers/usb/core/hcd.c > > > >> @@ -2706,6 +2706,7 @@ int usb_add_hcd(struct usb_hcd *hcd, > > > >> int retval; > > > >> struct usb_device *rhdev; > > > >> > > > >> + hcd->flags = 0; > > > > > > > > seems like this would make more sense in usb_del_hcd() instead. > > > > > > > > > > OK, I'll move it there. > > > > > > > It depends on Alan's comments, whether only usb_add_hcd/usb_del_hcd > > pair can be called repeat. If Alan acks it, I have no idea for it. > > Most of the host controller drivers were not written with this in mind, > but I think it would be a good thing to allow. It would speed up the > host/device role switches. > > This might mean we need to fix up several drivers to make them work > correctly in an OTG environment. It should be possible to do this. Is > there any particular reason why it would be difficult for Chipidea? > I just want to do clean remove at OTG environment, like rmmod, so I did this when I worked on chipidea OTG design. I am worried if there are some resources dedicated for host device, eg, clocks, gpio. etc. If OTG framework can know well hcd's add and remove, it is ok for chipidea just calling usb_add_hcd/usb_del_hcd currently, but I suggested roger adding platform hcd_ops as optional parameter in case the platform has special requirement for hcd_ops. -- Best Regards, Peter Chen