layerscape: add patches-5.4
[oweals/openwrt.git] / target / linux / layerscape / patches-5.4 / 820-usb-0008-usb-dwc3-set-fwnode-for-role-switch.patch
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))