aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/820-usb-0008-usb-dwc3-set-fwnode-for-role-switch.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/820-usb-0008-usb-dwc3-set-fwnode-for-role-switch.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/820-usb-0008-usb-dwc3-set-fwnode-for-role-switch.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0008-usb-dwc3-set-fwnode-for-role-switch.patch b/target/linux/layerscape/patches-5.4/820-usb-0008-usb-dwc3-set-fwnode-for-role-switch.patch
new file mode 100644
index 0000000000..4da20802b2
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/820-usb-0008-usb-dwc3-set-fwnode-for-role-switch.patch
@@ -0,0 +1,33 @@
+From 96f35f42495918262455a6208d37e74609ae2c97 Mon Sep 17 00:00:00 2001
+From: Li Jun <jun.li@nxp.com>
+Date: Mon, 19 Aug 2019 10:29:07 +0800
+Subject: [PATCH] usb: dwc3: set fwnode for role switch
+
+As the usb role switch use device connection which uses the fwnode
+of dwc3 for match, so set the role switch fwnode to be the fwnode
+of dwc3.
+
+Signed-off-by: Li Jun <jun.li@nxp.com>
+---
+ drivers/usb/dwc3/drd.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/usb/dwc3/drd.c
++++ b/drivers/usb/dwc3/drd.c
+@@ -508,7 +508,7 @@ static enum usb_role dwc3_usb_role_switc
+ return role;
+ }
+
+-static const struct usb_role_switch_desc dwc3_role_switch = {
++static struct usb_role_switch_desc dwc3_role_switch = {
+ .set = dwc3_usb_role_switch_set,
+ .get = dwc3_usb_role_switch_get,
+ };
+@@ -522,6 +522,7 @@ int dwc3_drd_init(struct dwc3 *dwc)
+ return PTR_ERR(dwc->edev);
+
+ if (device_property_read_bool(dwc->dev, "usb-role-switch")) {
++ dwc3_role_switch.fwnode = dev_fwnode(dwc->dev);
+ dwc->role_switch = usb_role_switch_register(dwc->dev,
+ &dwc3_role_switch);
+ if (IS_ERR(dwc->role_switch))