Message ID | 1603098195-9923-3-git-send-email-jun.li@nxp.com |
---|---|
State | Superseded |
Headers | show |
Series | [v4,1/4] dt-bindings: usb: add documentation for typec switch simple driver | expand |
On 20-10-19 17:03:14, Li Jun wrote: > For those need a dedicated typec switch simple solution driver, > use compatible property for matching. > > Signed-off-by: Li Jun <jun.li@nxp.com> > --- > New patch for v4. > > drivers/usb/typec/mux.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/usb/typec/mux.c b/drivers/usb/typec/mux.c > index 52ad277..3da17d1 100644 > --- a/drivers/usb/typec/mux.c > +++ b/drivers/usb/typec/mux.c > @@ -39,7 +39,8 @@ static void *typec_switch_match(struct device_connection *con, int ep, > { > struct device *dev; > > - if (con->id && !fwnode_property_present(con->fwnode, con->id)) > + if (con->id && !fwnode_is_compatible(con->fwnode, con->id) && > + !fwnode_property_present(con->fwnode, con->id)) > return NULL; If property is not present, should not fwnode_is_compatible return NULL? Peter > > dev = class_find_device(&typec_mux_class, NULL, con->fwnode, > @@ -61,8 +62,8 @@ struct typec_switch *fwnode_typec_switch_get(struct fwnode_handle *fwnode) > { > struct typec_switch *sw; > > - sw = fwnode_connection_find_match(fwnode, "orientation-switch", NULL, > - typec_switch_match); > + sw = fwnode_connection_find_match(fwnode, "typec-orientation-switch", > + NULL, typec_switch_match); > if (!IS_ERR_OR_NULL(sw)) > WARN_ON(!try_module_get(sw->dev.parent->driver->owner)); > > -- > 2.7.4 > -- Thanks, Peter Chen
diff --git a/drivers/usb/typec/mux.c b/drivers/usb/typec/mux.c index 52ad277..3da17d1 100644 --- a/drivers/usb/typec/mux.c +++ b/drivers/usb/typec/mux.c @@ -39,7 +39,8 @@ static void *typec_switch_match(struct device_connection *con, int ep, { struct device *dev; - if (con->id && !fwnode_property_present(con->fwnode, con->id)) + if (con->id && !fwnode_is_compatible(con->fwnode, con->id) && + !fwnode_property_present(con->fwnode, con->id)) return NULL; dev = class_find_device(&typec_mux_class, NULL, con->fwnode, @@ -61,8 +62,8 @@ struct typec_switch *fwnode_typec_switch_get(struct fwnode_handle *fwnode) { struct typec_switch *sw; - sw = fwnode_connection_find_match(fwnode, "orientation-switch", NULL, - typec_switch_match); + sw = fwnode_connection_find_match(fwnode, "typec-orientation-switch", + NULL, typec_switch_match); if (!IS_ERR_OR_NULL(sw)) WARN_ON(!try_module_get(sw->dev.parent->driver->owner));
For those need a dedicated typec switch simple solution driver, use compatible property for matching. Signed-off-by: Li Jun <jun.li@nxp.com> --- New patch for v4. drivers/usb/typec/mux.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)