Messages in this thread | | | From | Andy Shevchenko <> | Date | Fri, 16 Aug 2019 16:45:50 +0300 | Subject | Re: [PATCH v2 2/3] usb: roles: intel_xhci: Supplying software node for the role mux |
| |
On Fri, Aug 16, 2019 at 1:45 PM Heikki Krogerus <heikki.krogerus@linux.intel.com> 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.
> @@ -164,6 +173,8 @@ static int intel_xhci_usb_remove(struct platform_device *pdev) > pm_runtime_disable(&pdev->dev); > > usb_role_switch_unregister(data->role_sw); > + fwnode_handle_put(software_node_fwnode(&intel_xhci_usb_node));
-- With Best Regards, Andy Shevchenko
| |