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=-1.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED 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 0DDC3C282DB for ; Mon, 21 Jan 2019 08:36:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DAC9C20823 for ; Mon, 21 Jan 2019 08:36:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729420AbfAUIg0 (ORCPT ); Mon, 21 Jan 2019 03:36:26 -0500 Received: from szxga07-in.huawei.com ([45.249.212.35]:40416 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728056AbfAUIg0 (ORCPT ); Mon, 21 Jan 2019 03:36:26 -0500 Received: from DGGEMS403-HUB.china.huawei.com (unknown [172.30.72.60]) by Forcepoint Email with ESMTP id AA9B81B2C74ACCAB6420; Mon, 21 Jan 2019 16:36:23 +0800 (CST) Received: from [127.0.0.1] (10.142.63.192) by DGGEMS403-HUB.china.huawei.com (10.3.19.203) with Microsoft SMTP Server id 14.3.408.0; Mon, 21 Jan 2019 16:36:15 +0800 CC: , USB , devicetree , Linux Kernel Mailing List , Suzhuangluan , Kongfei , Greg Kroah-Hartman , Hans de Goede , "John Stultz" Subject: Re: [PATCH v1 07/12] usb: roles: Find the usb role switch by also matching against the device node To: Heikki Krogerus , Andy Shevchenko References: <20181203034515.91412-1-chenyu56@huawei.com> <20181203034515.91412-8-chenyu56@huawei.com> <20181203122534.GD24338@kuha.fi.intel.com> From: Chen Yu Message-ID: Date: Mon, 21 Jan 2019 16:36:13 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <20181203122534.GD24338@kuha.fi.intel.com> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.142.63.192] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Heikki, On 2018/12/3 20:25, Heikki Krogerus wrote: > Hi, > > On Mon, Dec 03, 2018 at 10:17:20AM +0200, Andy Shevchenko wrote: >> On Mon, Dec 3, 2018 at 5:45 AM Yu Chen wrote: >>> >>> This patch adds code for supporting find usb role switch by matching against >>> the device node described using of_graph. >> >>> #include >>> #include >>> #include >>> +#include >>> +#include >> >> Keep it ordered. >> >>> +static int __switch_match_by_of_node(struct device *dev, const void *name) >>> +{ >>> + if (!dev->parent || !dev->parent->of_node) >>> + return 0; >>> + >>> + return of_node_name_eq(dev->parent->of_node, (const char *)name); >>> +} >> >> I think Heikki has introduced some more generic function for this. > > Yes, for this I'm proposing a new function fwnode_get_name() that > should allow us to support ACPI as well as OF platforms: > https://lkml.org/lkml/2018/11/28/784 > >>> sw = device_connection_find_match(dev, "usb-role-switch", NULL, >>> usb_role_switch_match); >> >>> + sw = of_graph_find_match_by_type(dev, "usb-role-switch"); >> >> Why this is here?! device_connection_find_match() should take care for OF case. > > Exactly. device_connection_find_match() needs to parse the graph (OF > and ACPI), and I already made proposal (RFC) for that: > https://lkml.org/lkml/2018/10/24/619 > > I have prepared a more finalized version of those patches. I've been > waiting for that fwnode_get_name() to be accepted before sending it > out since we are going to need that function, but I'll send a new RFC > if nothing happens soon with that fwnode_get_name() series. > > > Br, > Have the fwnode_get_name() patches been accepted? And I will be grateful if you can tell me your plan about the https://lkml.org/lkml/2018/10/24/619 patches. thanks - Yu Chen From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chen Yu Subject: Re: [PATCH v1 07/12] usb: roles: Find the usb role switch by also matching against the device node Date: Mon, 21 Jan 2019 16:36:13 +0800 Message-ID: References: <20181203034515.91412-1-chenyu56@huawei.com> <20181203034515.91412-8-chenyu56@huawei.com> <20181203122534.GD24338@kuha.fi.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20181203122534.GD24338@kuha.fi.intel.com> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Heikki Krogerus , Andy Shevchenko Cc: liuyu712@hisilicon.com, USB , devicetree , Linux Kernel Mailing List , Suzhuangluan , Kongfei , Greg Kroah-Hartman , Hans de Goede , John Stultz List-Id: devicetree@vger.kernel.org Hi Heikki, On 2018/12/3 20:25, Heikki Krogerus wrote: > Hi, > > On Mon, Dec 03, 2018 at 10:17:20AM +0200, Andy Shevchenko wrote: >> On Mon, Dec 3, 2018 at 5:45 AM Yu Chen wrote: >>> >>> This patch adds code for supporting find usb role switch by matching against >>> the device node described using of_graph. >> >>> #include >>> #include >>> #include >>> +#include >>> +#include >> >> Keep it ordered. >> >>> +static int __switch_match_by_of_node(struct device *dev, const void *name) >>> +{ >>> + if (!dev->parent || !dev->parent->of_node) >>> + return 0; >>> + >>> + return of_node_name_eq(dev->parent->of_node, (const char *)name); >>> +} >> >> I think Heikki has introduced some more generic function for this. > > Yes, for this I'm proposing a new function fwnode_get_name() that > should allow us to support ACPI as well as OF platforms: > https://lkml.org/lkml/2018/11/28/784 > >>> sw = device_connection_find_match(dev, "usb-role-switch", NULL, >>> usb_role_switch_match); >> >>> + sw = of_graph_find_match_by_type(dev, "usb-role-switch"); >> >> Why this is here?! device_connection_find_match() should take care for OF case. > > Exactly. device_connection_find_match() needs to parse the graph (OF > and ACPI), and I already made proposal (RFC) for that: > https://lkml.org/lkml/2018/10/24/619 > > I have prepared a more finalized version of those patches. I've been > waiting for that fwnode_get_name() to be accepted before sending it > out since we are going to need that function, but I'll send a new RFC > if nothing happens soon with that fwnode_get_name() series. > > > Br, > Have the fwnode_get_name() patches been accepted? And I will be grateful if you can tell me your plan about the https://lkml.org/lkml/2018/10/24/619 patches. thanks - Yu Chen 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: [v1,07/12] usb: roles: Find the usb role switch by also matching against the device node From: Yu Chen Message-Id: Date: Mon, 21 Jan 2019 16:36:13 +0800 To: Heikki Krogerus , Andy Shevchenko Cc: liuyu712@hisilicon.com, USB , devicetree , Linux Kernel Mailing List , Suzhuangluan , Kongfei , Greg Kroah-Hartman , Hans de Goede , John Stultz List-ID: SGkgSGVpa2tpLAoKT24gMjAxOC8xMi8zIDIwOjI1LCBIZWlra2kgS3JvZ2VydXMgd3JvdGU6Cj4g SGksCj4gCj4gT24gTW9uLCBEZWMgMDMsIDIwMTggYXQgMTA6MTc6MjBBTSArMDIwMCwgQW5keSBT aGV2Y2hlbmtvIHdyb3RlOgo+PiBPbiBNb24sIERlYyAzLCAyMDE4IGF0IDU6NDUgQU0gWXUgQ2hl biA8Y2hlbnl1NTZAaHVhd2VpLmNvbT4gd3JvdGU6Cj4+Pgo+Pj4gVGhpcyBwYXRjaCBhZGRzIGNv ZGUgZm9yIHN1cHBvcnRpbmcgZmluZCB1c2Igcm9sZSBzd2l0Y2ggYnkgbWF0Y2hpbmcgYWdhaW5z dAo+Pj4gdGhlIGRldmljZSBub2RlIGRlc2NyaWJlZCB1c2luZyBvZl9ncmFwaC4KPj4KPj4+ICAj aW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4+PiAgI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+Cj4+ PiAgI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KPj4+ICsjaW5jbHVkZSA8bGludXgvb2YuaD4KPj4+ ICsjaW5jbHVkZSA8bGludXgvb2ZfZ3JhcGguaD4KPj4KPj4gS2VlcCBpdCBvcmRlcmVkLgo+Pgo+ Pj4gK3N0YXRpYyBpbnQgX19zd2l0Y2hfbWF0Y2hfYnlfb2Zfbm9kZShzdHJ1Y3QgZGV2aWNlICpk ZXYsIGNvbnN0IHZvaWQgKm5hbWUpCj4+PiArewo+Pj4gKyAgICAgICBpZiAoIWRldi0+cGFyZW50 IHx8ICFkZXYtPnBhcmVudC0+b2Zfbm9kZSkKPj4+ICsgICAgICAgICAgICAgICByZXR1cm4gMDsK Pj4+ICsKPj4+ICsgICAgICAgcmV0dXJuIG9mX25vZGVfbmFtZV9lcShkZXYtPnBhcmVudC0+b2Zf bm9kZSwgKGNvbnN0IGNoYXIgKiluYW1lKTsKPj4+ICt9Cj4+Cj4+IEkgdGhpbmsgSGVpa2tpIGhh cyBpbnRyb2R1Y2VkIHNvbWUgbW9yZSBnZW5lcmljIGZ1bmN0aW9uIGZvciB0aGlzLgo+IAo+IFll cywgZm9yIHRoaXMgSSdtIHByb3Bvc2luZyBhIG5ldyBmdW5jdGlvbiBmd25vZGVfZ2V0X25hbWUo KSB0aGF0Cj4gc2hvdWxkIGFsbG93IHVzIHRvIHN1cHBvcnQgQUNQSSBhcyB3ZWxsIGFzIE9GIHBs YXRmb3JtczoKPiBodHRwczovL2xrbWwub3JnL2xrbWwvMjAxOC8xMS8yOC83ODQKPiAKPj4+ICAg ICAgICAgc3cgPSBkZXZpY2VfY29ubmVjdGlvbl9maW5kX21hdGNoKGRldiwgInVzYi1yb2xlLXN3 aXRjaCIsIE5VTEwsCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1c2Jfcm9sZV9zd2l0Y2hfbWF0Y2gpOwo+Pgo+Pj4gKyAgICAgICBzdyA9IG9mX2dyYXBoX2Zp bmRfbWF0Y2hfYnlfdHlwZShkZXYsICJ1c2Itcm9sZS1zd2l0Y2giKTsKPj4KPj4gV2h5IHRoaXMg aXMgaGVyZT8hIGRldmljZV9jb25uZWN0aW9uX2ZpbmRfbWF0Y2goKSBzaG91bGQgdGFrZSBjYXJl IGZvciBPRiBjYXNlLgo+IAo+IEV4YWN0bHkuIGRldmljZV9jb25uZWN0aW9uX2ZpbmRfbWF0Y2go KSBuZWVkcyB0byBwYXJzZSB0aGUgZ3JhcGggKE9GCj4gYW5kIEFDUEkpLCBhbmQgSSBhbHJlYWR5 IG1hZGUgcHJvcG9zYWwgKFJGQykgZm9yIHRoYXQ6Cj4gaHR0cHM6Ly9sa21sLm9yZy9sa21sLzIw MTgvMTAvMjQvNjE5Cj4gCj4gSSBoYXZlIHByZXBhcmVkIGEgbW9yZSBmaW5hbGl6ZWQgdmVyc2lv biBvZiB0aG9zZSBwYXRjaGVzLiBJJ3ZlIGJlZW4KPiB3YWl0aW5nIGZvciB0aGF0IGZ3bm9kZV9n ZXRfbmFtZSgpIHRvIGJlIGFjY2VwdGVkIGJlZm9yZSBzZW5kaW5nIGl0Cj4gb3V0IHNpbmNlIHdl IGFyZSBnb2luZyB0byBuZWVkIHRoYXQgZnVuY3Rpb24sIGJ1dCBJJ2xsIHNlbmQgYSBuZXcgUkZD Cj4gaWYgbm90aGluZyBoYXBwZW5zIHNvb24gd2l0aCB0aGF0IGZ3bm9kZV9nZXRfbmFtZSgpIHNl cmllcy4KPiAKPiAKPiBCciwKPiAKCkhhdmUgdGhlIGZ3bm9kZV9nZXRfbmFtZSgpIHBhdGNoZXMg YmVlbiBhY2NlcHRlZD8KQW5kIEkgd2lsbCBiZSBncmF0ZWZ1bCBpZiB5b3UgY2FuIHRlbGwgbWUg eW91ciBwbGFuIGFib3V0IHRoZQpodHRwczovL2xrbWwub3JnL2xrbWwvMjAxOC8xMC8yNC82MTkg cGF0Y2hlcy4KCnRoYW5rcwotIFl1IENoZW4K