diff options
author | Heikki Krogerus <heikki.krogerus@linux.intel.com> | 2021-09-30 15:47:58 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-10-05 13:46:22 +0200 |
commit | b87d8d0d4c43c29ccdc57d15b2ebc1df886a34b4 (patch) | |
tree | bc11c7d963a25b864b8c5ea6a90f98d510dd4802 /drivers/usb | |
parent | 4d1aa9112c8e6995ef2c8a76972c9671332ccfea (diff) | |
download | linux-stable-b87d8d0d4c43c29ccdc57d15b2ebc1df886a34b4.tar.gz linux-stable-b87d8d0d4c43c29ccdc57d15b2ebc1df886a34b4.tar.bz2 linux-stable-b87d8d0d4c43c29ccdc57d15b2ebc1df886a34b4.zip |
usb: typec: tipd: Remove dependency on "connector" child fwnode
There is no "connector" child node available on every
platform, so the driver can't fail to probe when it's
missing.
Fixes: 57560ee95cb7 ("usb: typec: tipd: Don't block probing of consumer of "connector" nodes")
Cc: stable@vger.kernel.org # 5.14+
Reported-by: "Regupathy, Rajaram" <rajaram.regupathy@intel.com>
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20210930124758.23233-1-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/typec/tipd/core.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/usb/typec/tipd/core.c b/drivers/usb/typec/tipd/core.c index 21b3ae25c76d..ea4cc0a6e40c 100644 --- a/drivers/usb/typec/tipd/core.c +++ b/drivers/usb/typec/tipd/core.c @@ -625,10 +625,6 @@ static int tps6598x_probe(struct i2c_client *client) if (ret < 0) return ret; - fwnode = device_get_named_child_node(&client->dev, "connector"); - 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. @@ -636,7 +632,9 @@ static int tps6598x_probe(struct i2c_client *client) * with existing DT files, we work around this by deleting any * fwnode_links to/from this fwnode. */ - fw_devlink_purge_absent_suppliers(fwnode); + fwnode = device_get_named_child_node(&client->dev, "connector"); + if (fwnode) + fw_devlink_purge_absent_suppliers(fwnode); tps->role_sw = fwnode_usb_role_switch_get(fwnode); if (IS_ERR(tps->role_sw)) { |