blob: 4da20802b259ff4d9ae9a91fa49c63f2fe68b7d5 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001From 96f35f42495918262455a6208d37e74609ae2c97 Mon Sep 17 00:00:00 2001
2From: Li Jun <jun.li@nxp.com>
3Date: Mon, 19 Aug 2019 10:29:07 +0800
4Subject: [PATCH] usb: dwc3: set fwnode for role switch
5
6As the usb role switch use device connection which uses the fwnode
7of dwc3 for match, so set the role switch fwnode to be the fwnode
8of dwc3.
9
10Signed-off-by: Li Jun <jun.li@nxp.com>
11---
12 drivers/usb/dwc3/drd.c | 3 ++-
13 1 file changed, 2 insertions(+), 1 deletion(-)
14
15--- a/drivers/usb/dwc3/drd.c
16+++ b/drivers/usb/dwc3/drd.c
17@@ -508,7 +508,7 @@ static enum usb_role dwc3_usb_role_switc
18 return role;
19 }
20
21-static const struct usb_role_switch_desc dwc3_role_switch = {
22+static struct usb_role_switch_desc dwc3_role_switch = {
23 .set = dwc3_usb_role_switch_set,
24 .get = dwc3_usb_role_switch_get,
25 };
26@@ -522,6 +522,7 @@ int dwc3_drd_init(struct dwc3 *dwc)
27 return PTR_ERR(dwc->edev);
28
29 if (device_property_read_bool(dwc->dev, "usb-role-switch")) {
30+ dwc3_role_switch.fwnode = dev_fwnode(dwc->dev);
31 dwc->role_switch = usb_role_switch_register(dwc->dev,
32 &dwc3_role_switch);
33 if (IS_ERR(dwc->role_switch))