All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: chenyu56@huawei.com, USB <linux-usb@vger.kernel.org>,
	devicetree <devicetree@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Suzhuangluan <suzhuangluan@hisilicon.com>,
	Kongfei <kongfei@hisilicon.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Hans de Goede <hdegoede@redhat.com>,
	John Stultz <john.stultz@linaro.org>
Subject: [v1,07/12] usb: roles: Find the usb role switch by also matching against the device node
Date: Mon, 3 Dec 2018 14:25:34 +0200	[thread overview]
Message-ID: <20181203122534.GD24338@kuha.fi.intel.com> (raw)

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 <chenyu56@huawei.com> wrote:
> >
> > This patch adds code for supporting find usb role switch by matching against
> > the device node described using of_graph.
> 
> >  #include <linux/module.h>
> >  #include <linux/mutex.h>
> >  #include <linux/slab.h>
> > +#include <linux/of.h>
> > +#include <linux/of_graph.h>
> 
> 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,

WARNING: multiple messages have this Message-ID (diff)
From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: chenyu56@huawei.com, USB <linux-usb@vger.kernel.org>,
	devicetree <devicetree@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Suzhuangluan <suzhuangluan@hisilicon.com>,
	Kongfei <kongfei@hisilicon.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Hans de Goede <hdegoede@redhat.com>,
	John Stultz <john.stultz@linaro.org>
Subject: Re: [PATCH v1 07/12] usb: roles: Find the usb role switch by also matching against the device node
Date: Mon, 3 Dec 2018 14:25:34 +0200	[thread overview]
Message-ID: <20181203122534.GD24338@kuha.fi.intel.com> (raw)
In-Reply-To: <CAHp75VfUKAQ+Q0cQz-4-=i2JL9uACBX1bVvCeNjZLL1HStDGKQ@mail.gmail.com>

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 <chenyu56@huawei.com> wrote:
> >
> > This patch adds code for supporting find usb role switch by matching against
> > the device node described using of_graph.
> 
> >  #include <linux/module.h>
> >  #include <linux/mutex.h>
> >  #include <linux/slab.h>
> > +#include <linux/of.h>
> > +#include <linux/of_graph.h>
> 
> 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,

-- 
heikki

             reply	other threads:[~2018-12-03 12:25 UTC|newest]

