Re: [PATCH] usb: typec: tipd: Don't block probing of consumer of "connector" nodes
From: Heikki Krogerus
Date: Tue Jul 13 2021 - 04:58:25 EST
+Rafael, Saravana
On Tue, Jul 13, 2021 at 09:39:46AM +0200, Martin Kepplinger 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")
That patch has gone under my radar.
> Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxx>
> ---
> hi,
>
> at least the boards based on imx8mq-librem5.dtsi suffer from this, possibly
> more.
>
> thanks,
> martin
>
>
> drivers/usb/typec/tipd/core.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/usb/typec/tipd/core.c b/drivers/usb/typec/tipd/core.c
> index 938219bc1b4b..b31aaf57eb3b 100644
> --- a/drivers/usb/typec/tipd/core.c
> +++ b/drivers/usb/typec/tipd/core.c
> @@ -629,6 +629,8 @@ static int tps6598x_probe(struct i2c_client *client)
> if (!fwnode)
> return -ENODEV;
>
> + fw_devlink_purge_absent_suppliers(fwnode);
Why do we have to care about this kind of stuff in the drivers? It
sounds like something that only affects DT platforms, so why isn't
this being fixed in the DT core code?
I didn't have time to study this fw_deflink thing yet, it is
completely new to me and unfortunately I'm going on vacation now, but
it looks like something that has been added to the driver core in a
haste without enough thinking, and which is now causing problems. Not
cool.
thanks,
--
heikki