diff options
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.patch | 33 |
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)) |