Received: by 2002:a25:86ce:0:0:0:0:0 with SMTP id y14csp751880ybm; Tue, 21 May 2019 03:00:57 -0700 (PDT) X-Google-Smtp-Source: APXvYqzFSHecbN23D/JMSy9PCdSx7a3LNLSdIhfZqDwKIre7vTbeyRScO0VbBvehZzHJt3lTwtSV X-Received: by 2002:a17:902:9f83:: with SMTP id g3mr65792099plq.330.1558432856950; Tue, 21 May 2019 03:00:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558432856; cv=none; d=google.com; s=arc-20160816; b=tegU6ZomnF9r28Sq+7XZ8qMBVGBdisse8gEZI0flix09Vj2m/rTtHLurYdSjE/mfT6 V7MFUZydBInJhp3YY2mH/t35K183ogChN0doTuyLBY0T448Q/LdlxQ4vsa5NVCnif9iG wgVdy2xA2oR5Vvn6n2E3ouIonxEbdYf2W1LNr1AbuCCBYherpCxIfXwIqrOKvm9hiLFe Al46M0+PXfSlzMoPdBfJapgPqxIEEIkxfJ7fLhbeqU4oPbdKNHDLp62gbp9FoLqrrXJV Eh/A+zdrZtIxi69oiNmuxbzVzKu875RFCeQlUOgnhyREw9UMlmjuC0EPaEQpriNzVQ1V eQfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=jS/AoFSYgahJnnw7JXKXYOdsObuoWC57PdpCQ3WgGFY=; b=eVBt45Dlpe++vvj9m47q+ZQcpQ4PIM+b9qpOsC8/uqRy2SStbDks5/ZvUVyzavBFbn JGdyrSZ3it1YESqjMIvtL51UPj2qJxEVcsusif/goX/Dz/v0f7uSIuGFpYDcbPDJ6eS2 zH3qFZFm3MiciZauCeW/4Vv3SiqmR4XVojruldm/LGNtj0G8VdUxpiW7VTCcIBSgp35J TJGpwnLOZY9tLgm4SJinLETkZG4tOu8ayU5Z83OxNm+mN12ffnhWGKFmgm7aKmBLzWjt Ibm4JF2gv0BaYaS50h/OhswYnNDtdvjlHTLa1Z5v/AA8qIBld0ymx/mNVpX0+pr8MDyv bGqw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l6si20611576pgf.479.2019.05.21.03.00.41; Tue, 21 May 2019 03:00:56 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727261AbfEUJ6r (ORCPT + 99 others); Tue, 21 May 2019 05:58:47 -0400 Received: from mga02.intel.com ([134.134.136.20]:35815 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726242AbfEUJ6q (ORCPT ); Tue, 21 May 2019 05:58:46 -0400 X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 May 2019 02:58:45 -0700 X-ExtLoop1: 1 Received: from kuha.fi.intel.com ([10.237.72.189]) by fmsmga001.fm.intel.com with SMTP; 21 May 2019 02:58:40 -0700 Received: by kuha.fi.intel.com (sSMTP sendmail emulation); Tue, 21 May 2019 12:58:39 +0300 Date: Tue, 21 May 2019 12:58:39 +0300 From: Heikki Krogerus To: Biju Das Cc: Chunfeng Yun , Rob Herring , Greg Kroah-Hartman , Mark Rutland , Matthias Brugger , Adam Thomson , Li Jun , Badhri Jagan Sridharan , Hans de Goede , Andy Shevchenko , Min Guo , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-usb@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-mediatek@lists.infradead.org" , Linus Walleij Subject: Re: [PATCH v5 4/6] usb: roles: add API to get usb_role_switch by node Message-ID: <20190521095839.GI1887@kuha.fi.intel.com> References: <1557823643-8616-1-git-send-email-chunfeng.yun@mediatek.com> <1557823643-8616-5-git-send-email-chunfeng.yun@mediatek.com> <20190517103736.GA1490@kuha.fi.intel.com> <20190517130511.GA1887@kuha.fi.intel.com> <1558319951.10179.352.camel@mhfsdcap03> <20190520080359.GC1887@kuha.fi.intel.com> <20190520083601.GE1887@kuha.fi.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.11.4 (2019-03-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 20, 2019 at 09:45:46AM +0000, Biju Das wrote: > > > Hi Heikki, > > Thanks for the feedback. > > > Subject: Re: [PATCH v5 4/6] usb: roles: add API to get usb_role_switch by > > node > > > > On Mon, May 20, 2019 at 08:06:41AM +0000, Biju Das wrote: > > > Hi Heikki, > > > > > > > Subject: Re: [PATCH v5 4/6] usb: roles: add API to get > > > > usb_role_switch by node > > > > > > > > On Mon, May 20, 2019 at 10:39:11AM +0800, Chunfeng Yun wrote: > > > > > Hi, > > > > > On Fri, 2019-05-17 at 16:05 +0300, Heikki Krogerus wrote: > > > > > > Hi, > > > > > > > > > > > > On Fri, May 17, 2019 at 01:37:36PM +0300, Heikki Krogerus wrote: > > > > > > > On Tue, May 14, 2019 at 04:47:21PM +0800, Chunfeng Yun wrote: > > > > > > > > Add fwnode_usb_role_switch_get() to make easier to get > > > > > > > > usb_role_switch by fwnode which register it. > > > > > > > > It's useful when there is not device_connection registered > > > > > > > > between two drivers and only knows the fwnode which register > > > > > > > > usb_role_switch. > > > > > > > > > > > > > > > > Signed-off-by: Chunfeng Yun > > > > > > > > Tested-by: Biju Das > > > > > > > > > > > > > > Acked-by: Heikki Krogerus > > > > > > > > > > > > Hold on. I just noticed Rob's comment on patch 2/6, where he > > > > > > points out that you don't need to use device graph since the > > > > > > controller is the parent of the connector. Doesn't that mean you > > > > > > don't really need this API? > > > > > No, I still need it. > > > > > The change is about the way how to get fwnode; when use device > > > > > graph, get fwnode by of_graph_get_remote_node(); but now will get > > > > > fwnode by of_get_parent(); > > > > > > > > OK, I get that, but I'm still not convinced about if something like > > > > this function is needed at all. I also have concerns regarding how > > > > you are using the function. I'll explain in comment to the patch 5/6 in this > > series... > > > > > > FYI, Currently I am also using this api in my patch series. > > > https://patchwork.kernel.org/patch/10944637/ > > > > Yes, and I have the same question for you I jusb asked in comment I added > > to the patch 5/6 of this series. Why isn't usb_role_switch_get() enough? > > Currently no issue. It will work with this api as well, since the port node is part of controller node. > For eg:- > https://patchwork.kernel.org/patch/10944627/ > > However if any one adds port node inside the connector node, then this api may won't work as expected. > Currently I get below error > > [ 2.299703] OF: graph: no port node found in /soc/i2c@e6500000/hd3ss3220@47 We need to understand why is that happening? It looks like we have an issue somewhere in the code, and instead of fixing that, you are working around it. Let's not do that. > For eg:- > > hd3ss3220@47 { > compatible = "ti,hd3ss3220"; > ... > .... > usb_con: connector { > .... > .... > port { > hd3ss3220_ep: endpoint@0 { > reg = <0>; > remote-endpoint = <&usb3peri_role_switch>; > }; > }; > }; > }; > > Regards, > Biju thanks, -- heikki