From: Greg Kroah-Hartman Date: Mon, 26 Feb 2024 05:53:50 +0000 (+0100) Subject: Merge v6.8-rc6 into usb-next X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=a560a5672826fc1e057068bda93b3d4c98d037a2;p=linux.git Merge v6.8-rc6 into usb-next We need it here for the USB fixes, and it resolves a merge conflict as reported in linux-next in drivers/usb/roles/class.c Reported-by: Stephen Rothwell Signed-off-by: Greg Kroah-Hartman --- a560a5672826fc1e057068bda93b3d4c98d037a2 diff --cc drivers/usb/roles/class.c index 4ad03c93c17f1,70165dd86b5de..d7aa913ceb8a0 --- a/drivers/usb/roles/class.c +++ b/drivers/usb/roles/class.c @@@ -379,12 -361,8 +388,14 @@@ usb_role_switch_register(struct device return ERR_PTR(ret); } + if (dev_fwnode(&sw->dev)) { + ret = component_add(&sw->dev, &connector_ops); + if (ret) + dev_warn(&sw->dev, "failed to add component\n"); + } + + sw->registered = true; + /* TODO: Symlinks for the host port and the device controller. */ return sw; @@@ -399,11 -377,10 +410,12 @@@ EXPORT_SYMBOL_GPL(usb_role_switch_regis */ void usb_role_switch_unregister(struct usb_role_switch *sw) { - if (!IS_ERR_OR_NULL(sw)) { - sw->registered = false; - device_unregister(&sw->dev); - } + if (IS_ERR_OR_NULL(sw)) + return; ++ sw->registered = false; + if (dev_fwnode(&sw->dev)) + component_del(&sw->dev, &connector_ops); + device_unregister(&sw->dev); } EXPORT_SYMBOL_GPL(usb_role_switch_unregister);