All of lore.kernel.org
 help / color / mirror / Atom feed
From: Saravana Kannan <saravanak@google.com>
To: Martin Kepplinger <martin.kepplinger@puri.sm>
Cc: grandmaster@al2klimov.de, gregkh@linuxfoundation.org,
	heikki.krogerus@linux.intel.com, rjw@rjwysocki.net,
	kernel@puri.sm, linux-kernel@vger.kernel.org,
	linux-usb@vger.kernel.org,
	Android Kernel Team <kernel-team@android.com>
Subject: Re: [PATCH v2] usb: typec: tipd: Don't block probing of consumer of "connector" nodes
Date: Thu, 21 Jul 2022 16:06:15 -0700	[thread overview]
Message-ID: <CAGETcx-rfcP9dFSstf7PKmc2W3kWRLCMRGz8uCvJxo-OpFpjgw@mail.gmail.com> (raw)
In-Reply-To: <20210714061807.5737-1-martin.kepplinger@puri.sm>

On Tue, Jul 13, 2021 at 11:18 PM Martin Kepplinger
<martin.kepplinger@puri.sm> wrote:
>
> Similar as with tcpm this patch lets fw_devlink know not to wait on the
> fwnode to be populated as a struct device.
>
> Without this patch, USB functionality can be broken on some previously
> supported boards.
>
> Fixes: 28ec344bb891 ("usb: typec: tcpm: Don't block probing of consumers of "connector" nodes")
> Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
> ---
>
> revision history
> ----------------
> v2: (thank you Saravana)
> * add a code-comment why the call is needed.
>
> v1:
> https://lore.kernel.org/linux-usb/20210713073946.102501-1-martin.kepplinger@puri.sm/
>
>
>
>  drivers/usb/typec/tipd/core.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/drivers/usb/typec/tipd/core.c b/drivers/usb/typec/tipd/core.c
> index 938219bc1b4b..21b3ae25c76d 100644
> --- a/drivers/usb/typec/tipd/core.c
> +++ b/drivers/usb/typec/tipd/core.c
> @@ -629,6 +629,15 @@ static int tps6598x_probe(struct i2c_client *client)
>         if (!fwnode)
>                 return -ENODEV;
>
> +       /*
> +        * This fwnode has a "compatible" property, but is never populated as a
> +        * struct device. Instead we simply parse it to read the properties.
> +        * This breaks fw_devlink=on. To maintain backward compatibility
> +        * with existing DT files, we work around this by deleting any
> +        * fwnode_links to/from this fwnode.
> +        */
> +       fw_devlink_purge_absent_suppliers(fwnode);
> +

Hey Martin,

As part of a series I'm working on, I'm looking into deleting
fw_devlink_purge_absent_suppliers() and having the driver core figure
this out automatically.

So I was making sure all the current uses of
fw_devlink_purge_absent_suppliers() would automatically be handled by
driver core. But when I looked at this usage of
fw_devlink_purge_absent_suppliers(), I didn't see any "compatible"
property in the "connector" child node. So, I'm confused how you had a
problem without this patch.

fw_devlink would have created fwnode links
between typec_pd and usb_dwc3_0, figured out it's a cycle and have
stopped enforcing the "remote-endpoint" dependencies.

Can you give me more details please on why you were having a problem
without this patch?

I'm looking at arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi as an
example because you listed it in your v1 patch.

-Saravana

>         tps->role_sw = fwnode_usb_role_switch_get(fwnode);
>         if (IS_ERR(tps->role_sw)) {
>                 ret = PTR_ERR(tps->role_sw);
> --
> 2.30.2
>

  parent reply	other threads:[~2022-07-21 23:06 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-14  6:18 [PATCH v2] usb: typec: tipd: Don't block probing of consumer of "connector" nodes Martin Kepplinger
2021-07-16  9:56 ` Heikki Krogerus
2022-07-21 23:06 ` Saravana Kannan [this message]
2022-07-26  8:44   ` Martin Kepplinger

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=CAGETcx-rfcP9dFSstf7PKmc2W3kWRLCMRGz8uCvJxo-OpFpjgw@mail.gmail.com \
    --to=saravanak@google.com \
    --cc=grandmaster@al2klimov.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=kernel-team@android.com \
    --cc=kernel@puri.sm \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=martin.kepplinger@puri.sm \
    --cc=rjw@rjwysocki.net \
    /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.