On Wed, Jan 30, 2019 at 6:03 PM Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> wrote: > > When the connections are defined in firmware, struct > device_connection will have the fwnode member pointing to > the device node (struct fwnode_handle) of the requested > device, and the endpoint will not be used at all in that > case. > + /* > + * FIXME: Check does the fwnode supports the requested SVID. If it does > + * we need to return ERR_PTR(-PROBE_DEFER) when there is no device. > + */ > + if (con->fwnode) > + return class_find_device(typec_class, NULL, con->fwnode, > + typec_port_fwnode_match); > + > + dev = class_find_device(typec_class, NULL, con->endpoint[ep], > + typec_port_name_match); > + > + return dev ? dev : ERR_PTR(-EPROBE_DEFER); Just to be clear, this one takes a reference on dev. Is it taken into account? -- With Best Regards, Andy Shevchenko