Skip to content

Commit 57560ee

Browse files
mergegregkh
authored andcommitted
usb: typec: tipd: Don't block probing of consumer of "connector" nodes
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: 28ec344 ("usb: typec: tcpm: Don't block probing of consumers of "connector" nodes") Cc: stable <[email protected]> Acked-by: Heikki Krogerus <[email protected]> Signed-off-by: Martin Kepplinger <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 72f68bf commit 57560ee

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

drivers/usb/typec/tipd/core.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -629,6 +629,15 @@ static int tps6598x_probe(struct i2c_client *client)
629629
if (!fwnode)
630630
return -ENODEV;
631631

632+
/*
633+
* This fwnode has a "compatible" property, but is never populated as a
634+
* struct device. Instead we simply parse it to read the properties.
635+
* This breaks fw_devlink=on. To maintain backward compatibility
636+
* with existing DT files, we work around this by deleting any
637+
* fwnode_links to/from this fwnode.
638+
*/
639+
fw_devlink_purge_absent_suppliers(fwnode);
640+
632641
tps->role_sw = fwnode_usb_role_switch_get(fwnode);
633642
if (IS_ERR(tps->role_sw)) {
634643
ret = PTR_ERR(tps->role_sw);

0 commit comments

Comments
 (0)