Hi, > -----Original Message----- > From: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > Sent: Wednesday, May 26, 2021 11:36 PM > To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>; Hans de Goede > <hdegoede@xxxxxxxxxx>; Jun Li <jun.li@xxxxxxx> > Cc: linux-usb@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx > Subject: [PATCH 2/2] usb: typec: mux: Remove requirement for the > "orientation-switch" device property > > The additional boolean device property "orientation-switch" > is not needed when the connection is described with device graph, so removing > the check and the requirement for it. > > Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > --- > drivers/usb/typec/mux.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/drivers/usb/typec/mux.c b/drivers/usb/typec/mux.c index > e40a555724fb6..603f3e698cc0b 100644 > --- a/drivers/usb/typec/mux.c > +++ b/drivers/usb/typec/mux.c > @@ -30,9 +30,6 @@ static void *typec_switch_match(struct fwnode_handle > *fwnode, const char *id, { > struct device *dev; > > - if (id && !fwnode_property_present(fwnode, id)) > - return NULL; > - May this change the result of fwnode_connection_find_match() if there are multiple remote-endpoint node? After the 2 patches change, typec_switch_match() will never return NULL, so 17 static void * 18 fwnode_graph_devcon_match(struct fwnode_handle *fwnode, const char *con_id, 19 void *data, devcon_match_fn_t match) 20 { 21 struct fwnode_handle *node; 22 struct fwnode_handle *ep; 23 void *ret; 24 25 fwnode_graph_for_each_endpoint(fwnode, ep) { 26 node = fwnode_graph_get_remote_port_parent(ep); 27 if (!fwnode_device_is_available(node)) 28 continue; 29 30 ret = match(node, con_id, data);// ret can't be NULL; 31 fwnode_handle_put(node); 32 if (ret) { /* * So loop will go to here and stop * checking next ep, even this ep * actually is not for typec_switch */ 33 fwnode_handle_put(ep); 34 return ret; 35 } 36 } 37 return NULL; 38 } fwnode_graph_devcon_match() Will return ERR_PTR(-EPROBE_DEFER) even this ep's remote parent already probed but it's not for typec_switch. Li Jun > dev = class_find_device(&typec_mux_class, NULL, fwnode, > switch_fwnode_match); > > -- > 2.30.2