cip-dev.lists.cip-project.org archive mirror
 help / color / mirror / Atom feed
From: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com>
To: Pavel Machek <pavel@denx.de>
Cc: "cip-dev@lists.cip-project.org" <cip-dev@lists.cip-project.org>
Subject: Re: [cip-dev] [PATCH 4.19.y-cip 05/23] usb: typec: Find the ports by also matching against the device node
Date: Thu, 20 Feb 2020 10:44:45 +0000	[thread overview]
Message-ID: <OSAPR01MB5028928128CE601FDAFB1AF1AE130@OSAPR01MB5028.jpnprd01.prod.outlook.com> (raw)
In-Reply-To: <20200219075630.GC31996@amd>

> -----Original Message-----
> From: Pavel Machek <pavel@denx.de>
> Sent: 19 February 2020 07:57
> To: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com>
> Cc: cip-dev@lists.cip-project.org
> Subject: Re: [cip-dev] [PATCH 4.19.y-cip 05/23] usb: typec: Find the ports by
> also matching against the device node
> 
> Hi!
> 
> > From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> >
> > commit 6a0bbcf96b2273f110a14d11a5952527c5921191 upstream.
> >
> > When the connections are defined in firmware, struct device_connection
> > will have the fwnode member pointing to the device node (struct
> > fwnode_handle) of the requested device, and the endpoint will not be
> > used at all in that case.
> 
> >  static void *typec_port_match(struct device_connection *con, int ep,
> > void *data)  {
> > -	return class_find_device(typec_class, NULL, con->endpoint[ep],
> > -				 __typec_port_match);
> ...
> > +	dev = class_find_device(typec_class, NULL, con->endpoint[ep],
> > +				typec_port_name_match);
> > +
> > +	return dev ? dev : ERR_PTR(-EPROBE_DEFER);
> >  }
> 
> So... this adds handling in fwnode != NULL (expected, okay with me), but it
> also changes behaviour in fwnode == NULL case: return value changed from
> NULL to ERR_PTR(-EPROBE_DEFER). Are all callers ready to handle the
> changed situation in -cip? Could we get some explanation why it is
> neccessary/good idea?

This is part of the Type-C Alternate Modes. This callback is used only by the
typec_altmode_register_notifier() that should be called by the upper driver
that uses the USB Type-C port in the Alternate Mode. In this way it can receive
notifications from it. 

In its initial form, this function explores the graph child nodes and finds the
adequate USB port controller device. But, this device might not be ready/probed
yet. Hence, the EPROBE_DEFER addition of this patch.

Strangely enough, no one is using this notification chain so far, not even in
mainstream. I guess Type-C is still in its infancy. 
_______________________________________________
cip-dev mailing list
cip-dev@lists.cip-project.org
https://lists.cip-project.org/mailman/listinfo/cip-dev

  reply	other threads:[~2020-02-20 10:44 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-18 14:04 [cip-dev] [PATCH 4.19.y-cip 00/23] Renesas RZ/G2E USB Type-C Backport Marian-Cristian Rotariu
2020-02-18 14:04 ` [cip-dev] [PATCH 4.19.y-cip 01/23] device connection: Add fwnode member to struct device_connection Marian-Cristian Rotariu
2020-02-19  7:42   ` Pavel Machek
2020-02-19 19:11     ` Marian-Cristian Rotariu
2020-02-18 14:04 ` [cip-dev] [PATCH 4.19.y-cip 02/23] usb: typec: mux: Find the muxes by also matching against the device node Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 03/23] usb: typec: mux: Fix unsigned comparison with less than zero Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 04/23] usb: roles: Find the muxes by also matching against the device node Marian-Cristian Rotariu
2020-02-19  7:51   ` Pavel Machek
2020-02-19 19:04     ` Marian-Cristian Rotariu
2020-02-19 21:38       ` Pavel Machek
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 05/23] usb: typec: Find the ports " Marian-Cristian Rotariu
2020-02-19  7:56   ` Pavel Machek
2020-02-20 10:44     ` Marian-Cristian Rotariu [this message]
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 06/23] device connection: Prepare support for firmware described connections Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 07/23] device connection: Find device connections also from device graphs Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 08/23] device property: Introduce fwnode_find_reference() Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 09/23] device connection: Find connections also by checking the references Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 10/23] usb: roles: Introduce stubs for the exiting functions in role.h Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 11/23] device connection: Add fwnode_connection_find_match() Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 12/23] usb: roles: Add fwnode_usb_role_switch_get() function Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 13/23] dt-bindings: usb: hd3ss3220 device tree binding document Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 14/23] dt-bindings: usb: renesas_usb3: Document usb role switch support Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 15/23] usb: typec: driver for TI HD3SS3220 USB Type-C DRP port controller Marian-Cristian Rotariu
2020-02-19  8:12   ` Pavel Machek
2020-02-20 11:20     ` [cip-dev] " Marian-Cristian Rotariu
2020-02-20 15:46       ` Pavel Machek
2020-02-20 16:28         ` Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 16/23] usb: typec: hd3ss3220_irq() can be static Marian-Cristian Rotariu
2020-02-19  8:20   ` Pavel Machek
2020-02-19 19:15     ` Marian-Cristian Rotariu
2020-02-19 21:40       ` Pavel Machek
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 17/23] usb: typec: add dependency for TYPEC_HD3SS3220 Marian-Cristian Rotariu
2020-02-19  8:16   ` Pavel Machek
2020-02-20 11:40     ` [cip-dev] " Marian-Cristian Rotariu
2020-02-20 15:50       ` Pavel Machek
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 18/23] usb: typec: hd3ss3220: hd3ss3220_probe() warn: passing zero to 'PTR_ERR' Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 19/23] usb: typec: fix an IS_ERR() vs NULL bug in hd3ss3220_probe() Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 20/23] usb: gadget: udc: renesas_usb3: Enhance role switch support Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 21/23] arm64: defconfig: enable TYPEC_HD3SS3220 config option Marian-Cristian Rotariu
2020-02-19  8:19   ` Pavel Machek
2020-02-19 19:18     ` Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 22/23] arm64: dts: renesas: cat874: Enable USB3.0 host/peripheral device node Marian-Cristian Rotariu
2020-02-18 14:05 ` [cip-dev] [PATCH 4.19.y-cip 23/23] arm64: dts: renesas: cat874: Enable usb role switch support Marian-Cristian Rotariu
2020-02-19  7:41 ` [PATCH 4.19.y-cip 00/23] Renesas RZ/G2E USB Type-C Backport Pavel Machek
2020-02-19 18:43   ` Marian-Cristian Rotariu
2020-02-19 21:35     ` Pavel Machek

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=OSAPR01MB5028928128CE601FDAFB1AF1AE130@OSAPR01MB5028.jpnprd01.prod.outlook.com \
    --to=marian-cristian.rotariu.rb@bp.renesas.com \
    --cc=cip-dev@lists.cip-project.org \
    --cc=pavel@denx.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).