On Thu, Feb 21, 2019 at 11:35 AM Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> wrote: > > On Wed, Feb 20, 2019 at 05:55:21PM +0200, Andy Shevchenko wrote: > > On Tue, Feb 19, 2019 at 2:00 PM Heikki Krogerus > > <heikki.krogerus@xxxxxxxxxxxxxxx> wrote: > > > > > > In ACPI, and now also in DT, the USB connectors usually have > > > their own device nodes. In case of USB Type-C, those > > > connector (port) nodes are child nodes of the controller or > > > PHY device, in our case the fusb302. The software fwnodes > > > allow us to create a similar child node for fusb302 that > > > represents the connector also on Intel CHT. > > > > > > This makes it possible replace the fusb302 specific device > > > properties which were deprecated with the common USB > > > connector properties that tcpm.c is able to use directly. > > > > > + /* Node for the FUSB302 controller */ > > > + data->fusb302_node = fwnode_create_software_node(fusb302_props, NULL); > > > + if (IS_ERR(data->fusb302_node)) > > > + return PTR_ERR(data->fusb302_node); > > > + > > > + /* Node for the connector (FUSB302 is the parent) */ > > > + data->port_node = fwnode_create_software_node(usb_connector_props, > > > + data->fusb302_node); > > > + if (IS_ERR(data->port_node)) { > > > > > + fwnode_remove_software_node(data->fusb302_node); > > > > Sounds like a candidate for > > devm_fwnode_create_software_node() > > If you don't mind, let's think about that later. Sure. > > I'm not comfortable at all with the idea of introducing > devm_fwnode_create_software_node(). I would like to talk about that > separately. It's not going to be a problem to change this driver later > even if we decide to add the function. -- With Best Regards, Andy Shevchenko