On Fri, May 28, 2021 at 07:26:43AM +0000, Jun Li wrote: > 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. You are correct. With device graph I guess we really always need the extra device property after all. So let's forget about this one. thanks, -- heikki