Thread overview: 130+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-03 12:25 Heikki Krogerus [this message]
2018-12-03 12:25 ` [PATCH v1 07/12] usb: roles: Find the usb role switch by also matching against the device node Heikki Krogerus
  -- strict thread matches above, loose matches on Subject: below --
2019-01-25 12:35 [v1,07/12] " Heikki Krogerus
2019-01-25 12:35 ` [PATCH v1 07/12] " Heikki Krogerus
2019-01-21 13:51 [v1,07/12] " Heikki Krogerus
2019-01-21 13:51 ` [PATCH v1 07/12] " Heikki Krogerus
2019-01-21  8:36 [v1,07/12] " Yu Chen
2019-01-21  8:36 ` [PATCH v1 07/12] " Chen Yu
2019-01-21  8:36 ` Chen Yu
2018-12-20 13:48 [v1,01/12] dt-bindings: usb: add support for dwc3 controller on HiSilicon SoCs Rob Herring
2018-12-20 13:48 ` [PATCH v1 01/12] " Rob Herring
2018-12-20  6:46 [v1,01/12] " Felipe Balbi
2018-12-20  6:46 ` [PATCH v1 01/12] " Felipe Balbi
2018-12-20  2:02 [v1,03/12] dt-bindings: misc: Add bindings for HiSilicon usb hub and data role switch functionality on HiKey960 Yu Chen
2018-12-20  2:02 ` [PATCH v1 03/12] " Chen Yu
2018-12-20  2:02 ` Chen Yu
2018-12-20  1:52 [v1,02/12] dt-bindings: phy: Add support for HiSilicon's hi3660 USB PHY Yu Chen
2018-12-20  1:52 ` [PATCH v1 02/12] " Chen Yu
2018-12-20  1:52 ` Chen Yu
2018-12-20  1:33 [v1,01/12] dt-bindings: usb: add support for dwc3 controller on HiSilicon SoCs Yu Chen
2018-12-20  1:33 ` [PATCH v1 01/12] " Chen Yu
2018-12-20  1:33 ` Chen Yu
2018-12-19 14:21 [v1,03/12] dt-bindings: misc: Add bindings for HiSilicon usb hub and data role switch functionality on HiKey960 Rob Herring
2018-12-19 14:21 ` [PATCH v1 03/12] " Rob Herring
2018-12-19 14:14 [v1,02/12] dt-bindings: phy: Add support for HiSilicon's hi3660 USB PHY Rob Herring
2018-12-19 14:14 ` [PATCH v1 02/12] " Rob Herring
2018-12-19 14:09 [v1,01/12] dt-bindings: usb: add support for dwc3 controller on HiSilicon SoCs Rob Herring
2018-12-19 14:09 ` [PATCH v1 01/12] " Rob Herring
2018-12-05  8:44 [v1,10/12] hikey960: Support usb functionality of Hikey960 Andy Shevchenko
2018-12-05  8:44 ` [PATCH v1 10/12] " Andy Shevchenko
2018-12-05  1:57 [v1,10/12] " Yu Chen
2018-12-05  1:57 ` [PATCH v1 10/12] " Chen Yu
2018-12-05  1:57 ` Chen Yu
2018-12-05  0:56 [v1,09/12] usb: dwc3: Registering a role switch in the DRD code Yu Chen
2018-12-05  0:56 ` [PATCH v1 09/12] " Chen Yu
2018-12-05  0:56 ` Chen Yu
2018-12-04 17:47 [v1,10/12] hikey960: Support usb functionality of Hikey960 Andy Shevchenko
2018-12-04 17:47 ` [PATCH v1 10/12] " Andy Shevchenko
2018-12-04 12:45 [v1,12/12] dts: hi3660: Add support for usb on Hikey960 Heikki Krogerus
2018-12-04 12:45 ` [PATCH v1 12/12] " Heikki Krogerus
2018-12-04 12:45 ` Heikki Krogerus
2018-12-04 10:54 [v1,09/12] usb: dwc3: Registering a role switch in the DRD code Heikki Krogerus
2018-12-04 10:54 ` [PATCH v1 09/12] " Heikki Krogerus
2018-12-04  1:40 [v1,10/12] hikey960: Support usb functionality of Hikey960 Yu Chen
2018-12-04  1:40 ` [PATCH v1 10/12] " Chen Yu
2018-12-04  1:40 ` Chen Yu
2018-12-04  1:22 [v1,11/12] usb: gadget: Add configfs attribuite for controling match_existing_only Yu Chen
2018-12-04  1:22 ` [PATCH v1 11/12] " Chen Yu
2018-12-04  1:22 ` Chen Yu
2018-12-04  1:07 [v1,08/12] usb: roles: Add usb role switch notifier Yu Chen
2018-12-04  1:07 ` [PATCH v1 08/12] " Chen Yu
2018-12-04  1:07 ` Chen Yu
2018-12-03 12:43 [v1,09/12] usb: dwc3: Registering a role switch in the DRD code Heikki Krogerus
2018-12-03 12:43 ` [PATCH v1 09/12] " Heikki Krogerus
2018-12-03 12:38 [v1,08/12] usb: roles: Add usb role switch notifier Heikki Krogerus
2018-12-03 12:38 ` [PATCH v1 08/12] " Heikki Krogerus
2018-12-03  9:53 [v1,11/12] usb: gadget: Add configfs attribuite for controling match_existing_only Krzysztof Opasiak
2018-12-03  9:53 ` [PATCH v1 11/12] " Krzysztof Opasiak
2018-12-03  9:30 [v1,09/12] usb: dwc3: Registering a role switch in the DRD code Yu Chen
2018-12-03  9:30 ` [PATCH v1 09/12] " Chen Yu
2018-12-03  9:30 ` Chen Yu
2018-12-03  9:28 [v1,01/12] dt-bindings: usb: add support for dwc3 controller on HiSilicon SoCs Yu Chen
2018-12-03  9:28 ` [PATCH v1 01/12] " Chen Yu
2018-12-03  9:28 ` Chen Yu
2018-12-03  9:25 [v1,11/12] usb: gadget: Add configfs attribuite for controling match_existing_only Andy Shevchenko
2018-12-03  9:25 ` [PATCH v1 11/12] " Andy Shevchenko
2018-12-03  9:23 [v1,10/12] hikey960: Support usb functionality of Hikey960 Andy Shevchenko
2018-12-03  9:23 ` [PATCH v1 10/12] " Andy Shevchenko
2018-12-03  9:15 [v1,09/12] usb: dwc3: Registering a role switch in the DRD code Andy Shevchenko
2018-12-03  9:15 ` [PATCH v1 09/12] " Andy Shevchenko
2018-12-03  8:59 [v1,01/12] dt-bindings: usb: add support for dwc3 controller on HiSilicon SoCs Sergei Shtylyov
2018-12-03  8:59 ` [PATCH v1 01/12] " Sergei Shtylyov
2018-12-03  8:51 [v1,01/12] " Yu Chen
2018-12-03  8:51 ` [PATCH v1 01/12] " Chen Yu
2018-12-03  8:51 ` Chen Yu
2018-12-03  8:35 [v1,01/12] " Sergei Shtylyov
2018-12-03  8:35 ` [PATCH v1 01/12] " Sergei Shtylyov
2018-12-03  8:30 [v1,04/12] usb: dwc3: dwc3-hisi: Add code for dwc3 of Hisilicon Soc Platform Yu Chen
2018-12-03  8:30 ` [PATCH v1 04/12] " Chen Yu
2018-12-03  8:30 ` Chen Yu
2018-12-03  8:23 [v1,05/12] usb: dwc3: Add two quirks for Hisilicon Kirin " Yu Chen
2018-12-03  8:23 ` [PATCH v1 05/12] " Chen Yu
2018-12-03  8:23 ` Chen Yu
2018-12-03  8:17 [v1,07/12] usb: roles: Find the usb role switch by also matching against the device node Andy Shevchenko
2018-12-03  8:17 ` [PATCH v1 07/12] " Andy Shevchenko
2018-12-03  8:14 [v1,06/12] phy: Add usb phy support for hi3660 Soc of Hisilicon Andy Shevchenko
2018-12-03  8:14 ` [PATCH v1 06/12] " Andy Shevchenko
2018-12-03  8:12 [v1,04/12] usb: dwc3: dwc3-hisi: Add code for dwc3 of Hisilicon Soc Platform Andy Shevchenko
2018-12-03  8:12 ` [PATCH v1 04/12] " Andy Shevchenko
2018-12-03  8:02 [v1,05/12] usb: dwc3: Add two quirks for Hisilicon Kirin " Andy Shevchenko
2018-12-03  8:02 ` [PATCH v1 05/12] " Andy Shevchenko
2018-12-03  3:45 [v1,12/12] dts: hi3660: Add support for usb on Hikey960 Yu Chen
2018-12-03  3:45 ` [PATCH v1 12/12] " Yu Chen
2018-12-03  3:45 ` Yu Chen
2018-12-03  3:45 ` Yu Chen
2018-12-03  3:45 [v1,11/12] usb: gadget: Add configfs attribuite for controling match_existing_only Yu Chen
2018-12-03  3:45 ` [PATCH v1 11/12] " Yu Chen
2018-12-03  3:45 ` Yu Chen
2018-12-03  3:45 [v1,10/12] hikey960: Support usb functionality of Hikey960 Yu Chen
2018-12-03  3:45 ` [PATCH v1 10/12] " Yu Chen
2018-12-03  3:45 ` Yu Chen
2018-12-03  3:45 [v1,09/12] usb: dwc3: Registering a role switch in the DRD code Yu Chen
2018-12-03  3:45 ` [PATCH v1 09/12] " Yu Chen
2018-12-03  3:45 ` Yu Chen
2018-12-03  3:45 [v1,08/12] usb: roles: Add usb role switch notifier Yu Chen
2018-12-03  3:45 ` [PATCH v1 08/12] " Yu Chen
2018-12-03  3:45 ` Yu Chen
2018-12-03  3:45 [v1,07/12] usb: roles: Find the usb role switch by also matching against the device node Yu Chen
2018-12-03  3:45 ` [PATCH v1 07/12] " Yu Chen
2018-12-03  3:45 ` Yu Chen
2018-12-03  3:45 [v1,06/12] phy: Add usb phy support for hi3660 Soc of Hisilicon Yu Chen
2018-12-03  3:45 ` [PATCH v1 06/12] " Yu Chen
2018-12-03  3:45 ` Yu Chen
2018-12-03  3:45 [v1,05/12] usb: dwc3: Add two quirks for Hisilicon Kirin Soc Platform Yu Chen
2018-12-03  3:45 ` [PATCH v1 05/12] " Yu Chen
2018-12-03  3:45 ` Yu Chen
2018-12-03  3:45 [v1,04/12] usb: dwc3: dwc3-hisi: Add code for dwc3 of Hisilicon " Yu Chen
2018-12-03  3:45 ` [PATCH v1 04/12] " Yu Chen
2018-12-03  3:45 ` Yu Chen
2018-12-03  3:45 [v1,03/12] dt-bindings: misc: Add bindings for HiSilicon usb hub and data role switch functionality on HiKey960 Yu Chen
2018-12-03  3:45 ` [PATCH v1 03/12] " Yu Chen
2018-12-03  3:45 ` Yu Chen
2018-12-03  3:45 [v1,02/12] dt-bindings: phy: Add support for HiSilicon's hi3660 USB PHY Yu Chen
2018-12-03  3:45 ` [PATCH v1 02/12] " Yu Chen
2018-12-03  3:45 ` Yu Chen
2018-12-03  3:45 [v1,01/12] dt-bindings: usb: add support for dwc3 controller on HiSilicon SoCs Yu Chen
2018-12-03  3:45 ` [PATCH v1 01/12] " Yu Chen
2018-12-03  3:45 ` Yu Chen
2018-12-03  3:45 [PATCH v1 00/12] Add support for usb on Hikey960 Yu Chen
2018-12-03  3:45 ` Yu Chen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181203122534.GD24338@kuha.fi.intel.com \
    --to=heikki.krogerus@linux.intel.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=chenyu56@huawei.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hdegoede@redhat.com \
    --cc=john.stultz@linaro.org \
    --cc=kongfei@hisilicon.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=suzhuangluan@hisilicon.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.