| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | From 96f35f42495918262455a6208d37e74609ae2c97 Mon Sep 17 00:00:00 2001 |
| 2 | From: Li Jun <jun.li@nxp.com> |
| 3 | Date: Mon, 19 Aug 2019 10:29:07 +0800 |
| 4 | Subject: [PATCH] usb: dwc3: set fwnode for role switch |
| 5 | |
| 6 | As the usb role switch use device connection which uses the fwnode |
| 7 | of dwc3 for match, so set the role switch fwnode to be the fwnode |
| 8 | of dwc3. |
| 9 | |
| 10 | Signed-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)) |