From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED, USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 90BC0C43381 for ; Fri, 15 Mar 2019 08:18:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5EB1921871 for ; Fri, 15 Mar 2019 08:18:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728554AbfCOISm (ORCPT ); Fri, 15 Mar 2019 04:18:42 -0400 Received: from mga05.intel.com ([192.55.52.43]:50253 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727476AbfCOISm (ORCPT ); Fri, 15 Mar 2019 04:18:42 -0400 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Mar 2019 01:18:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,481,1544515200"; d="scan'208";a="155275113" Received: from kuha.fi.intel.com ([10.237.72.189]) by fmsmga001.fm.intel.com with SMTP; 15 Mar 2019 01:18:36 -0700 Received: by kuha.fi.intel.com (sSMTP sendmail emulation); Fri, 15 Mar 2019 10:18:35 +0200 Date: Fri, 15 Mar 2019 10:18:35 +0200 From: Heikki Krogerus To: Chunfeng Yun , Andy Shevchenko Cc: Rob Herring , Greg Kroah-Hartman , Mark Rutland , Matthias Brugger , Adam Thomson , Li Jun , Badhri Jagan Sridharan , Hans de Goede , 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 Subject: Re: [PATCH v2 4/6] usb: roles: add API to get usb_role_switch by node Message-ID: <20190315081835.GD7752@kuha.fi.intel.com> References: <1552635513-2378-1-git-send-email-chunfeng.yun@mediatek.com> <1552635513-2378-5-git-send-email-chunfeng.yun@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1552635513-2378-5-git-send-email-chunfeng.yun@mediatek.com> User-Agent: Mutt/1.11.3 (2019-02-01) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Mar 15, 2019 at 03:38:31PM +0800, Chunfeng Yun wrote: > Add usb_role_switch_get_by_node() to make easier to get > usb_role_switch by node which register it. > It's useful when there is not device_connection registered > between two drivers and only knows the node which register > usb_role_switch. > > Signed-off-by: Chunfeng Yun > --- > drivers/usb/roles/class.c | 30 ++++++++++++++++++++++++++++++ > include/linux/usb/role.h | 1 + > 2 files changed, 31 insertions(+) > > diff --git a/drivers/usb/roles/class.c b/drivers/usb/roles/class.c > index 99116af07f1d..284b19856dc4 100644 > --- a/drivers/usb/roles/class.c > +++ b/drivers/usb/roles/class.c > @@ -11,6 +11,7 @@ > #include > #include > #include > +#include > #include > > static struct class *role_class; > @@ -121,6 +122,35 @@ struct usb_role_switch *usb_role_switch_get(struct device *dev) > } > EXPORT_SYMBOL_GPL(usb_role_switch_get); > > +static int __switch_match_node(struct device *dev, const void *node) > +{ > + return dev->parent->of_node == (const struct device_node *)node; > +} Andy already pointed out that you need to use fwnodes. Rule of thumb: You always use fwnodes. Only if there is something that can't be done with fwnodes you use DT or ACPI nodes directly. In this case there is absolutely nothing that would prevent you from using fwnodes. thanks, -- heikki From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v2,4/6] usb: roles: add API to get usb_role_switch by node From: Heikki Krogerus Message-Id: <20190315081835.GD7752@kuha.fi.intel.com> Date: Fri, 15 Mar 2019 10:18:35 +0200 To: Chunfeng Yun , Andy Shevchenko Cc: Rob Herring , Greg Kroah-Hartman , Mark Rutland , Matthias Brugger , Adam Thomson , Li Jun , Badhri Jagan Sridharan , Hans de Goede , 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 List-ID: T24gRnJpLCBNYXIgMTUsIDIwMTkgYXQgMDM6Mzg6MzFQTSArMDgwMCwgQ2h1bmZlbmcgWXVuIHdy b3RlOgo+IEFkZCB1c2Jfcm9sZV9zd2l0Y2hfZ2V0X2J5X25vZGUoKSB0byBtYWtlIGVhc2llciB0 byBnZXQKPiB1c2Jfcm9sZV9zd2l0Y2ggYnkgbm9kZSB3aGljaCByZWdpc3RlciBpdC4KPiBJdCdz IHVzZWZ1bCB3aGVuIHRoZXJlIGlzIG5vdCBkZXZpY2VfY29ubmVjdGlvbiByZWdpc3RlcmVkCj4g YmV0d2VlbiB0d28gZHJpdmVycyBhbmQgb25seSBrbm93cyB0aGUgbm9kZSB3aGljaCByZWdpc3Rl cgo+IHVzYl9yb2xlX3N3aXRjaC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBDaHVuZmVuZyBZdW4gPGNo dW5mZW5nLnl1bkBtZWRpYXRlay5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvdXNiL3JvbGVzL2NsYXNz LmMgfCAzMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgaW5jbHVkZS9saW51eC91 c2Ivcm9sZS5oICB8ICAxICsKPiAgMiBmaWxlcyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspCj4g Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3JvbGVzL2NsYXNzLmMgYi9kcml2ZXJzL3VzYi9y b2xlcy9jbGFzcy5jCj4gaW5kZXggOTkxMTZhZjA3ZjFkLi4yODRiMTk4NTZkYzQgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy91c2Ivcm9sZXMvY2xhc3MuYwo+ICsrKyBiL2RyaXZlcnMvdXNiL3JvbGVz L2NsYXNzLmMKPiBAQCAtMTEsNiArMTEsNyBAQAo+ICAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+ Cj4gICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+ Cj4gKyNpbmNsdWRlIDxsaW51eC9vZi5oPgo+ICAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgo+ICAK PiAgc3RhdGljIHN0cnVjdCBjbGFzcyAqcm9sZV9jbGFzczsKPiBAQCAtMTIxLDYgKzEyMiwzNSBA QCBzdHJ1Y3QgdXNiX3JvbGVfc3dpdGNoICp1c2Jfcm9sZV9zd2l0Y2hfZ2V0KHN0cnVjdCBkZXZp Y2UgKmRldikKPiAgfQo+ICBFWFBPUlRfU1lNQk9MX0dQTCh1c2Jfcm9sZV9zd2l0Y2hfZ2V0KTsK PiAgCj4gK3N0YXRpYyBpbnQgX19zd2l0Y2hfbWF0Y2hfbm9kZShzdHJ1Y3QgZGV2aWNlICpkZXYs IGNvbnN0IHZvaWQgKm5vZGUpCj4gK3sKPiArCXJldHVybiBkZXYtPnBhcmVudC0+b2Zfbm9kZSA9 PSAoY29uc3Qgc3RydWN0IGRldmljZV9ub2RlICopbm9kZTsKPiArfQoKQW5keSBhbHJlYWR5IHBv aW50ZWQgb3V0IHRoYXQgeW91IG5lZWQgdG8gdXNlIGZ3bm9kZXMuCgpSdWxlIG9mIHRodW1iOiBZ b3UgYWx3YXlzIHVzZSBmd25vZGVzLiBPbmx5IGlmIHRoZXJlIGlzIHNvbWV0aGluZyB0aGF0CmNh bid0IGJlIGRvbmUgd2l0aCBmd25vZGVzIHlvdSB1c2UgRFQgb3IgQUNQSSBub2RlcyBkaXJlY3Rs eS4KCkluIHRoaXMgY2FzZSB0aGVyZSBpcyBhYnNvbHV0ZWx5IG5vdGhpbmcgdGhhdCB3b3VsZCBw cmV2ZW50IHlvdSBmcm9tCnVzaW5nIGZ3bm9kZXMuCgoKdGhhbmtzLAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 68175C43381 for ; Fri, 15 Mar 2019 08:18:55 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 35B8521871 for ; Fri, 15 Mar 2019 08:18:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Qwn0VdtV" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 35B8521871 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=iCVEt2SHmuNCjFqQK7hZjMDkKTUMQasN+4h/QUT9anM=; b=Qwn0VdtV9p3AkG GVrXPWFjCimxQCjs6hAKvtVCTh0FEDUMakO2uWLVcdHzs0QB9jCNjmT0xU4TWxww3dqXC0HBOsw0z tuFiDs1WmODlf+q5n/XeRPkBZzkVurZYj8GPzoIFdNLOis8CnGQI7/GUVNUqD3/22TYjrCnNvqLBP 7yzwQvJXU+hpNBZ6MNftRjNMFnxr1/FKCFGqf3qwHCNb6j9/IOF9HvcZVkHXqnrAtdVA10WzH6t81 goq9CnX+NrIwqVSVYwgx2DrgWV+l4fb1fyrIEDXHdUAJikzrvQ+2m4kyiVJQfjfpUpH2CBfyQYfgu rtDQi0sVtIus13UDKqRQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1h4i3E-0005FM-LY; Fri, 15 Mar 2019 08:18:48 +0000 Received: from mga06.intel.com ([134.134.136.31]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1h4i3A-0005ER-S3; Fri, 15 Mar 2019 08:18:46 +0000 X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Mar 2019 01:18:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,481,1544515200"; d="scan'208";a="155275113" Received: from kuha.fi.intel.com ([10.237.72.189]) by fmsmga001.fm.intel.com with SMTP; 15 Mar 2019 01:18:36 -0700 Received: by kuha.fi.intel.com (sSMTP sendmail emulation); Fri, 15 Mar 2019 10:18:35 +0200 Date: Fri, 15 Mar 2019 10:18:35 +0200 From: Heikki Krogerus To: Chunfeng Yun , Andy Shevchenko Subject: Re: [PATCH v2 4/6] usb: roles: add API to get usb_role_switch by node Message-ID: <20190315081835.GD7752@kuha.fi.intel.com> References: <1552635513-2378-1-git-send-email-chunfeng.yun@mediatek.com> <1552635513-2378-5-git-send-email-chunfeng.yun@mediatek.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1552635513-2378-5-git-send-email-chunfeng.yun@mediatek.com> User-Agent: Mutt/1.11.3 (2019-02-01) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190315_011844_975291_DBD2E401 X-CRM114-Status: GOOD ( 17.76 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , devicetree@vger.kernel.org, Hans de Goede , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Badhri Jagan Sridharan , Rob Herring , linux-mediatek@lists.infradead.org, Min Guo , Matthias Brugger , Adam Thomson , linux-arm-kernel@lists.infradead.org, Li Jun Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Fri, Mar 15, 2019 at 03:38:31PM +0800, Chunfeng Yun wrote: > Add usb_role_switch_get_by_node() to make easier to get > usb_role_switch by node which register it. > It's useful when there is not device_connection registered > between two drivers and only knows the node which register > usb_role_switch. > > Signed-off-by: Chunfeng Yun > --- > drivers/usb/roles/class.c | 30 ++++++++++++++++++++++++++++++ > include/linux/usb/role.h | 1 + > 2 files changed, 31 insertions(+) > > diff --git a/drivers/usb/roles/class.c b/drivers/usb/roles/class.c > index 99116af07f1d..284b19856dc4 100644 > --- a/drivers/usb/roles/class.c > +++ b/drivers/usb/roles/class.c > @@ -11,6 +11,7 @@ > #include > #include > #include > +#include > #include > > static struct class *role_class; > @@ -121,6 +122,35 @@ struct usb_role_switch *usb_role_switch_get(struct device *dev) > } > EXPORT_SYMBOL_GPL(usb_role_switch_get); > > +static int __switch_match_node(struct device *dev, const void *node) > +{ > + return dev->parent->of_node == (const struct device_node *)node; > +} Andy already pointed out that you need to use fwnodes. Rule of thumb: You always use fwnodes. Only if there is something that can't be done with fwnodes you use DT or ACPI nodes directly. In this case there is absolutely nothing that would prevent you from using fwnodes. thanks, -- heikki _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel