summaryrefslogtreecommitdiff
path: root/drivers/usb/typec/retimer.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/typec/retimer.c')
-rw-r--r--drivers/usb/typec/retimer.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/usb/typec/retimer.c b/drivers/usb/typec/retimer.c
index 051eaa7d2899..2003731f1bee 100644
--- a/drivers/usb/typec/retimer.c
+++ b/drivers/usb/typec/retimer.c
@@ -36,8 +36,13 @@ static int retimer_fwnode_match(struct device *dev, const void *fwnode)
static void *typec_retimer_match(struct fwnode_handle *fwnode, const char *id, void *data)
{
- struct device *dev = class_find_device(&retimer_class, NULL, fwnode,
- retimer_fwnode_match);
+ struct device *dev;
+
+ if (id && !fwnode_property_present(fwnode, id))
+ return NULL;
+
+ dev = class_find_device(&retimer_class, NULL, fwnode,
+ retimer_fwnode_match);
return dev ? to_typec_retimer(dev) : ERR_PTR(-EPROBE_DEFER);
}