On Fri, Aug 16, 2019 at 04:45:50PM +0300, Andy Shevchenko wrote:
On Fri, Aug 16, 2019 at 1:45 PM Heikki Krogerus
<heikki.krogerus@xxxxxxxxxxxxxxx> wrote:
The primary purpose for this node will be to allow linking
the users of the switch to it. The users will be for example
USB Type-C connectors. By supplying a reference to this
node in the software nodes representing the USB Type-C
controllers or connectors, the drivers for those devices can
access the switch.
+ ret = software_node_register(&intel_xhci_usb_node);
+ if (ret)
+ return ret;
+
+ sw_desc.set = intel_xhci_usb_set_role,
+ sw_desc.get = intel_xhci_usb_get_role,
+ sw_desc.allow_userspace_control = true,
+ sw_desc.fwnode = software_node_fwnode(&intel_xhci_usb_node);
+
data->role_sw = usb_role_switch_register(dev, &sw_desc);
if (IS_ERR(data->role_sw))
return PTR_ERR(data->role_sw);
Sounds to me like more fwnode_handle_put() calls are missed.
True. I'll fix it.