From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751671AbcFUJ2J (ORCPT ); Tue, 21 Jun 2016 05:28:09 -0400 Received: from regular1.263xmail.com ([211.150.99.138]:36819 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751635AbcFUJ2C (ORCPT ); Tue, 21 Jun 2016 05:28:02 -0400 X-263anti-spam: KSV:0; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-ADDR-CHECKED: 0 X-RL-SENDER: frank.wang@rock-chips.com X-FST-TO: frank.wang@rock-chips.com X-SENDER-IP: 58.22.7.114 X-LOGIN-NAME: frank.wang@rock-chips.com X-UNIQUE-TAG: X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [PATCH v6 2/2] phy: rockchip-inno-usb2: add a new driver for Rockchip usb2phy To: =?UTF-8?Q?Heiko_St=c3=bcbner?= References: <1466129353-48063-1-git-send-email-frank.wang@rock-chips.com> <986b53d6-ef65-bc1f-38a8-f981e23a6f02@rock-chips.com> <2284777.mdEtFaarym@diego> Cc: Guenter Roeck , Guenter Roeck , Guenter Roeck , Douglas Anderson , jwerner@chromium.org, Kishon Vijay Abraham I , robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, Kumar Gala , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-usb@vger.kernel.org, linux-rockchip@lists.infradead.org, Ziyuan Xu , Kever Yang , Tao Huang , william.wu@rock-chips.com, frank.wang@rock-chips.com From: Frank Wang Message-ID: Date: Tue, 21 Jun 2016 17:27:33 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: <2284777.mdEtFaarym@diego> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Heiko, On 2016/6/21 17:05, Heiko Stübner wrote: > Hi Frank, > > Am Dienstag, 21. Juni 2016, 15:52:45 schrieb Frank Wang: >> On 2016/6/20 12:56, Guenter Roeck wrote: >>> On Sun, Jun 19, 2016 at 8:32 PM, Frank Wang > wrote: >>>>> Turns out my problem was one of terminology. Using "suspend" and >>>>> "resume" to me suggested the common use of suspend and resume >>>>> functions. That is not the case here. After mentally replacing >>>>> "suspend" with "power_off" and "resume" with "power_on", you are >>>>> right, no problem exists. Sorry for the noise. >>>>> >>>>> Maybe it would be useful to replace "resume" with "power_on" and >>>>> "suspend" with "power_off" in the function and variable names to >>>>> reduce confusion and misunderstandings. >>>>> >>>>> Thanks, >>>>> Guenter >>>> Well, it does have a bits confusion, however, the phy-port always just >>>> goes >>>> to suspend and resume mode (Not power off and power on) in a fact. So >>>> must >>>> it be renamed? >>> Other phy drivers name the functions _power_off and _power_on and >>> avoid the confusion. The callbacks are named .power_off and .power_on, >>> which gives a clear indication of its intended purpose. Other drivers >>> implementing suspend/resume (such as the omap usb phy driver) tie >>> those functions not into the power_off/power_on callbacks, but into >>> the driver's suspend/resume callbacks. At least the omap driver has >>> separate power management functions. >>> >>> Do the functions _have_ to be renamed ? Surely not. But, if the >>> functions are really suspend/resume functions and not >>> power_off/power_on functions, maybe they should tie to the >>> suspend/resume functions and not register themselves as >>> power_off/power_on functions ? >> As Guenter mentioned above, I doped out two solutions, one is that keep >> current process but renaming *_resume/*_suspend to >> *_power_on/*_power_off; > in a way, naming stuff "power_off", "power_on" actually matches. For one, the > phy-block goes from unusable to usable by usb-devices and also will power-on a > phy-supply regulator (often named vcc_host* on Rockchip boards) from the phy- > core. > >> another is that do not assign power_on/power_off >> functions for phy_ops at phy creating time, then, shorten >> _SCHEDULE_DELAY_ delay time less that 10 Seconds, and the phy-port >> suspend/resume mechanism depend on _sm_work_ completely. > Which in turn would mean that we would always depend on a fully controllable > phy block. Right now it seems, rk3036, rk3228, rk3368 (probably forgot some) > have the same type of phy, but with at least the unplug-detection missing. > In its current form the driver can very well support those (later on) by > simply working statically (only acting on phy_power callbacks and not going to > suspend on its own). > > Also having the work running in 10-second intervall seems wasteful. > >> So which is the better way from your view? or would you like to give >> other unique perceptions please? > As obvious from the above, I would prefer just renaming the functions :-) > > Heiko > Got it, thanks for your comments. I am going to correct and send out a new version later today, so sorry for trouble you to sign 'Reviewed-by' again if no any other issues. BR. Frank